Throwing InvalidMemoryOperationError
Etienne Cimon via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 4 11:30:22 PDT 2015
On Thursday, 4 June 2015 at 17:58:34 UTC, Adam D. Ruppe wrote:
> On Thursday, 4 June 2015 at 17:51:31 UTC, Etienne Cimon wrote:
>> I'm trying to rebuild gdb because this error is what I got:
>
> wow that's messed up. Did you try it with dmd -gc too? Or a
> non-debug version of the program entirely? Maybe your version
> of gdb has a bug in reading D debugging info.
>
> With a non-debug, you won't get line numbers in the stack
> trace, but the mangled function name should still really narrow
> down your search. (there's a ddemangle program that comes with
> dmd that can translate it or reading by eyeball isn't bad
> either, should see your class name in there)
Yeah, obviously I had to use exec-file to avoid symbols because
dub test compiles with symbols. It took some time to remember but
this is basically how I proceeded to debug the whole botan
library a few months ago. Using addr2line or a backtrace library.
It's nice not having to do this for all my projects, but having
to follow all these steps is obviously unfriendly for a
state-of-the-art language like D.
Here's what I get from the `asm { int 3; }` type of breakpoint:
Program received signal SIGUSR1, User defined signal 1.
0x0000000000ccd8f7 in ?? ()
(gdb) bt
#0 0x0000000000ccd8f7 in ?? ()
#1 0x0000000000000000 in ?? ()
(gdb) c
Continuing.
Program received signal SIGUSR2, User defined signal 2.
0x00007ffff7122cc7 in sigsuspend () from /lib64/libc.so.6
(gdb)
Continuing.
D: Error: Invalid memory operation
[Thread 0x7ffff6c6c700 (LWP 67283) exited]
^C
Program received signal SIGINT, Interrupt.
0x00007ffff79c9f1d in __lll_lock_wait () from
/lib64/libpthread.so.0
(gdb) bt
#0 0x00007ffff79c9f1d in __lll_lock_wait () from
/lib64/libpthread.so.0
#1 0x00007ffff79c4906 in pthread_mutex_lock () from
/lib64/libpthread.so.0
#2 0x0000000000dbccb1 in ?? ()
#3 0x000000000119c1b0 in ?? ()
#4 0x00007fffffffc470 in ?? ()
#5 0x0000000000000000 in ?? ()
(gdb) q
A debugging session is active.
[root at localhost build]# addr2line -e __test__full__ 0x0ccd8f7
/home/devpriv/botan/source/botan/math/numbertheory/numthry.d:744
More information about the Digitalmars-d
mailing list