I get this crash when trying to build pike with dmalloc.
#### Making dynamic: post_modules/GTK2 make[2]: Entering directory `/home/nilsson/pike/dmalloc/post_modules/GTK2' Makefile:576: warning: overriding commands for target `depend' Makefile:332: warning: ignoring old commands for target `depend' /home/nilsson/pike/dmalloc/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/home/nilsson/pike/dmalloc/master.pike /home/nilsson/pike/src/post_modules/GTK2/build_pgtk.pike --source='/home/nilsson/pike/src/post_modules/GTK2/source/' \ /home/nilsson/pike/src/post_modules/GTK2/output/few.pike make[2]: *** [compile1] Segmentation fault make[2]: Leaving directory `/home/nilsson/pike/dmalloc/post_modules/GTK2' make[1]: *** [GTK2] Error 1 make[1]: Leaving directory `/home/nilsson/pike/dmalloc/post_modules' make: *** [post_module_objects] Error 1
And it looks like it is in the startup things bail out.
nilsson@riaa:~/pike/dmalloc$ gdb pike GNU gdb (Ubuntu/Linaro 7.3-0ubuntu2) 7.3-2011.08 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: http://bugs.launchpad.net/gdb-linaro/... Reading symbols from /home/nilsson/pike/dmalloc/pike...done. (gdb) run -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/home/nilsson/pike/dmalloc/master.pike Starting program: /home/nilsson/pike/dmalloc/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m/home/nilsson/pike/dmalloc/master.pike [Thread debugging using libthread_db enabled]
Program received signal SIGSEGV, Segmentation fault. parent_clone_object (p=0x0, parent=0x2b72a60, parent_identifier=3, args=0) at /home/nilsson/pike/src/object.c:410 410 if(!(p->flags & PROGRAM_PASS_1_DONE)) (gdb) bt #0 parent_clone_object (p=0x0, parent=0x2b72a60, parent_identifier=3, args=0) at /home/nilsson/pike/src/object.c:410 #1 0x00000000005b1569 in compile_compiler () at /home/nilsson/pike/src/program.c:9751 #2 init_program () at /home/nilsson/pike/src/program.c:10304 #3 0x0000000000544245 in init_pike_runtime (exit_cb=0x4127e0 exit@plt) at /home/nilsson/pike/src/pike_embed.c:393 #4 0x0000000000413fb4 in main (argc=4, argv=0x7fffffffe078) at /home/nilsson/pike/src/main.c:609
Looks like a compiler bug.
fprintf(stderr, "pco1 p=%p\n", p); struct object *o=low_clone(p); fprintf(stderr, "pco2 p=%p\n", p);
gives
pco1 p=0x3ec6770 pco2 p=(nil)
pike-devel@lists.lysator.liu.se