Hi Andreas, one thing I usually do in such cases is to rebuild the package adding "-fsanitize=address -O0" flags (optimization just to understand better what happens in the source). This switches the address sanitizer on <https://github.com/google/sanitizers/wiki/AddressSanitizer>. This can test if a local variable is accidently overwritten (by an off-by-one error or similar). Often it finds many more bugs which one can turn upstream into bonus points...
Otherwise I see no other chance than to go through the debugger and see where the strange address was set. 0x7 however sounds that somewhere a small integer was assigned to the pointer, so I would try the sanitizing stuff first. Cheers Ole Andreas Tille <andr...@an3as.eu> writes: > Hi, > > as reported in bug #907624 ffindex autopkgtest fails with SIGSEGV in sid > and buster. I've tested in stretch (gcc 6.3) and the code works fine. > I've reported upstream[1] the results of my gdb session where I was able > to find the exact code line[2] where the SIGSEGV is thrown. It turns out > that the elements of a structure are not accessible: > > (gdb) print entry->offset > Cannot access memory at address 0x7 > > (full gdb log under [1] or in the bug log). > > In fact I tried in some more detailed debugging that any attempt to > access one of the structure elements even for instance only injecting > something like > > if ( !entry->offset ) { > > in line 554 will trigger the SIGSEGV. The values of the structure are > set in line 350[3] and are OK there. The funktion that contains the > failing line is action() [4] and called via a pointer to this function > in line 563[5] (I admit I have no real idea why this pointer to a > function should be needed. Its the only function that is used in this > place and IMHO only adds an extra layer of complexity.) > > The structure is declared in the header file[6]. > > I admit I fail to see why the code works under stretch with gcc 6.3 > but fails with gcc 8.2. > > Any idea? > > Kind regards > > Andreas. > > > [1] https://github.com/soedinglab/ffindex_soedinglab/issues/7 > [2] https://salsa.debian.org/med-team/ffindex/blob/master/src/ffindex.c#L554 > [3] https://salsa.debian.org/med-team/ffindex/blob/master/src/ffindex.c#L350 > [4] https://salsa.debian.org/med-team/ffindex/blob/master/src/ffindex.c#L541 > [5] https://salsa.debian.org/med-team/ffindex/blob/master/src/ffindex.c#L563 > [6] https://salsa.debian.org/med-team/ffindex/blob/master/src/ffindex.h#L30