[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