On Mon, Nov 20, 2006 at 11:41:14PM +0100, Jens Granseuer wrote: > > Two ways, depending whether you want to crash server or client. > > > > Crashing server: > > [server] Start a server with any map (tested on RadioSilence, Anthill, > > Foxhole, ClippedWings). > > [client] Connect to the server, click on stop to disconnect while server > > takes turn. Confirm the 'connection broken' message > > [server] Complete turn normally, the error reports on end of turn. [cut client method] > > I don't understand this. For me, if the connection is lost, both players are > immediately kicked out. I can't "complete turn normally". This is what happens if I confirm the connection lost dialog after the second copy ends turn. If I confirm the dialog immediately, even before other side starts it's turn, they can proceed through turn normally. If you have any idea how to make a movie out of it, I could try and show exactly what happens. > The gdb stacktraces aren't very useful either, unfortunately. You'll have > to build crimson without optimisations and with debugging symbols to be > helpful. (CXXFLAGS="-O0 -g" ./configure --....) And please be sure to have > done a "make clean" beforehand. Something smells fishy here. Hope this one is better. Both server and client are unoptimized, though only server under gdb. And done even make distclean. Oh, the first signal is right after crimson shows it's window, but before anything is drawn in it (anything=background bitmap). That's why I consider it unimportant and omit the bt for it. And yes, I also smell something fishy. If noone but me can reproduce it, then I'll have to live with it, assuming it's due to the weirdness of my system. It doesn't hurt me during normal play at least ;) Torinthiel -- Waclaw "Torinthiel" Schiller GG#: 3073512 torinthiel(at)megapolis(dot)pl gpg: 0906A2CE fpr: EE3E DFB4 C4D6 E22E 8999 D714 7CEB CDDC 0906 A2CE "No classmates may be used during this examination"
GNU gdb 5.2.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "--host= --target=i686-pld-linux"... (gdb) run Starting program: /home/torinthiel/games/crimson/src/cf/crimson Program received signal SIG32, Real-time event 32. 0x40193e85 in sigsuspend () from /lib/libc.so.6 (gdb) c Continuing. Program received signal SIGPIPE, Broken pipe. 0x4023f282 in send () from /lib/libc.so.6 (gdb) bt #0 0x4023f282 in send () from /lib/libc.so.6 #1 0x400f1630 in SDLNet_TCP_Send () from /usr/X11R6/lib/libSDL_net-1.2.so.0 #2 0x08071f38 in TCPConnection::Send (this=0x8157010, buf=@0xbffff56c) at network.cpp:308 #3 0x0805a33b in Game::EndTurn (this=0x80fd838) at game.cpp:788 #4 0x0805eab0 in Game::WidgetActivated (this=0x80fd838, button=0x8166cc0, win=0x81572f0) at game.cpp:1922 #5 0x08078b9d in ButtonWidget::Activate (this=0x8166cc0) at ../common/button.cpp:190 #6 0x08078a36 in ButtonWidget::MouseUp (this=0x8166cc0, button=@0xbffff778) at ../common/button.cpp:131 #7 0x0808c2c5 in Widget::HandleEvent (this=0x8166cc0, event=@0xbffff778) at ../common/widget.cpp:115 #8 0x0808d4b2 in Window::HandleEvent (this=0x81572f0, event=@0xbffff778) at ../common/window.cpp:253 #9 0x0807c32d in MenuWindow::HandleEvent (this=0x81572f0, event=@0xbffff778) at ../common/extwindow.cpp:635 #10 0x0808bd49 in View::HandleEvents (this=0x80fd790) at ../common/view.cpp:260 #11 0x08068fe5 in main (argc=1, argv=0xbffff864) at main.cpp:132 #12 0x40182a21 in __libc_start_main () from /lib/libc.so.6 (gdb) c Continuing. Fatal signal: Broken Pipe (SDL Parachute Deployed) Program received signal SIG32, Real-time event 32. 0x40193e85 in sigsuspend () from /lib/libc.so.6 (gdb) bt #0 0x40193e85 in sigsuspend () from /lib/libc.so.6 #1 0x4039c5ff in pthread_getconcurrency () from /lib/libpthread.so.0 #2 0x403997fc in pthread_join () from /lib/libpthread.so.0 #3 0x40087dc3 in SDL_SYS_WaitThread () from /usr/X11R6/lib/libSDL-1.2.so.0 #4 0x40087b87 in SDL_WaitThread () from /usr/X11R6/lib/libSDL-1.2.so.0 #5 0x400491c0 in SDL_AudioQuit () from /usr/X11R6/lib/libSDL-1.2.so.0 #6 0x4004881d in SDL_QuitSubSystem () from /usr/X11R6/lib/libSDL-1.2.so.0 #7 0x40048893 in SDL_Quit () from /usr/X11R6/lib/libSDL-1.2.so.0 #8 0x40047d57 in SDL_UnloadObject () from /usr/X11R6/lib/libSDL-1.2.so.0 #9 0x4039c9b4 in pthread_kill () from /lib/libpthread.so.0 #10 0x40193d68 in sigaction () from /lib/libc.so.6 #11 0x08071f38 in TCPConnection::Send (this=0x8157010, buf=@0xbffff56c) at network.cpp:308 #12 0x0805a33b in Game::EndTurn (this=0x80fd838) at game.cpp:788 #13 0x0805eab0 in Game::WidgetActivated (this=0x80fd838, button=0x8166cc0, win=0x81572f0) at game.cpp:1922 #14 0x08078b9d in ButtonWidget::Activate (this=0x8166cc0) at ../common/button.cpp:190 #15 0x08078a36 in ButtonWidget::MouseUp (this=0x8166cc0, button=@0xbffff778) at ../common/button.cpp:131 #16 0x0808c2c5 in Widget::HandleEvent (this=0x8166cc0, event=@0xbffff778) at ../common/widget.cpp:115 #17 0x0808d4b2 in Window::HandleEvent (this=0x81572f0, event=@0xbffff778) at ../common/window.cpp:253 #18 0x0807c32d in MenuWindow::HandleEvent (this=0x81572f0, event=@0xbffff778) at ../common/extwindow.cpp:635 #19 0x0808bd49 in View::HandleEvents (this=0x80fd790) at ../common/view.cpp:260 #20 0x08068fe5 in main (argc=1, argv=0xbffff864) at main.cpp:132 #21 0x40182a21 in __libc_start_main () from /lib/libc.so.6 (gdb) q The program is running. Exit anyway? (y or n)
Attachment:
pgpa9NOGkfkib.pgp
Description: PGP signature