Comment 2 for bug 759016

Revision history for this message
Sergey Petrunia (sergefp) wrote :

First, the obvious:

> mysqld: misc.cpp:103: int __cxa_pure_virtual(): Assertion `!"Aborted: pure virtual method called."' failed.

The only misc.cpp we have is ./extra/yassl/taocrypt/src/misc.cpp which defines __cxa_pure_virtual() which C++ runtime calls when one calls virtual function.

Then, if one looks at stacktrace:

> /usr/sbin/mysqld(my_print_stacktrace+0x2e) [0x99e25e]
> /usr/sbin/mysqld(handle_segfault+0x382) [0x5ef952]
> /lib64/libpthread.so.0 [0x307740eb10]
> /usr/sbin/mysqld [0x8b81a1]
> /usr/sbin/mysqld [0x923e17]
> /usr/sbin/mysqld [0x8e603a]
> /usr/sbin/mysqld [0x888f34]
> /usr/sbin/mysqld(handler::read_range_next()+0x94) [0x6dbef4]

then they can see that the crash happens inside a storage engine. This is 5.2, it doesn't have index condition pushdown, so I guess the bad call is made by the storage engine (and not by call back to SQL layer).

Our most-used storage engines (Innodb/xtradb, Myisam, Aria, Heap) are written in C. The only engines that we build with that use C++ are PBXT and Oqgraph.