On Wed, 2009-06-24 at 17:00 +0000, Bug Watch Updater wrote: On Ubuntu 9.04, # uname -a Linux asus 2.6.28-13-generic #44-Ubuntu SMP Tue Jun 2 07:57:31 UTC 2009 i686 GNU/Linux # ...... Unit: GPSmap 378 SYS Software Version 3.70 ID: 557 Version: 3.70RX (bulk) [0]:(RET2INTR) ...... Capability A10: Capability A100: D110 Capability A101: D120 Capability A201: D202 D110 D210 Capability A301: D312 D302 Capability A400: D110 Capability A500: D501 Capability A600: D600 Capability A601: D601 Capability A700: D700 Capability A800: D800 Capability A802: D802 Capability A900: Capability A902: Capability A903: Capability A904: Capability A905: D900 Capability A913: D913 Capability A907: D907 D908 D909 D910 Capability A916: Capability A908: D911 Capability A918: D918 Link_type 1 Device_command 0 Waypoint: Transfer 100 Type 110 Route: Transfer 201 Header 202 Type 110 Track: Transfer 301 Type 302 ...... gpsbabel exits with a seg fault about 1/4 of the time. The other 3/4 tries, it seems Ok, test.gps seems to have all the waypoints I built gpsbabel with -g I had to repeat this several times to get a seg fault # ./gpsbabel -D9 -i garmin -f usb: -o gpx -F test.gpx ...... RX (bulk) [2]:30 00 0.(PRDDAT ) RX (bulk) [58]:2e 31 74 6f 72 6f 75 74 65 20 57 65 61 74 68 65 72 20 42 61 73 65 6d 61 70 20 33 2e 30 30 00 56 45 52 53 4d 41 50 20 41 4a 4f 2c 20 41 5a 20 28 57 45 53 54 29 2c 20 41 4c 41 .1toroute.Weather.Basemap.3.00.VERSMAP.AJO..AZ..WEST...ALA(UNKNOWN ) Segmentation fault (core dumped) # gdb -c core ./gpsbabel GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu"... warning: Can't read pathname for load map: Input/output error. Reading symbols from /lib/libusb-0.1.so.4...done. Loaded symbols for /lib/libusb-0.1.so.4 Reading symbols from /lib/tls/i686/cmov/libm.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libm.so.6 Reading symbols from /usr/lib/libexpat.so.1...done. Loaded symbols for /usr/lib/libexpat.so.1 Reading symbols from /lib/tls/i686/cmov/libc.so.6...done. Loaded symbols for /lib/tls/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...done. Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0 Core was generated by `./gpsbabel -D9 -i garmin -f usb: -o gpx -F test.gpx'. Program terminated with signal 11, Segmentation fault. [New process 26678] #0 0xb7f22896 in memcpy () from /lib/tls/i686/cmov/libc.so.6 (gdb) bt #0 0xb7f22896 in memcpy () from /lib/tls/i686/cmov/libc.so.6 #1 0x0804a2c0 in ?? () #2 0x0807931b in gdu_read (fd=0x8bf3ca8, packet=0xbfd946ac) at jeeps/gpsdevice_usb.c:45 #3 0x08079239 in GPS_Packet_Read (fd=0x8bf3ca8, packet=0xbfd946ac) at jeeps/gpsdevice.c:70 #4 0x080682a3 in GPS_A101_Get (port=0xbfd964d2 "usb:") at jeeps/gpsapp.c:1062 #5 0x0807332d in GPS_Command_Get_Waypoint (port=0xbfd964d2 "usb:", way=0xbfd9471c, cb=0x809bc4c ) at jeeps/gpscom.c:95 #6 0x0809bd0e in waypt_read () at garmin.c:307 #7 0x0809c781 in data_read () at garmin.c:732 #8 0x0804ac79 in main (argc=10, argv=0xbfd94884) at main.c:358 (gdb) up #1 0x0804a2c0 in ?? () (gdb) up #2 0x0807931b in gdu_read (fd=0x8bf3ca8, packet=0xbfd946ac) at jeeps/gpsdevice_usb.c:45 45 return GPS_Packet_Read_usb(fd, packet, 1); Current language: auto; currently c (gdb) p fd $1 = (gpsdevh *) 0x8bf3ca8 (gdb) p *fd $2 = (gdb) p packet $3 = (GPS_PPacket *) 0xbfd946ac (gdb) p *packet $4 = (GPS_PPacket) 0x8bf3f50 (gdb) p **packet $5 = {dle = 16 '\020', type = 114 'r', n = 101 'e', data = 0x8bf43f0 "ather Basemap 3.00", chk = 0 '\0', edle = 16 '\020', etx = 3 '\003', bytes = 0 '\0'} (gdb) disassemble 0x080792fb : push %ebp 0x080792fc :mov %esp,%ebp 0x080792fe :sub $0x18,%esp 0x08079301 :movl $0x1,0x8(%esp) 0x08079309 :mov 0xc(%ebp),%eax 0x0807930c :mov %eax,0x4(%esp) 0x08079310 :mov 0x8(%ebp),%eax 0x08079313 :mov %eax,(%esp) 0x08079316 :call 0x807a6d0 0x0807931b :leave 0x0807931c :ret End of assembler dump.