Opened 13 years ago

Closed 13 years ago

#4159 closed defect (invalid)

WFS Datastore Segfault on Failed Startup

Reported by: pramsey Owned by: Even Rouault
Priority: normal Milestone: 1.9.0
Component: OGR_SF Version: svn-trunk
Severity: major Keywords:
Cc:

Description

While testing the FGDB driver, I did this:

  ogrinfo extract.gdb/

note the trailing /. The flow of control gets into the WFS driver, and it eventually cans out with a double-free, and this backtrace:

(gdb) bt
#0  0x0028e402 in __kernel_vsyscall ()
#1  0x07221df0 in raise () from /lib/libc.so.6
#2  0x07223701 in abort () from /lib/libc.so.6
#3  0x0725a3ab in __libc_message () from /lib/libc.so.6
#4  0x072626c5 in _int_free () from /lib/libc.so.6
#5  0x07262b09 in free () from /lib/libc.so.6
#6  0x064b15c1 in operator delete(void*) () from /usr/lib/libstdc++.so.6
#7  0x01084878 in OGRWFSDataSource::~OGRWFSDataSource (this=0x8063478, __in_chrg=<value optimized out>)
    at ogrwfsdatasource.cpp:192
#8  0x01085a5c in OGRWFSDriver::Open (this=0x80630e8, pszFilename=0x8055bb8 "extract.gdb/", bUpdate=1)
    at ogrwfsdriver.cpp:69
#9  0x0105283e in OGRSFDriverRegistrar::Open (pszName=0x8055bb8 "extract.gdb/", bUpdate=1, 
    ppoDriver=0xbfffe9b0) at ogrsfdriverregistrar.cpp:223
#10 0x0804a1ad in main (nArgc=2, papszArgv=0x8063468) at ogrinfo.cpp:175

I haven't been able to find the double free, but perhaps wiser people than I can do so.

Change History (2)

comment:1 by Even Rouault, 13 years ago

Paul, this stacktrace isn't particularly helpful. The line numbers (l 192 for example) don't even match code line numbers, probably because of optimizations. Could you try with a non-optimized build and under Valgrind which should be able to detect the location of the double free ?

comment:2 by pramsey, 13 years ago

Resolution: invalid
Status: newclosed

Was a problem with an unclean tree. Make clean fixed it, thanks Even.

Note: See TracTickets for help on using tickets.