seg fault with last git version

Dirk Hohndel dirk at hohndel.org
Sun Nov 2 10:36:28 PST 2014


> On Nov 2, 2014, at 10:27 AM, Pedro Neves <nevesdiver at gmail.com> wrote:
> 
> Hi:
> 
> Here goes the result of the commands:
> 
> 
> On 11/02/2014 02:26 PM, Dirk Hohndel wrote:
>> At this spot can you run the following commands inside gdb:
> (gdb) bt
> #0  0x00000000004397c4 in explicit_first_cylinder (dive=0x21f0bc00, dc=0x21f0bec8) at dive.c:792
> #1  0x000000000043a14e in fixup_dive_dc (dive=0x21f0bc00, dc=0x21f0bec8) at dive.c:1117
> #2  0x000000000043a571 in fixup_dive (dive=0x21f0bc00) at dive.c:1223
> #3  0x000000000044a7ab in record_dive_to_table (dive=0x21f0bc00, table=0x88c9a0 <dive_table>) at parse-xml.c:49
> #4  0x000000000044e5dd in dive_end () at parse-xml.c:1333
> #5  0x000000000044ef2b in traverse (root=0xdca3280) at parse-xml.c:1675
> #6  0x000000000044edd6 in visit (n=0xdca2ed0) at parse-xml.c:1592
> #7  0x000000000044ef14 in traverse (root=0x15bc000) at parse-xml.c:1673
> #8  0x000000000044edd6 in visit (n=0x15bbf80) at parse-xml.c:1592
> #9  0x000000000044ef14 in traverse (root=0x15aa580) at parse-xml.c:1673
> #10 0x000000000044edd6 in visit (n=0x1435e80) at parse-xml.c:1592
> #11 0x000000000044ef14 in traverse (root=0x1435e80) at parse-xml.c:1673
> #12 0x000000000044f14d in parse_xml_buffer (url=0x15ab3a8 "/home/paneves/subsurface/paneves.xml",
>    buffer=0x7fff84b56010 "<divelog program='subsurface' version='2'>\n<settings>\n<divecomputerid model='Reefnet Sensus Ultra' deviceid='adbbdfa8' nickname='Reefnet Sensus Ultra (Amarelo)'/>\n<divecomputerid model='Uwatec Aladin "..., size=30040964,
>    table=0x88c9a0 <dive_table>, params=0x0) at parse-xml.c:1738
> #13 0x0000000000441377 in parse_file_buffer (filename=0x15ab3a8 "/home/paneves/subsurface/paneves.xml", mem=0x7fffffffdee0) at file.c:377
> #14 0x00000000004414bc in parse_file (filename=0x15ab3a8 "/home/paneves/subsurface/paneves.xml") at file.c:407
> #15 0x00000000004b4eee in MainWindow::loadFiles (this=0x8e5100, fileNames=...) at qt-ui/mainwindow.cpp:1230
> #16 0x0000000000448a27 in main (argc=1, argv=0x7fffffffe148) at main.cpp:60
> 
>> p *ev
> (gdb) p *ev
> 
> $1 = {next = 0x0, time = {seconds = 2575}, type = 25, flags = 0, value = 50, {gas = {index = -1, mix = {o2 = {permille = 500}, he = {permille = 0}}}}, deleted = false, name = 0x21f0c2e5 "gaschange"}
> 
>> p dc
> (gdb) p dc
> $2 = (struct divecomputer *) 0x21f0bec8

sorry, missed a character. I meant

p *dc

my guess is that no samples are allocated, so peeking at sample[0] fails.

Can you send us the XML file that you are loading? In the meantime I’ll commit a quick fix that ensures that we don’t SEGV here.

/D


More information about the subsurface mailing list