Author Topic: Gentoo tremulous sporadically recieves signal 11 [SOLVED]  (Read 5219 times)

F50

  • Posts: 740
  • Turrets: +16/-26
Gentoo tremulous sporadically recieves signal 11 [SOLVED]
« on: May 25, 2009, 12:19:31 am »
Hi I'm running tremulous on a gentoo x86_64 system. Every once in a while I get random-ish segfaults (I cannot reliably reproduce the problem), usually they occur several times in a row (received signal 11, exiting).

I mostly experience it on MGDEV and PureTremulous, but I now after having this happen on AA on one of the rare occasions it was playing arachnid2, I suspect this is map related and that PureTremulous and MGDEV experience this more often because they don't stick to ATCS as much ;). While I cannot be sure, it *seems* to happen most on arachnid2. I haven never had this happen on ATCS or any other "small" map like Tremor or Nano (though bear in mind that this may be a coincidence).


Another thread that solved a similar problem a long time ago:  http://tremulous.net/forum/index.php?topic=2585.0
The problem was solved by installing certain (now old) versions of libsdl and glibc. The versions of libsdl and glibc that I am currently running are:

libsdl-1.2.13-r1
glibc-2.8_p20080602-r1

For the most part this is bearable, but very annoying.

Thanks guys.
« Last Edit: May 27, 2009, 08:45:43 pm by F50 »
"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law


bacon665

  • Posts: 180
  • Turrets: +12/-186
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #1 on: May 25, 2009, 01:34:10 am »
2.8 is old and R is usually release candidate.
im hoping to god you have performed build world at least once and have rid yourself of binary packages and that you compiled trem on your install. otherwise you pretty much undermined the purpose of gentoo

F50

  • Posts: 740
  • Turrets: +16/-26
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #2 on: May 25, 2009, 02:41:52 am »
My system is up to date according to an emerge --sync and an emerge --newuse -uvD world

The only binary package I have is firefox. Tremulous was compiled via "emerge tremulous"
"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law


bacon665

  • Posts: 180
  • Turrets: +12/-186
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #3 on: May 25, 2009, 04:12:01 am »
that cant possibly be.
2.10.1 is in the archive so the newest version is something above that.
http://ftp.gnu.org/gnu/glibc/
have you got any custom overlays?
if you have and you emerged something you may have updated a dependancy that wasnt backwards compatable. or downgraded one
back up your guid and re emerge trem.
also what ebuild target are you using?

kevlarman

  • Posts: 2737
  • Turrets: +291/-295
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #4 on: May 25, 2009, 05:06:30 am »
My system is up to date according to an emerge --sync and an emerge --newuse -uvD world

The only binary package I have is firefox. Tremulous was compiled via "emerge tremulous"
you shouldn't use a tremulous 1.1 client. also, please provide a backtrace of one of the crashes (there's an old bug that's rediculously hard to reproduce that sounds *exactly* like what you're describing, but it doesn't affect mgdev's cgame afaik)
Quote from: Asvarox link=topic=8622.msg169333#msg169333
Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

F50

  • Posts: 740
  • Turrets: +16/-26
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #5 on: May 26, 2009, 05:19:32 am »
No custom overlays, sys-libs/glibc-2.10.1 is masked by the ~amd64 keyword, as presumably, are any higher versions. I'm afraid I don't know offhand what an ebuild-target is (sounds like the place where the files are downloaded/complied?).


I was having trouble retrieving a backtrace using the first part of the tutorial here: https://wiki.ubuntu.com/Backtrace

This was due to the fact that tremulous traps the mouse inside its window (for good reasons) and leaves me no way to get out of it and into the gdb terminal. I tried the automated script and it worked. Also it is staring to seem reproducible. It seems to segfault if I kill an alien (as human) on arachnid2 (at least the last two segfaults happened the this way: once on D*S and once on KoR Layouts). I'll also try to get this to happen on Saturday if possible.

Finally: all of this is moot If I can find a better tremulous package through emerge that does not experience this problem.

here is the backtrace (it doesn't look useful to me though):
Code: [Select]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread 0x7fb310a4d6f0 (LWP 6474)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[New Thread 0x4189b950 (LWP 6478)]
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fb310a4d6f0 (LWP 6474)]
0x0000000000471615 in ?? ()
#0  0x0000000000471615 in ?? ()
No symbol table info available.
#1  0x0000000000481815 in ?? ()
No symbol table info available.
#2  0x000000000048069f in ?? ()
No symbol table info available.
#3  0x000000000047eff0 in ?? ()
No symbol table info available.
#4  0x00000000004672aa in ?? ()
No symbol table info available.
#5  0x00000000004676b2 in ?? ()
No symbol table info available.
#6  0x00000000004677a0 in ?? ()
No symbol table info available.
#7  0x000000000046cfcf in ?? ()
No symbol table info available.
#8  0x000000000041517a in ?? ()
No symbol table info available.
#9  0x0000000000411ca5 in ?? ()
No symbol table info available.
#10 0x00000000004294be in ?? ()
No symbol table info available.
#11 0x000000000049102d in ?? ()
No symbol table info available.
#12 0x00007fb30f5de486 in __libc_start_main () from /lib/libc.so.6
No symbol table info available.
#13 0x0000000000403929 in ?? ()
No symbol table info available.
#14 0x00007fff18a6e958 in ?? ()
No symbol table info available.
#15 0x000000000000001c in ?? ()
No symbol table info available.
#16 0x0000000000000001 in ?? ()
No symbol table info available.
#17 0x00007fff18a701e1 in ?? ()
No symbol table info available.
#18 0x0000000000000000 in ?? ()
No symbol table info available.
rax            0xffffffff80000000       -2147483648
rbx            0x7fff18a6a6bc   140733606962876
rcx            0x4      4
rdx            0x4      4
rsi            0x105e3d0        17163216
rdi            0x7fff18a6a6c8   140733606962888
rbp            0x1      0x1
rsp            0x7fff18a6a6a8   0x7fff18a6a6a8
r8             0xd899ffffd899ffff       -2838956615764672513
r9             0x10     16
r10            0x1      1
r11            0x7fb30315eb40   140406827641664
r12            0x1060300        17171200
r13            0x7fb30a49d940   140406948485440
r14            0x2d     45
r15            0x0      0
rip            0x471615 0x471615 <SDL_EnableUNICODE@plt+449829>
eflags         0x10247  [ CF PF ZF IF RF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0
gs             0x0      0
fctrl          0x37f    895
fstat          0x20     32
ftag           0xffff   65535
fiseg          0x0      0
fioff          0x0      0
foseg          0x0      0
fooff          0x0      0
fop            0x0      0
mxcsr          0x1fbf   [ IE DE ZE OE UE PE IM DM ZM OM UM PM ]

Thread 2 (Thread 0x4189b950 (LWP 6478)):
#0  0x00007fb30f687736 in poll () from /lib/libc.so.6
#1  0x00007fb30157c2ae in ?? () from /usr/lib/libasound.so.2
#2  0x00007fb30157c617 in ?? () from /usr/lib/libasound.so.2
#3  0x00007fb301586dbb in snd_pcm_mmap_writei () from /usr/lib/libasound.so.2
#4  0x00007fb31062949d in ?? () from /usr/lib/libSDL-1.2.so.0
#5  0x00007fb3105fd28e in ?? () from /usr/lib/libSDL-1.2.so.0
#6  0x00007fb3106049a7 in ?? () from /usr/lib/libSDL-1.2.so.0
#7  0x00007fb3106380e9 in ?? () from /usr/lib/libSDL-1.2.so.0
#8  0x00007fb3103df037 in start_thread () from /lib/libpthread.so.0
#9  0x00007fb30f69003d in clone () from /lib/libc.so.6
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb310a4d6f0 (LWP 6474)):
#0  0x0000000000471615 in ?? ()
#1  0x0000000000481815 in ?? ()
#2  0x000000000048069f in ?? ()
#3  0x000000000047eff0 in ?? ()
#4  0x00000000004672aa in ?? ()
#5  0x00000000004676b2 in ?? ()
#6  0x00000000004677a0 in ?? ()
#7  0x000000000046cfcf in ?? ()
#8  0x000000000041517a in ?? ()
#9  0x0000000000411ca5 in ?? ()
#10 0x00000000004294be in ?? ()
#11 0x000000000049102d in ?? ()
#12 0x00007fb30f5de486 in __libc_start_main () from /lib/libc.so.6
#13 0x0000000000403929 in ?? ()
#14 0x00007fff18a6e958 in ?? ()
#15 0x000000000000001c in ?? ()
#16 0x0000000000000001 in ?? ()
#17 0x00007fff18a701e1 in ?? ()
#18 0x0000000000000000 in ?? ()
The program is running.  Exit anyway? (y or n) [answered Y; input not from terminal]

EDIT: I discovered something...disturbing.

Code: [Select]
emerge -pv =tremulous-1.1.0-r2

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] games-fps/tremulous-1.1.0-r2  USE="opengl vorbis -dedicated -openal" 0 kB                                                                       

locate tremulous |grep ebuild

/var/db/pkg/games-fps/tremulous-1.1.0-r2/tremulous-1.1.0-r2.ebuild
/usr/portage/games-fps/tremulous/tremulous-1.1.0-r2.ebuild
/usr/portage/games-fps/tremulous/tremulous-1.1.0-r3.ebuild

emerge -pv =tremulous-1.1.0-r3

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "=games-fps/tremulous-1.1.0-r3" have been masked.
!!! One of the following masked packages is required to complete your request:
- games-fps/tremulous-1.1.0-r3 (masked by: ~amd64 keyword)

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook


I am running games-fps/tremulous-1.1.0-r2


If there was a bug similar to this fixed between r2 and r3, it would explain why most people aren't getting this bug...


EDIT2: Bug occurred again on D*S on transit as alien (without touching human)
« Last Edit: May 26, 2009, 05:36:37 am by F50 »
"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law


Amanieu

  • Posts: 647
  • Turrets: +135/-83
    • Amanieu
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #6 on: May 26, 2009, 08:15:54 am »
Known bug, fixed in Tremfusion. I tried to track this one a long time ago, but I never found the root cause. It appears to be caused by some blood particles having a NaN origin.
Quote
< kevlarman> zakk is getting his patches from shady frenchmen on irc
< kevlarman> this can't be a good sign :P

kevlarman

  • Posts: 2737
  • Turrets: +291/-295
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #7 on: May 26, 2009, 05:04:10 pm »
that's still a 1.1 client, which you shouldn't be using, at the very least you should use the trem-servers client (they have an ebuild for it) for the x86_64 jit compiler. like amanieu said, tremfusion has a workaround for this bug, and i've never had it happen to me with mgclient.
Quote from: Asvarox link=topic=8622.msg169333#msg169333
Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

bacon665

  • Posts: 180
  • Turrets: +12/-186
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #8 on: May 26, 2009, 06:22:57 pm »
You should change to trem fusion but since your on gentoo i feel you will need to know how to unmask later.
Quote
It should be clear by now that unmasking many packages can be time-consuming and annoying, but fear not! The "autounmask" utility makes this whole process painless. First, install the utility by doing:

# emerge app-portage/autounmask

Now, to unmask kde-3.5.8 and friends, simply run:

# autounmask kde-base/kde-3.5.8

autounmask version 0.21 (using PortageXS-0.02.07 and portage-2.1.3.19)

* Using repositories:
/usr/portage
/usr/portage/local/layman/sunrise
/usr/portage/local/layman/gentopia
/usr/local/portage

* Using package.keywords file: /etc/portage/package.keywords
* Using package.unmask file: /etc/portage/package.unmask

* Unmasking kde-base/kde-3.5.8 and its dependencies.. this might take a while..

* Added '=kde-base/kde-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdelibs-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdelibs-3.5.8-r1 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdelibs-3.5.8-r2 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdelibs-3.5.8-r3 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdemultimedia-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdemultimedia-3.5.8-r1 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdepim-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdebase-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdebase-3.5.8-r1 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdebase-3.5.8-r2 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdebase-3.5.8-r3 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdebase-3.5.8-r4 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdebase-3.5.8-r5 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdebase-3.5.8-r6 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdenetwork-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdegames-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdeartwork-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdeaddons-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/arts-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdeedu-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdetoys-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdeutils-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdeutils-3.5.8-r1 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdewebdev-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdewebdev-3.5.8-r1 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdeadmin-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdegraphics-3.5.8 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdegraphics-3.5.8-r1 ~x86' to /etc/portage/package.keywords
* Added '=kde-base/kdegraphics-3.5.8-r2 ~x86' to /etc/portage/package.keywords
* done!

As you can see, autounmask figured out all dependencies required by kde-3.5.8 and unmasked them. KDE 3.5.8 can now be installed by typing "emerge =kde-base/kde-3.5.8"
Quote

Thats the easy way.

an Ebuild is LIKE a binary package except its source code. and its stored in a repository like one.
when you emerge something your emerging an ebuild.

an Ebuild target is like debian stable testing unstable
it tells portage how to configure and which packages should be unmasked or whatever.
Seems that gentoo sees R3 as unstable or testing software which is why its masked.
but thats not however a bad thing. It means its available.


My suggestion on tremfusion is to follow their guide on building from source here http://www.tremfusion.net/wiki/Building_from_source
(if that link gets messed up click wiki then click source code and then in the bottom of the paragraph theres a link to the guide)

F50

  • Posts: 740
  • Turrets: +16/-26
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #9 on: May 26, 2009, 07:08:54 pm »
Ok, I emerged the trem-servers client, but still get the bug. I'll try the tremfusion ebuild. If anyone else is trying to do this as well, I found a nice tutorial on using the ebuild here: http://linuxreviews.org/gentoo/ebuilds/

Also, I found a tremfusion ebuild here: http://bugs.gentoo.org/265048

I'll try it and see what happens.

EDIT:

Tremfusion as installed by the ebuild is looking for ui/maps.txt and can't find it


I also tried to install tremfusion by the (not from source) instructions on their website and it also fails: "Couldn't find game data". I'm not sure what it is looking for but tremulous loads vms-1.1.t971.pk3 next. It could potentially refer to trefusion-base.pk3 as well but the error message is a bit broad.
« Last Edit: May 27, 2009, 02:05:38 am by F50 »
"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law


Ender

  • Posts: 44
  • Turrets: +12/-16
    • TremFusion
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #10 on: May 27, 2009, 05:11:29 pm »
You may want to take up this discussion at the TremFusion forums - sometimes the Tremulous people get tired of seeing TremFusion-specific things on their forum. You can find us at tremfusion.net/forum.

F50

  • Posts: 740
  • Turrets: +16/-26
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #11 on: May 27, 2009, 07:39:30 pm »
Good point. Anyways, with a bit of help from IRC that kept me from looking for files that are hidden in .pk3s I managed to figure it out for the most part. I just can't seem to figure out how to set fs_basepath permanently (tremfusion has it set to present working directory, which is...not good). I know that there used to be a problem where fs_basepath wasn't set properly in a tremulous binary package, so I hope there is some way to set it. However, that is not strictly necessary (I can just have a script run it with the appropriate command line argument to "fix" it). EDIT: its not possible, I'll  just write the bash script.

By the way, in case the tremfusion client becomes unusable on pure tremulous servers (it seems like that is the intention) where can I get the mgclient? I've looked all over for it and I can't even find a source package, much less an ebuild or .deb.



Thanks for all the help, I'm marking this solved since this should be fixed in other clients. However, I would like to urge the developers to add an updated client into the main release! Yes, it will come with 1.2, but while there has been lots of progress in that respect, I think no one is really sure when 1.2 will be done.
« Last Edit: May 27, 2009, 08:08:34 pm by F50 »
"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law


David

  • Spam Killer
  • *
  • Posts: 3543
  • Turrets: +249/-273
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

kevlarman

  • Posts: 2737
  • Turrets: +291/-295
Re: Gentoo tremulous sporadically recieves signal 11
« Reply #13 on: May 27, 2009, 10:19:58 pm »
Good point. Anyways, with a bit of help from IRC that kept me from looking for files that are hidden in .pk3s I managed to figure it out for the most part. I just can't seem to figure out how to set fs_basepath permanently (tremfusion has it set to present working directory, which is...not good). I know that there used to be a problem where fs_basepath wasn't set properly in a tremulous binary package, so I hope there is some way to set it. However, that is not strictly necessary (I can just have a script run it with the appropriate command line argument to "fix" it). EDIT: its not possible, I'll  just write the bash script.

By the way, in case the tremfusion client becomes unusable on pure tremulous servers (it seems like that is the intention) where can I get the mgclient? I've looked all over for it and I can't even find a source package, much less an ebuild or .deb.



Thanks for all the help, I'm marking this solved since this should be fixed in other clients. However, I would like to urge the developers to add an updated client into the main release! Yes, it will come with 1.2, but while there has been lots of progress in that respect, I think no one is really sure when 1.2 will be done.
you shouldn't have to set fs_basepath, and the client should never go in a /bin folder. put the client where it expects to find the data and a shell script to start it in /usr/local/bin (or /usr/bin or /opt/ or wherever you prefer).
Quote from: Asvarox link=topic=8622.msg169333#msg169333
Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

F50

  • Posts: 740
  • Turrets: +16/-26
Re: Gentoo tremulous sporadically recieves signal 11 [SOLVED]
« Reply #14 on: May 28, 2009, 12:20:31 am »
If you say so. However "emerge tremulous" most certainly *does* put the tremulous executable /usr/games/bin. /usr/share/games/tremulous/  contains nothing except the folder "base" which does not contain any executables. Oddly enough, it seems that the default path looks in the directory you are in, as cd /usr/share/games/tremulous and running the executable (regardless of where the executable is) does work without creating a script. Also, all of the other files in /usr/bin or /usr/games/bin appear to be binary files.
"Any sufficiently advanced stupidity is indistinguishable from malice." -- Grey's Law