[odb-users] ODB or mysql crash issue
Scott Zhang
macromarship at gmail.com
Tue Jul 12 09:27:04 EDT 2016
Thanks Boris for replying.
The problem I found is with the log library I used "
https://github.com/gabime/spdlog", looks use it down performance and
introduce heap corruption. Not sure why, after I remove it, code works
fine. Server runs for over 1 day without any crash issue.
On Thu, Jul 7, 2016 at 8:03 PM, Boris Kolpackov <boris at codesynthesis.com>
wrote:
> Hi Scott,
>
> Scott Zhang <macromarship at gmail.com> writes:
>
> > Now we get a problem is periodly we get db connection crash which calls
> > 'abort" so our program crashed following.
> > the gdb's bt dump is :
> >
> > #0 0x00000038d8232625 in raise () from /lib64/libc.so.6
> > #1 0x00000038d8233e05 in abort () from /lib64/libc.so.6
> > #2 0x00000038d8270537 in __libc_message () from /lib64/libc.so.6
> > #3 0x00000038d8275e66 in malloc_printerr () from /lib64/libc.so.6
> > #4 0x00000038d8279cdf in _int_malloc () from /lib64/libc.so.6
> > #5 0x00000038d827a751 in malloc () from /lib64/libc.so.6
> > #6 0x00007f5e07d4ed72 in my_malloc (size=240, my_flags=16) at
> my_malloc.c:37
> >
> > [...]
>
> From the stack trace it looks like malloc() is trying to print some
> diagnostics (malloc_printerr()) which itself leads to some kind of
> error. Some ideas:
>
> 1. Could it be that writing to STDERR leads to an abort()? E.g., it is
> a daemon with nothing attached to STDERR.
>
> 2. Could it be that you are running out of memory and even the diagnostics
> printing can't be done?
>
> 3. It could be that the heap is corrupt though I would expect malloc() to
> still succeed in printing the diagnostics.
>
> Could you load the debug symbols for libc.so.6 (not sure how this is done
> on CentOS), so that we get more information?
>
> Boris
>
More information about the odb-users
mailing list