PlaneShift

Support => Linux Specific Issues => Topic started by: Velh Krome on July 07, 2008, 11:37:06 pm

Title: Random client collapsing
Post by: Velh Krome on July 07, 2008, 11:37:06 pm
First off, there's unfortunately very limited information I can give about it, I will however try to give as many hints as possible.

Basically, my client just shuts down. Simple as that. I compared shell's output from a proper, intended shutdown and such a collapse: A proper shutdown shows "psEngine destroyed", a collapse just brings nothing. Nothing happens but my cursor shows up again.

I tried to observe if its somehow connected to multitasking, since I am always running windowed mode. After dozens of crashs I am evaluating chances multitasking was involved 50:50.

I noticed with a very unstable and laggy server it may crash about 5-10x an hour that way, with a stable server so far around 1-2x.

I connected my client to my private server which runs on another machine. There were no crashes at all, I tried to multitask as heavily as possible.

Finally, my specs:
Code: [Select]
infobash -v3
Host/Kernel/OS  "booky" running Linux 2.6.25-4.slh.8-sidux-686 i686 [ sidux 2007-04 - Έρως preview 1 - kde-lite - (200710292059) ]
CPU Info        (1) Intel Core2 T7200 @ 4096 KB cache flags( sse3 nx lm vmx ) clocked at [ 996.000 MHz ]
                (2) Intel Core2 T7200 @ 4096 KB cache flags( sse3 nx lm vmx ) clocked at [ 996.000 MHz ]
Videocard       nVidia GeForce Go 7700  X.Org 1.4.2  [ 1440x900@50.0hz ]
Network cards   Intel PRO/Wireless 3945ABG Network Connection
                Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller, at port: c800
Processes 131 | Uptime 9:13 | Memory 510.8/2027.2MB | HDD ATA ST9120822AS Size 120GB (79%used) | GLX Renderer GeForce Go 7700/PCI/SSE2 | GLX Version 2.1.2 NVIDIA 169.12 | Client Shell | Infobash v3.01
(I am not Preloading Models)
I had the previous client updated by ./psupdater and no errors ever occured other than md5sum of my characters.zip failed due to some custom changes I made to it. The updater however replaced that file by a newly downloaded one.

I am not expecting anyone knowing specifically whats going wrong here, but maybe someone else experienced the same, maybe even found something to avoid/fix it? However, gladly taking any advice into account  \\o//
Title: Re: Random client collapsing
Post by: Caarrie on July 07, 2008, 11:42:32 pm
do you have a debug build? if so you can run your psclient in gdb and get a back trace that will tell us much more about what is going on.
Title: Re: Random client collapsing
Post by: Velh Krome on July 07, 2008, 11:49:23 pm
Assuming you mean "psclient.dbg", unfortunately not, I am always connecting to Laanx with the standard client, and that executable is not present in my install folder. (I can see it though in the folder of my compiled server/client on my other machine).
I tried "strace ./psclient", but it slows down the whole thing that much that even rotating characters on the char-choice screen stutter badly, for I quit that.

EDIT:
Any chance that the client became much more sensitive on corrupted packets returning or such? (Yep, a wild guess revealing I have just no clue  ;D)
Title: Re: Random client collapsing
Post by: Prolix on July 08, 2008, 12:06:13 am
I had one inexplicable crash today. I also had a few windows open and was rapidly pressing a couple movement buttons at the time climbing one of the DR spirals. I thought it might have something to do with keypresses but this might be unrelated completely. It was a single event and not repeated.
Title: Re: Random client collapsing
Post by: Velh Krome on July 08, 2008, 12:12:12 am
Not really a chance I think. Today it crashes several times while auto-walking ojaroads.

What puzzles me is, that theres no error message. The way it crashes I would have expected a segfault or such, but simply nothing - would that limit possible reasons?
Title: Re: Random client collapsing
Post by: Zetsumei on July 08, 2008, 02:01:36 am
It's not a linux specific issue; I have the same problem, and I'm on Windows XP.
Title: Re: Random client collapsing
Post by: Birot on July 08, 2008, 02:20:43 am
Same problem here and i run Mac 10.5.4
Title: Re: Random client collapsing
Post by: Caarrie on July 08, 2008, 02:32:37 am
sounds like it might be related to http://www.hydlaa.com/flyspray_upgrade/index.php?do=details&task_id=1817 or some other map related bug.
Title: Re: Random client collapsing
Post by: Sen on July 08, 2008, 08:26:25 am
It seems to happen to me near some of the corridors (or possibly just map borders?)

still asleep
Sen
Title: Re: Random client collapsing
Post by: Zwenze on July 08, 2008, 11:26:25 am
I had several crashes as reported above and run a own built client in gdb. http://www.hydlaa.com/flyspray_upgrade/index.php?do=details&task_id=1881

That was very late at night, and my first conclusion was obviously wrong. "newSectors" was set, but the object it is pointing too might have been trashed due to some memory error. I try to investigate a bit and reproduce. But as my machine is not the fastest, running the client in a memory debugging tool (I use valgrind for that) is rather painful, as valgrind executes the code in a virtual machine and slows things down to a point of unplayability.

Here is what you can do to get more detailed information on a crash in a gnu/linux environment:
Build your own client with full debugging support.
http://planeshift.svn.sourceforge.net/viewvc/*checkout*/planeshift/trunk/docs/compiling.html

Add "--enable-debug" to the parameters of the ./configure invokations in cs, cel and planeshift. and do
> export CFLAGS="-O0 -ggdb -Wall -fno-inline -pipe"
before.  This will add as much debugging infos as possible and will prevent the compiler to do any code inlining and other optimizations which can make the backtraces hard to read. The back draw is that the client will be a bit slower, but to a point where it is still very good playable (thanks to the art and code optimizations done for this build).

To launch the client then type
> gdb ./psclient
> run

This will run your client inside a debugger, but there will be no effect in speed it all as the code is executed natively. If the client then crashes, it will just stop. Then you can type "bt". This should lead to a detailed output what function calls lead to the position of the crash.

Testing on your own client is a good idea, but Laanx might cause crashes in your client, because other players do things you would never have thought off like wearing a torch, dropping some unusual items e.t.c.

I have no good idea so far what causes this and no idea how to avoid it, working on it.
Title: Re: Random client collapsing
Post by: Velh Krome on July 08, 2008, 12:37:55 pm
I thought I give compiling the client a try, optimistical after it ran through flawlessly on my other machine.. but it already fails at compiling cs with given options:

Code: [Select]
[..]
./out/linuxx86/debug/libs/libcrystalspace-1.4.so -lz -lpthread -lm -ldl -lnsl -L/usr/local/lib -Wl,-z,defs -Wl,--warn-unresolved-symbols -Wl,-E -g3

...failed LinkApplication walktest ...
...failed updating 1 target(s)...

Unfortunately I dont have the time to fiddle around with it until a successful attempt..

[Post drastically cut due to "Forbidden"-message]

EDIT:
Trying to add some details..
Code: [Select]
[..]
LinkApplication walktest
g++: ./out/linuxx86/debug/apps/walktest/command.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/walktest.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/walkcmd.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/walkdemo.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/wentity.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/bot.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/walkcd.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/keys.o: Datei oder Verzeichnis nicht gefunden
g++: ./out/linuxx86/debug/apps/walktest/walkdbg.o: Datei oder Verzeichnis nicht gefunden
[..]
...failed LinkApplication walktest ...
...failed updating 1 target(s)...
Code: [Select]
./out/linuxx86/debug$ ll
insgesamt 8
drwxr-xr-x  7 phen phen 4096  8. Jul 12:19 libs
drwxr-xr-x 25 phen phen 4096  8. Jul 12:09 plugins
Title: Re: Random client collapsing
Post by: Xanthan on July 15, 2008, 11:57:06 pm
On the off chance this might help you, I've found that I can always make the client work (i.e. not crash) by running it from within gdb and with the --verbose flag.  If I don't do both of those things, it crashes with a segmentation fault before I am completely in-game.
Title: Re: Random client collapsing
Post by: Orgonwukh on July 16, 2008, 08:13:54 pm
I observed the same sort of collapses on Vista. Mostly it happened when I clicked on something in the client window.