[Gpsbabel-misc] Bug in the simplify filter
Brought to you by:
robertl
From: Didier A. <dar...@gm...> - 2007-07-25 23:12:51
|
Hello, I found a bug in the simplify filter; when using it whith an NMEA file with no valid fix, it crashes whith signal EXC_BAD_ACCESS, Could not access memory. I have tested version 1.3.3 and 1.3.4-beta20070711 on Mac OS X 10.4.10 , both show the same behavior. To reproduce the bug, use the "CrashGPSBabel.pgl" file attached, with the following commandline: gpsbabel -i -i nmea -f CrashGPSbabel.pgl -x simplify,error=.005k -o kml,units=m -F toto.kml Here is a gdb transcript : gdb ./gpsbabel GNU gdb 6.3.50-20050815 (Apple version gdb-573) (Fri Oct 20 15:50:43 GMT 2006) Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-apple-darwin"...Reading symbols for shared libraries ... done (gdb) set args -i nmea -f CrashGPSbabel.pgl -x simplify,error=.005k -o kml,units=m -F toto.kml (gdb) run Starting program: /Users/didier/Developpement/gpsbabel-1.3.4-beta20070711/gpsbabel -i nmea -f CrashGPSbabel.pgl -x simplify,error=.005k -o kml,units=m -F toto.kml Reading symbols for shared libraries .+ done Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x2c300016 0x0008ecb9 in routesimple_tail (rte=0x601810) at smplrout.c:273 273 (*waypt_del_fnp)( (route_head *)(void *)rte, (gdb) bt #0 0x0008ecb9 in routesimple_tail (rte=0x601810) at smplrout.c:273 #1 0x000038cc in common_disp_all (qh=0xd8d08, rh=0x8ea2e <routesimple_head>, rt=0x8ebe2 <routesimple_tail>, wc=0x8e777 <routesimple_waypt_pr>) at route.c:259 #2 0x0008eef3 in routesimple_process () at smplrout.c:307 #3 0x000029c5 in main (argc=11, argv=0xbffff488) at main.c:475 (gdb) p rte $1 = (const route_head *) 0x601810 (gdb) p *rte $2 = { Q = { next = 0xd8d08, prev = 0xd8d08 }, waypoint_list = { next = 0x601818, prev = 0x601818 }, rte_name = 0x0, rte_desc = 0x0, rte_url = 0x0, rte_num = 0, rte_waypt_ct = 0, fs = 0x0, cet_converted = 1 } I hope this report can be of any help. Regards, Didier Arenzana. |