On Sat, Apr 02, 2005 at 06:39:11PM +0200, Martin Samuelsson wrote: > Next time I'm networked I'll try to remember fetching all requiered > libraries for building packages myself, but I'm afraid that's only if > I remember it.
Vale... Here it comes the useful stack backtrace, below my signature. It seems "err = ti68k_init();" at gui/main.c:195 returns -1 for some reason and that the error handling seg.faults when trying to call cable->close() because cable is NULL. Since I don't know the code I can only guess, but is this that the failure is to early and the error handlers can't imagine anything going wrong prior to cables getting a value? I'm attaching a patch that removed the SIGSEGV and instead makes tiemu show a message box saying "tiemu : err: Msg: Transfer aborted Cause: the user !". Which is better, but not really clear to me. Tracing down why ti68k_init() returns error ends up at hw_init() in core/ti_hw/hw.c which gets confused since img_infos.calc_type=='\0', apperantly. Which is indeed what the Image information states in it's output. "Calculator : nonCalculator : none". So my guess is that the conversion of the OS download failed setting the calculator type silently. I removed the ROM image and tried starting tiemu against the OS download, and guess what?! Now it works. My guess is that you should probably apply the patch removing the sig11 and don't care about that the recent version can't work with old rom converts. If you're really into working with this issue, maybe you should think about a clearer error message than the above for a corrupt ROM image. For what it's worth skin changing doesn't work for me and having a us keyboard mapping is very annoying, but those are other issues that I might or might not file bugs about... Thanks! Now I can forget my calculator at home without missing it too much. -- /Martin leka% gdb tiemu GNU gdb 6.3-debian 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-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1". (gdb) r Starting program: /usr/bin/tiemu [Thread debugging using libthread_db enabled] [New Thread -1218060160 (LWP 23177)] TiEmu II - Version 1.80-050326 (C) Romain Lievin & Thomas Corvazier 2000-2001 (C) Romain Lievin 2001-2003 (C) Julien Blache 2003 (C) Romain Lievin 2004-2005 (C) Romain Lievin & Kevin Kofler 2005 THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY PLEASE READ THE DOCUMENTATION FOR DETAILS Configuration file not found, use default values. You can create one by the 'File|Save config' command menu. Scanning images/upgrades... Done. Image informations: Calculator : none Firmware : v2.09 Memory type : FLASH Memory size : 2MB (2097152 bytes) ROM base : 40 Hardware : 47 Has boot : yes ticables library version 3.8.9 setlocale: <en_US.UTF-8> bindtextdomain: </usr/share/locale> textdomain: <libticables> built for __LINUX__ target. checking resources: IO_API: found at compile time (HAVE_TERMIOS_H) IO_ASM: found at compile time (HAVE_ASM_IO_H). IO_TIPAR: found at compile time (HAVE_LINUX_TICABLE_H) IO_TISER: found at compile time (HAVE_LINUX_TICABLE_H) IO_TIUSB: found at compile time (HAVE_LINUX_TICABLE_H) IO_LIBUSB: found at compile time (HAVE_LIBUSB) quick search for parallel/serial ports: serial port found at 0x2f8 search for all ports: /dev/ttyS0 at 0x3f8 tifiles library version 0.6.3 setlocale: <en_US.UTF-8> bindtextdomain: </usr/share/locale> textdomain: <libtifiles> ticalcs library version 4.5.8 setlocale: <en_US.UTF-8> bindtextdomain: </usr/share/locale> textdomain: <libticalcs> Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1218060160 (LWP 23177)] 0xb7fb6b33 in ticalc_get_error (err_num=-1, error_msg=0xbffff430 "Msg: Transfer aborted\nCause: the user !") at error.c:186 186 TRYF(cable->close()); (gdb) bt full #0 0xb7fb6b33 in ticalc_get_error (err_num=-1, error_msg=0xbffff430 "Msg: Transfer aborted\nCause: the user !") at error.c:186 aaaa_ = 134445884 #1 0x0814dd23 in tiemu_error (err_code=-1, err_str=0x8037b3c <Address 0x8037b3c out of bounds>) at misc/tie_error.c:61 err = 0 s = "Msg: Transfer aborted\nCause: the user !\000s a bug. Please report it.\n.\000\000\000\000\224ï\213ïïyïXï\037\b\001\000\000\000\224ï\213ïï\213ïïï\213ïï ï\037\bH\000\000\000 \226\227ï`\214\227ï \226\227ï\000ï&\b \226\227ï`\214\227ï \226\227\000\214ï\204ï\020ïïïL\032ïï\230\220\205ï\236;\a\b\230ï\237ï\030\222&\b\001Q\006\b \000\000\000ïk\232ï\030\222&\b\230ï\237ïN\221\205ïï>\205ï,ï\204ïïï\237ï"... #2 0x08150f97 in main (argc=1, argv=0xbffff6f4) at gui/main.c:197 err = 0 (gdb)
diff -ur libticalcs4-4.5.8/src/error.c libticalcs4-4.5.8-nosegv/src/error.c --- libticalcs4-4.5.8/src/error.c 2004-05-06 09:32:12.000000000 +0200 +++ libticalcs4-4.5.8-nosegv/src/error.c 2005-04-03 13:47:08.825790935 +0200 @@ -183,7 +183,7 @@ break; } - TRYF(cable->close()); + if(cable) TRYF(cable->close()); UNLOCK_TRANSFER(); return 0;
signature.asc
Description: Digital signature