今天,我面临一些类似情况。
*** glibc detected *** /usr/lib/R/bin/exec/R: double free or corruption (out): 0xb1f64430 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x6ebc2)[0xb73f3bc2]
/lib/i386-linux-gnu/libc.so.6(+0x6f862)[0xb73f4862]
/lib/i386-linux-gnu/libc.so.6(cfree+0x6d)[0xb73f794d]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x1f)[0xb684680f]
XXX.so(_XXXDXEv+0x30)[0xb66fab00]
...
/usr/local/lib/libboost_thread.so.1.46.1(thread_proxy+0x69)[0xb694a3a9]
/lib/i386-linux-gnu/libpthread.so.0(+0x6d31)[0xb7508d31]
/lib/i386-linux-gnu/libc.so.6(clone+0x5e)[0xb74570ce]
======= Memory map: ========
08048000-08049000 r-xp 00000000 08:05 11536433 /usr/lib/R/bin/exec/R
08049000-0804a000 r--p 00000000 08:05 11536433 /usr/lib/R/bin/exec/R
0804a000-0804b000 rw-p 00001000 08:05 11536433 /usr/lib/R/bin/exec/R
09c38000-0a885000 rw-p 00000000 00:00 0 [heap]
b1a00000-b1aae000 rw-p 00000000 00:00 0
...
I am just wondering... that bit with XXX, at the end of my own methods, what is the DxEv? All of my own methods have either a D0Ev, D1Ev or D2Ev attached to them? Does this have any meaning?
And what about the 0x30 afterwards? Is that the number of bytes into my class? Or a function address? Could I resolve it somehow?
增 编