# TeamSpeak Runtime error



## BeautifulFish (Dec 12, 2009)

```
FISH# cd /usr/ports/audio/teamspeak_client/ && make install clean
===>  Vulnerability check disabled, database not found           
=> ts2_client_rc2_2032.tar.bz2 doesn't seem to exist in /usr/ports/distfiles/.
=> Attempting to fetch from ftp://ftp.freenet.de/pub/4players/teamspeak.org/releases/.
ts2_client_rc2_2032.tar.bz2                   100% of 7358 kB   91 kBps 00m00s        
=> setduplexfake.so.gz doesn't seem to exist in /usr/ports/distfiles/.                
=> Attempting to fetch from http://www.gsoft.com.au/~doconnor/.                       
setduplexfake.so.gz                           100% of 1929  B  243 kBps               
===>  Extracting for teamspeak_client-2.0.32_2                                        
=> MD5 Checksum OK for ts2_client_rc2_2032.tar.bz2.                                   
=> SHA256 Checksum OK for ts2_client_rc2_2032.tar.bz2.                                
=> MD5 Checksum OK for setduplexfake.so.gz.                                           
=> SHA256 Checksum OK for setduplexfake.so.gz.                                        
===>  Patching for teamspeak_client-2.0.32_2                                          
===>  Configuring for teamspeak_client-2.0.32_2                                       
===>  Installing for teamspeak_client-2.0.32_2                                        
===>   teamspeak_client-2.0.32_2 depends on file: /compat/linux/bin/sh - found        
===>   teamspeak_client-2.0.32_2 depends on file: /compat/linux/lib/libexpat.so.1 - found
===>   teamspeak_client-2.0.32_2 depends on file: /compat/linux/usr/lib/libfontconfig.so.1.3.0 - found
===>   teamspeak_client-2.0.32_2 depends on file: /compat/linux/usr/lib/libjpeg.so.62.0.0 - found
===>   teamspeak_client-2.0.32_2 depends on file: /compat/linux/usr/lib/libXrandr.so.2.1.0 - found
===>   Generating temporary packing list
===>  Checking if audio/teamspeak_client already installed
cd /usr/ports/audio/teamspeak_client/work/ts2_client_rc2_2032/setup.data/image &&  /usr/bin/find * -type d -exec /bin/mkdir -p "/usr/local
/lib/teamspeak_client/{}" \; &&  /usr/bin/find * -type f -exec install  -o root -g wheel -m 444 "{}" "/usr/local/lib/teamspeak_client/{}" \;
cd /usr/ports/audio/teamspeak_client/work/programs &&  /usr/bin/find * -type d -exec /bin/mkdir -p "/usr/local/lib/teamspeak_client/{}" \; &&  
/usr/bin/find * -type f -exec install   -o root -g wheel -m 555 "{}" "/usr/local/lib/teamspeak_client/{}" \;
install  -o root -g wheel -m 555 /usr/ports/audio/teamspeak_client/work/TeamSpeak /usr/local/bin
cd /usr/ports/audio/teamspeak_client/work/doc &&  /usr/bin/find * -type d -exec /bin/mkdir -p "/usr/local/share/doc/teamspeak_client/{}" \; 
&&  /usr/bin/find * -type f -exec install  -o root -g wheel -m 444 "{}" "/usr/local/share/doc/teamspeak_client/{}" \;
===>   Registering installation for teamspeak_client-2.0.32_2
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/lib/teamspeak_client/TeamSpeak.bin

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
http://www.teamspeak.org
===>  Cleaning for teamspeak_client-2.0.32_2
FISH# exit
[B][color="Red"]%TeamSpeak
Runtime error   0 at FFFFD678
Segmentation fault (core dumped)
%[/color][/B]
```


```
%uname -a
FreeBSD FISH.local.bsd 8.0-STABLE FreeBSD 8.0-STABLE #0: Sun Dec 13 00:57:33 EET 2009     [email]root@FISH.local.bsd[/email]:/usr/obj/usr/src/sys/GENERIC  amd64
%
```


----------



## winstonw (Apr 23, 2010)

*Same*


```
winstonw@ghetto-box:...rts/audio/teamspeak_client$ TeamSpeak                   
Runtime error   0 at FFFFD660
Segmentation fault
```


```
139|winstonw@ghetto-box:...rts/audio/teamspeak_client$ uname -a
FreeBSD ghetto-box.local 8.0-STABLE FreeBSD 8.0-STABLE #10: Fri Apr 16 17:24:21 CDT 2010     root@ghetto-box.local:/usr/obj/usr/src/sys/WINNIE  amd64
```


----------



## cbaoth (Nov 23, 2010)

ditto


```
% TeamSpeak
Runtime error   0 at FFFFD440
zsh: segmentation fault (core dumped)  TeamSpeak
```


```
% uname -a
FreeBSD puppet 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:36:49 UTC 2010
    root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
```


----------



## cbaoth (Nov 24, 2010)

It's not that important for me to get this running and I'm (sadly) not an expert on this, but I'll try a few more things out of curiosity.

First thing I discovered, is that there seems to be a problem with the setduplexfake.so. Here is the normal execution sequence that is run inside the TeamSpeak shell script with a trace call of the actual binary:


```
% TSHOME=/usr/local/lib/teamspeak_client
% cd $TSHOME
% export LD_LIBRARY_PATH=$TSHOME:$LD_LIBRARY_PATH
% export LD_PRELOAD=$TSHOME/setduplexfake.so
% truss -d ./TeamSpeak.bin
/libexec/ld-elf.so.1: /usr/local/lib/teamspeak_client/setduplexfake.so: unsupported file layout
```

So it seems that a normal execution attempt will just fail because of this (results in a seg vault).


```
file TeamSpeak.bin
TeamSpeak.bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
```

When I avoide setduplexfake.so (LD_PRELOAD="") I get a long trace with a final SIGSEGV.


```
...
0.019242948 linux_open("/compat/linux/lib/tls/libuuid.so.1",0x0,05012541156) ERR#2 'No such file or directory'
0.019323405 linux_open("/compat/linux/lib/libuuid.so.1",0x0,05012541156) = 3 (0x3)
0.019359443 read(3,"\^?ELF\^A\^A\^A\0\0\0\0\0\0\0\0"...,512) = 512 (0x200)
0.019404142 linux_fstat64(0x3,0xffffc930,0x282c4fd0,0x3,0x2,0x6) = 0 (0x0)
0.019450796 linux_mmap2(0x0,0x31f4,0x5,0x802,0x3,0x6) = 684945408 (0x28d37000)
0.019494377 linux_mmap2(0x28d3a000,0x1000,0x3,0x812,0x3,0x6) = 684957696 (0x28d3a000)
0.019542428 close(3)                             = 0 (0x0)
0.019831012 linux_mprotect(0x28cf0000,0x1000,0x1,0x82f5de8,0x82f5de8,0x6) = 0 (0x0)
0.019891075 linux_mprotect(0x28589000,0x64e000,0x3,0x0,0x28589034,0x6) = 0 (0x0)
0.073772225 linux_mprotect(0x28589000,0x64e000,0x5,0x0,0x82f5840,0x6) = 0 (0x0)
0.073925317 linux_pipe(0x82da538,0x0,0x0,0x814aecc,0x96,0x6) = 0 (0x0)
0.073925317 SIGNAL 11 (SIGSEGV)
0.073994600 linux_rt_sigreturn(0xffffd3f8,0xffffd40c,0xffffd40c,0x814aecc,0x96,0x6) = 137007103 (0x82a8fff)
Runtime error   0 at FFFFD4680.074087908 write(2,"Runtime error   0 at FFFFD468",29) = 29 (0x1d)

0.074128136 write(2,"\n",1)                      = 1 (0x1)
0.074128136 SIGNAL 11 (SIGSEGV)
0.074183730 linux_rt_sigreturn(0xffffd338,0xffffd34c,0xffffd34c,0x814aecc,0x82d9c60,0x6) = 675084432 (0x283cf890)
0.074291286 linux_rt_sigaction(0x2,0x0,0xffffd1ec,0x8,0x283deff4,0x6) = 0 (0x0)
0.074331793 linux_rt_sigaction(0x2,0xffffd310,0x0,0x8,0x283deff4,0x6) = 0 (0x0)
0.074371743 linux_rt_sigaction(0x8,0x0,0xffffd1ec,0x8,0x283deff4,0x6) = 0 (0x0)
0.074410854 linux_rt_sigaction(0x8,0xffffd310,0x0,0x8,0x283deff4,0x6) = 0 (0x0)
0.074451362 linux_rt_sigaction(0xb,0x0,0xffffd1ec,0x8,0x283deff4,0x6) = 0 (0x0)
0.074491032 linux_rt_sigaction(0xb,0xffffd310,0x0,0x8,0x283deff4,0x6) = 0 (0x0)
0.074537127 linux_rt_sigaction(0x4,0x0,0xffffd1ec,0x8,0x283deff4,0x6) = 0 (0x0)
0.074576238 linux_rt_sigaction(0x4,0xffffd310,0x0,0x8,0x283deff4,0x6) = 0 (0x0)
0.074615908 linux_rt_sigaction(0x7,0x0,0xffffd1ec,0x8,0x283deff4,0x6) = 0 (0x0)
0.074655019 linux_rt_sigaction(0x7,0xffffd310,0x0,0x8,0x283deff4,0x6) = 0 (0x0)
0.074693851 linux_rt_sigaction(0x3,0x0,0xffffd1ec,0x8,0x283deff4,0x6) = 0 (0x0)
0.074733521 linux_rt_sigaction(0x3,0xffffd310,0x0,0x8,0x283deff4,0x6) = 0 (0x0)
0.074733521 SIGNAL 11 (SIGSEGV)
0.074733521 process exit, rval = 0
```

I hope I read the trace correctly; as far as I see it, all libs are loaded correctly. But I'm not sure what to make of this error, it may be related to the missing setduplexfake.so.


----------



## cbaoth (Nov 24, 2010)

My first interpretation seems to be false. When I set LD_PRELOAD_32=$TSHOME/setduplexfake.so, which doesn't force setduplexfake.so to be preloaded before running truss (the case in my previous test), I run into the the same error in truss/ktrace. So it looks like it has nothing to do with setduplexfake.so at all.


----------

