-
Notifications
You must be signed in to change notification settings - Fork 709
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
My REST API server just crashes leaving no backtrace #1149
Comments
Hey @iusmanzaman. Sorry to hear about your troubles. I'm not sure what a kernel signal handler is or what it's for, but you shouldn't need to write anything by hand in order to obtain a stacktrace. Make sure you have the Pistache debugging symbols package installed on the machine you want to examine the stack trace from and that it corresponds with exactly the same version of the library binary used in the container. When your application crashes on Ubuntu Apport should have generated a crash dump in /var/crash. To unpack the dump and examine with gdb(1) run the following:
|
Thanks @kiplingw |
Once your docker is running, can you connect to it and attach GDB to the already running process, resume the execution and wait for it to crash again? Something like If the docker image doesn't have what you need to connect to it, then run GDB from the host; you can still attach to a process inside a docker container. |
Hi @dennisjenkins75 and @kiplingw This is one of the thread's bt
I don't know if this helps you in figuring out the issue. For me it doesn't. I can send bt of all threads too if you want.
Do you recommend I upgrade the version? |
I may be misreading the backtrace, but this seems to be caused by a std::shared_ptr destructor. Since it is reference counted I doubt this is a double-free or something similar - maybe it is just a bug in the old libstdc++ you're using? |
I have a pistache REST API server running with 4 threads to handle new requests.
The entire server is running in a docker container.
Normal behavior: In case of a crash, I have implemented a kernel_signal_handler and a backtrace also gets printed on console.
Following signals are caught:
SIGSEGV
SIGFPE
SIGILL
SIGTERM
SIGINT
SIGABRT
SIGUSR1
SIGUSR2
Observed behavior:
Need HELP please. Thanks a lot.
The text was updated successfully, but these errors were encountered: