[DGD] DGD Segmentation Fault After Dump Restore

Neil McBride neil at dogl.net
Mon Sep 9 00:50:14 CEST 2013


Hello,

I've managed to generate a core dump in DGD a couple of times in the 
last week that didn't involve me writing in an infinite loop. I'm 
running the most recent DGD 1.5 from github and using my own library 
built on top of the kernel library.

I had been working on some new input handling code so was creating 
various statedumps along the way. The following backtrace is from a core 
file that was created about 30 seconds after restoring from one of these 
statedumps. It did not matter whether or not any connections had been 
established for the core dump to occur.

In case it's relevant, the only modified flags in my DGD Makefile is the 
use of -DSLASHSLASH in DEFINES and -DINET6=0 in CCFLAGS.

Core was generated by `./bin/driver H7/H7.dgd dump'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f4dc834a217 in o_control (obj=0x7f4dc9adb340) at object.c:966
966         if (!(o->flags & O_MASTER)) {
(gdb) bt
#0  0x00007f4dc834a217 in o_control (obj=0x7f4dc9adb340) at object.c:966
#1  0x00007f4dc83592f9 in d_get_varmap (obj=0x7ffff35180b0, update=0,
     nvariables=0x7ffff35180f4) at data.c:1521
#2  0x00007f4dc83597cf in d_upgrade_lwobj (lwobj=0x7f4dc8264d48,
     obj=0x7f4dc96dc280) at data.c:1649
#3  0x00007f4dc8350672 in d_count (save=0x7ffff3518200,
v=0x7f4dc829a4f0, n=1)
     at sdata.c:1830
#4  0x00007f4dc83503ed in d_arrcount (save=0x7ffff3518200,
arr=0x7f4dc827b0f0)
     at sdata.c:1776
#5  0x00007f4dc8350599 in d_count (save=0x7ffff3518200,
v=0x7f4dc82ada88, n=3)
     at sdata.c:1813
#6  0x00007f4dc83515a5 in d_save_dataspace (data=0x7f4dc8279378, swap=1
'\001')
     at sdata.c:2210
#7  0x00007f4dc835215a in d_swapout (frag=32) at sdata.c:2437
#8  0x00007f4dc837415e in endthread () at dgd.c:89
#9  0x00007f4dc835e870 in comm_receive (f=0x7f4dc85f9b00 <topframe>,
     timeout=26, mtime=827) at comm.c:1580
#10 0x00007f4dc837458a in dgd_main (argc=2, argv=0x7ffff351a5b0) at
dgd.c:223
#11 0x00007f4dc83c86dd in main (argc=3, argv=0x7ffff351a5a8) at local.c:46
(gdb) quit

Is this likely to be some sort of bug, or just me finding new and unique 
ways to break things?

Neil.



More information about the DGD mailing list