Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

s25client hangs up while attempting to kill the process on linux #336

Closed
stefson opened this issue Dec 24, 2015 · 7 comments
Closed

s25client hangs up while attempting to kill the process on linux #336

stefson opened this issue Dec 24, 2015 · 7 comments

Comments

@stefson
Copy link
Contributor

stefson commented Dec 24, 2015

minor issue in my opinion

on linux, when running s25client from console through gdb and while trying to kill it via Strg + C from within the console, the following is happening. Expected would be that the program either closes immediately or that there is an additional querey wether you really want to stop this programm (this is what the binary version is doing at least)

any additional informations required?

^C[New Thread 0x7fffeffad700 (LWP 30007)]

Program received signal SIGINT, Interrupt.
0x00007ffff636c12d in poll () from /lib64/libc.so.6
(gdb) bt
#0 0x00007ffff636c12d in poll () from /lib64/libc.so.6
#1 0x00007ffff7947814 in ?? () from /usr/lib64/opengl/nvidia/lib/libGL.so.1
#2 0x00007ffff5292c89 in ?? () from /usr/lib64/libnvidia-glcore.so.355.11
#3 0x00007ffff51c532e in ?? () from /usr/lib64/libnvidia-glcore.so.355.11
#4 0x00007ffff793edcd in ?? () from /usr/lib64/opengl/nvidia/lib/libGL.so.1
#5 0x00007ffff28dea19 in VideoSDL::SwapBuffers() ()

from /usr/games/lib64/s25rttr/video/libvideoSDL.so
#6 0x00000000004d56b2 in ?? ()
#7 0x00000000004241f5 in ?? ()
#8 0x00007ffff62ad7b0 in __libc_start_main () from /lib64/libc.so.6
#9 0x00000000004c3e99 in ?? ()

@stefson
Copy link
Contributor Author

stefson commented Dec 24, 2015

and I just learned that when typing continue from gdb after having created the backtrace, the game continues as if nothing had happend, haha :)

@Flow86
Copy link
Member

Flow86 commented Dec 24, 2015

yes, Ctrl+C (SIGINT) will be catched by gdb and not processed by the application itself when run inside debugger

https://sourceware.org/gdb/onlinedocs/gdb/Signals.html

@Flamefire
Copy link
Member

Can't see anything bad... Strange. Are you able to dig into this yourself so somehow get the point where it hangs? Probably by attaching after it is hanging...

@stefson
Copy link
Contributor Author

stefson commented Dec 24, 2015

Well, a normal case would be that the programm exits normally, wouldn't it?
Like this? Keyboard commands by me are in bold.

^C[Thread 0x7fffeb7a9700 (LWP 6056) exited]
Inferior 1 (process 6050) exited normally
(gdb) q

Actually I don't consider this to be a nasty one, just ran into it and wanted to let you know.

@Flamefire
Copy link
Member

It seems to be a bug but I cannot reproduce it here. I'll probably have to try in my Linux vm

@Flow86
Copy link
Member

Flow86 commented Jan 4, 2016

Well, a normal case would be that the programm exits normally, wouldn't it?

no, if you run inside the debugger, the debugger will catch the Ctrl+C (SIGINT) and will not give it to the application itself. you have to disable the ctrl+c processing inside the gdb ("handle sigint nostop") then the ctrl+c is passed to the application

@Flow86 Flow86 closed this as completed Jan 4, 2016
@Flamefire
Copy link
Member

There was a bug when you press CTRL+C at the exit screen ("Press ENTER to close") which is fixed now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants