1

This is the same bug as described in topics/36394-pedrom-bug
Sadly, it still exists since 2004 sad

I was (foolishly?) trying to do matrix calculations using PedROM and tiemu, as per http://epsstore.ti.com/OA_HTML/csksxvm.jsp?nSetId=108047
Entering any matrix or vector causes a crash, but different values cause different crashes.

Entering [0,0] generates an error about a timeout communicating with the device, while [3,2] barfs out a massive crashdump:

tom@cyberdemon:~$ tiemu
TiEmu 3 - Version 3.02
(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-2007
(C) Peter Fernandes 2007
THIS PROGRAM COMES WITH ABSOLUTELY NO WARRANTY
PLEASE READ THE DOCUMENTATION FOR DETAILS
UAE: version 0.8.25
UAE: Building CPU table for configuration: 68000 24-bit addressing
UAE: 1866 CPU functions
UAE: Building CPU function table (0 1).
Loading ROM calls from file </usr/share/tiemu/misc/romcalls.txt>... Done !
Parsing ROM calls from flash memory (972 entries at $228364)... Done !
*** glibc detected *** tiemu: free(): invalid pointer: 0x000000000246ee70 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7f51f045fd76]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x6c)[0x7f51f0464aac]
tiemu(on_treeview1_size_allocate+0x52)[0x4ecf62]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_closure_invoke+0x194)[0x7f51f19da724]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x227b0)[0x7f51f19eb7b0]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0xdac)[0x7f51f19f372c]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f51f19f38c2]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_size_allocate+0x138)[0x7f51f3a6eec8]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x1a16fa)[0x7f51f39b56fa]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x9e)[0x7f51f19dd8ce]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x11935)[0x7f51f19da935]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x6f6)[0x7f51f19f3076]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f51f19f38c2]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_size_allocate+0x138)[0x7f51f3a6eec8]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x8e06a)[0x7f51f38a206a]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x9e)[0x7f51f19dd8ce]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x11935)[0x7f51f19da935]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x6f6)[0x7f51f19f3076]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f51f19f38c2]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_size_allocate+0x138)[0x7f51f3a6eec8]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x10156e)[0x7f51f391556e]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x9e)[0x7f51f19dd8ce]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x11935)[0x7f51f19da935]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x6f6)[0x7f51f19f3076]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f51f19f38c2]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_size_allocate+0x138)[0x7f51f3a6eec8]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x1c67eb)[0x7f51f39da7eb]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x9e)[0x7f51f19dd8ce]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x11935)[0x7f51f19da935]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x6f6)[0x7f51f19f3076]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f51f19f38c2]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_size_allocate+0x138)[0x7f51f3a6eec8]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x26542a)[0x7f51f3a7942a]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_cclosure_marshal_VOID__BOXEDv+0x9e)[0x7f51f19dd8ce]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x11a03)[0x7f51f19daa03]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x6f6)[0x7f51f19f3076]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f51f19f38c2]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_size_allocate+0x138)[0x7f51f3a6eec8]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(+0x267df4)[0x7f51f3a7bdf4]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(+0x11a03)[0x7f51f19daa03]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit_valist+0x6f6)[0x7f51f19f3076]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0(g_signal_emit+0x82)[0x7f51f19f38c2]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_widget_show+0x86)[0x7f51f3a72506]
tiemu[0x4e86a0]
tiemu[0x4e6de5]
tiemu[0x4e6ec3]
tiemu[0x4c9097]
tiemu[0x4e1a34]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_context_dispatch+0x135)[0x7f51f110e205]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(+0x4a538)[0x7f51f110e538]
/lib/x86_64-linux-gnu/libglib-2.0.so.0(g_main_loop_run+0x72)[0x7f51f110e932]
/usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0(gtk_main+0xa7)[0x7f51f3950797]
tiemu[0x40f00c]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7f51f0407ead]
tiemu[0x40f309]
======= Memory map: ========
00400000-00535000 r-xp 00000000 08:01 731068 /usr/bin/tiemu
00735000-00763000 rw-p 00135000 08:01 731068 /usr/bin/tiemu
00763000-0081d000 rw-p 00000000 00:00 0
01f54000-0279f000 rw-p 00000000 00:00 0 [heap]
7f51d0000000-7f51d0021000 rw-p 00000000 00:00 0
7f51d0021000-7f51d4000000 ---p 00000000 00:00 0
7f51d46e1000-7f51d46f6000 r-xp 00000000 08:01 436033 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f51d46f6000-7f51d48f6000 ---p 00015000 08:01 436033 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f51d48f6000-7f51d48f7000 rw-p 00015000 08:01 436033 /lib/x86_64-linux-gnu/libgcc_s.so.1
7f51d48f7000-7f51d4931000 r-xp 00000000 08:01 901611 /usr/lib/x86_64-linux-gnu/libjpeg.so.8.4.0
7f51d4931000-7f51d4b30000 ---p 0003a000 08:01 901611 /usr/lib/x86_64-linux-gnu/libjpeg.so.8.4.0
7f51d4b30000-7f51d4b31000 rw-p 00039000 08:01 901611 /usr/lib/x86_64-linux-gnu/libjpeg.so.8.4.0
7f51d4b31000-7f51d4f73000 rw-p 00000000 00:00 0
7f51d5155000-7f51d516d000 r--p 00000000 08:01 816498 /usr/share/fonts/type1/gsfonts/n022003l.pfb
7f51d516d000-7f51d5171000 r-xp 00000000 08:01 906045 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7f51d5171000-7f51d5371000 ---p 00004000 08:01 906045 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7f51d5371000-7f51d5372000 r--p 00004000 08:01 906045 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7f51d5372000-7f51d5373000 rw-p 00005000 08:01 906045 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-jpeg.so
7f51d5373000-7f51d5375000 rw-p 00000000 00:00 0
7f51d5375000-7f51d53d5000 rw-s 00000000 00:04 22118405 /SYSV00000000 (deleted)
7f51d53d5000-7f51d9592000 r--p 00000000 08:01 802051 /usr/share/icons/gnome/icon-theme.cache
7f51d9592000-7f51dd74f000 r--p 00000000 08:01 802051 /usr/share/icons/gnome/icon-theme.cache
7f51dd74f000-7f51e2c1d000 r--p 00000000 08:01 767219 /usr/share/icons/hicolor/icon-theme.cache
7f51e2c1d000-7f51e80eb000 r--p 00000000 08:01 767219 /usr/share/icons/hicolor/icon-theme.cache
7f51e80eb000-7f51e80ee000 r--p 00000000 08:01 538693 /usr/share/locale/en_GB/LC_MESSAGES/atk10.mo
7f51e80ee000-7f51e814e000 rw-s 00000000 00:04 22085636 /SYSV00000000 (deleted)
7f51e814e000-7f51e81fe000 r--p 00000000 08:01 334842 /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
7f51e81fe000-7f51e8200000 r-xp 00000000 08:01 930630 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f51e8200000-7f51e83ff000 ---p 00002000 08:01 930630 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f51e83ff000-7f51e8400000 r--p 00001000 08:01 930630 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f51e8400000-7f51e8401000 rw-p 00002000 08:01 930630 /usr/lib/x86_64-linux-gnu/pango/1.6.0/modules/pango-basic-fc.so
7f51e8401000-7f51e8402000 r--s 00000000 08:01 694934 /var/cache/fontconfig/c05880de57d1f5e948fdfacc138775d9-le64.cache-3
7f51e8402000-7f51e840b000 r--s 00000000 08:01 693969 /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-3
7f51e840b000-7f51e8413000 r--s 00000000 08:01 694932 /var/cache/fontconfig/a6d8cf8e4ec09cdbc8633c31745a07dd-le64.cache-3
7f51e8413000-7f51e8414000 r--s 00000000 08:01 694930 /var/cache/fontconfig/617957603a337376ca8784972c6029f5-le64.cache-3
7f51e8414000-7f51e8419000 r--s 00000000 08:01 693902 /var/cache/fontconfig/6eb3985aa4124903f6ff08ba781cd364-le64.cache-3
7f51e8419000-7f51e8422000 r--s 00000000 08:01 694928 /var/cache/fontconfig/6d41288fd70b0be22e8c3a91e032eec0-le64.cache-3
7f51e8422000-7f51e8423000 r--s 00000000 08:01 694926 /var/cache/fontconfig/9c956a7723ca69a44b382d9179c9802f-le64.cache-3
7f51e8423000-7f51e8424000 r--s 00000000 08:01 694924 /var/cache/fontconfig/9451a55048e8dbe8633e64d34165fdf2-le64.cache-3
7f51e8424000-7f51e8426000 r--s 00000000 08:01 694922 /var/cache/fontconfig/ddd4086aec35a5275babba44bb759c3c-le64.cache-3
7f51e8426000-7f51e8427000 r--s 00000000 08:01 697983 /var/cache/fontconfig/4794a0821666d79190d59a36cb4f44b5-le64.cache-3
7f51e8427000-7f51e8428000 r--s 00000000 08:01 694920 /var/cache/fontconfig/9eae20f1ff8cc0a7d125749e875856bd-le64.cache-3
7f51e8428000-7f51e842a000 r--s 00000000 08:01 694847 /var/cache/fontconfig/bf2c1853a9e9b00bb02fe2e9bcf1e201-le64.cache-3
7f51e842a000-7f51e8458000 r--s 00000000 08:01 698175 /var/cache/fontconfig/365b55f210c0a22e9a19e35191240f32-le64.cache-3
7f51e8458000-7f51e845b000 r--s 00000000 08:01 697971 /var/cache/fontconfig/c57959a16110560c8d0fcea73374aeeb-le64.cache-3
7f51e845b000-7f51e8460000 r--s 00000000 08:01 693905 /var/cache/fontconfig/3047814df9a2f067bd2d96a2b9c36e5a-le64.cache-3
7f51e8460000-7f51e8462000 r--s 00000000 08:01 693903 /var/cache/fontconfig/de9486f0b47a4d768a594cb4198cb1c6-le64.cache-3
7f51e8462000-7f51e8465000 r--s 00000000 08:01 693894 /var/cache/fontconfig/14d493b97896515cad3840ba4896e372-le64.cache-3
7f51e8465000-7f51e8466000 r--s 00000000 08:01 693890 /var/cache/fontconfig/89034621ae2a8922916bb6bfa5799546-le64.cache-3
7f51e8466000-7f51e8469000 r--s 00000000 08:01 693889 /var/cache/fontconfig/e49e89034d371f0f9de17aab02136486-le64.cache-3
7f51e8469000-7f51e846b000 r--s 00000000 08:01 693888 /var/cache/fontconfig/4b14b093aebc79c320de5e86ae1d3314-le64.cache-3
7f51e846b000-7f51e8471000 r-xp 00000000 08:01 85290 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7f51e8471000-7f51e8670000 ---p 00006000 08:01 85290 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7f51e8670000-7f51e8671000 r--p 00005000 08:01 85290 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7f51e8671000-7f51e8672000 rw-p 00006000 08:01 85290 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so
7f51e8672000-7f51e87e9000 r--p 00000000 08:01 743768 /usr/lib/locale/locale-archive
7f51e87e9000-7f51e87f4000 r-xp 00000000 08:01 103058 /lib/x86_64-linux-gnu/libnss_files-2.13.so
7f51e87f4000-7f51e89f3000 ---p 0000b000 08:01 103058 /lib/x86_64-linux-gnu/libnss_files-2.13.so
7f51e89f3000-7f51e89f4000 r--p 0000a000 08:01 103058 /lib/x86_64-linux-gnu/libnss_files-2.13.so
7f51e89f4000-7f51e89f5000 rw-p 0000b000 08:01 103058 /lib/x86_64-linux-gnu/libnss_files-2.13.so
7f51e89f5000-7f51e89ff000 r-xp 00000000 08:01 103070 /lib/x86_64-linux-gnu/libnss_nis-2.13.so
7f51e89ff000-7f51e8bfe000 ---p 0000a000 08:01 103070 /lib/x86_64-linux-gnu/libnss_nis-2.13.so
7f51e8bfe000-7f51e8bff000 r--p 00009000 08:01 103070 /lib/x86_64-linux-gnu/libnss_nis-2.13.so
7f51e8bff000-7f51e8c00000 rw-p 0000a000 08:01 103070 /lib/x86_64-linux-gnu/libnss_nis-2.13.so
7f51e8c00000-7f51e8c07000 r-xp 00000000 08:01 103060 /lib/x86_64-linux-gnu/libnss_compat-2.13.so
7f51e8c07000-7f51e8e06000 ---p 00007000 08:01 103060 /lib/x86_64-linux-gnu/libnss_compat-2.13.so
7f51e8e06000-7f51e8e07000 r--p 00006000 08:01 103060 /lib/x86_64-linux-gnu/libnss_compat-2.13.so
7f51e8e07000-7f51e8e08000 rw-p 00007000 08:01 103060 /lib/x86_64-linux-gnu/libnss_compat-2.13.so
7f51e8e08000-7f51e8e0e000 r-xp 00000000 08:01 898916 /usr/lib/x86_64-linux-gnu/libogg.so.0.8.0
7f51e8e0e000-7f51e900d000 ---p 00006000 08:01 898916 /usr/lib/x86_64-linux-gnu/libogg.so.0.8.0
7f51e900d000-7f51e900e000 rw-p 00005000 08:01 898916 /usr/lib/x86_64-linux-gnu/libogg.so.0.8.0
7f51e900e000-7f51e903a000 r-xp 00000000 08:01 899889 /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5
7f51e903a000-7f51e9239000 ---p 0002c000 08:01 899889 /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5
7f51e9239000-7f51e923a000 r--p 0002b000 08:01 899889 /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5
7f51e923a000-7f51e923b000 rw-p 0002c000 08:01 899889 /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.5
7f51e923b000-7f51e94ee000 r-xp 00000000 08:01 899317 /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8
7f51e94ee000-7f51e96ed000 ---p 002b3000 08:01 899317 /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8
7f51e96ed000-7f51e9709000 r--p 002b2000 08:01 899317 /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8
7f51e9709000-7f51e970a000 rw-p 002ce000 08:01 899317 /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.8
7f51e970a000-7f51e9755000 r-xp 00000000 08:01 901632 /usr/lib/x86_64-linux-gnu/libFLAC.so.8.2.0
7f51e9755000-7f51e9954000 ---p 0004b000 08:01 901632 /usr/lib/x86_64-linux-gnu/libFLAC.so.8.2.0
7f51e9954000-7f51e9955000 r--p 0004a000 08:01 901632 /usr/lib/x86_64-linux-gnu/libFLAC.so.8.2.0
7f51e9955000-7f51e9956000 rw-p 0004b000 08:01 901632 /usr/lib/x86_64-linux-gnu/libFLAC.so.8.2.0
7f51e9956000-7f51e996b000 r-xp 00000000 08:01 103068 /lib/x86_64-linux-gnu/libnsl-2.13.so
7f51e996b000-7f51e9b6a000 ---p 00015000 08:01 103068 /lib/x86_64-linux-gnu/libnsl-2.13.so
7f51e9b6a000-7f51e9b6b000 r--p 00014000 08:01 103068 /lib/x86_64-linux-gnu/libnsl-2.13.so
7f51e9b6b000-7f51e9b6c000 rw-p 00015000 08:01 103068 /lib/x86_64-linux-gnu/libnsl-2.13.so
7f51e9b6c000-7f51e9b6e000 rw-p 00000000 00:00 0
7f51e9b6e000-7f51e9b72000 r-xp 00000000 08:01 436085 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f51e9b72000-7f51e9d71000 ---p 00004000 08:01 436085 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f51e9d71000-7f51e9d72000 r--p 00003000 08:01 436085 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f51e9d72000-7f51e9d73000 rw-p 00004000 08:01 436085 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7f51e9d73000-7f51e9d77000 r-xp 00000000 08:01 435976 /lib/x86_64-linux-gnu/libattr.so.1.1.0
7f51e9d77000-7f51e9f76000 ---p 00004000 08:01 435976 /lib/x86_64-linux-gnu/libattr.so.1.1.0
7f51e9f76000-7f51e9f77000 r--p 00003000 08:01 435976 /lib/x86_64-linux-gnu/libattr.so.1.1.0
7f51e9f77000-7f51e9f78000 rw-p 00004000 08:01 435976 /lib/x86_64-linux-gnu/libattr.so.1.1.0
7f51e9f78000-7f51e9f7d000 r-xp 00000000 08:01 901590 /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7f51e9f7d000-7f51ea17c000 ---p 00005000 08:01 901590 /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7f51ea17c000-7f51ea17d000 rw-p 00004000 08:01 901590 /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1
7f51ea17d000-7f51ea1de000 r-xp 00000000 08:01 898918 /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f51ea1de000-7f51ea3dd000 ---p 00061000 08:01 898918 /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f51ea3dd000-7f51ea3df000 r--p 00060000 08:01 898918 /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f51ea3df000-7f51ea3e0000 rw-p 00062000 08:01 898918 /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.25
7f51ea3e0000-7f51ea3e4000 rw-p 00000000 00:00 0
7f51ea3e4000-7f51ea3ed000 r-xp 00000000 08:01 436460 /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f51ea3ed000-7f51ea5ec000 ---p 00009000 08:01 436460 /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f51ea5ec000-7f51ea5ed000 r--p 00008000 08:01 436460 /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f51ea5ed000-7f51ea5ee000 rw-p 00009000 08:01 436460 /lib/x86_64-linux-gnu/libwrap.so.0.7.6
7f51ea5ee000-7f51ea5ef000 rw-p 00000000 00:00 0
7f51ea5ef000-7f51ea5f4000 r-xp 00000000 08:01 900515 /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
7f51ea5f4000-7f51ea7f3000 ---p 00005000 08:01 900515 /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
7f51ea7f3000-7f51ea7f4000 rw-p 00004000 08:01 900515 /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0
7f51ea7f4000-7f51ea7fb000 r-xp 00000000 08:01 901594 /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1
7f51ea7fb000-7f51ea9fa000 ---p 00007000 08:01 901594 /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1
7f51ea9fa000-7f51ea9fb000 rw-p 00006000 08:01 901594 /usr/lib/x86_64-linux-gnu/libSM.so.6.0.1
7f51ea9fb000-7f51eaa12000 r-xp 00000000 08:01 901562 /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0
7f51eaa12000-7f51eac11000 ---p 00017000 08:01 901562 /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0
7f51eac11000-7f51eac13000 rw-p 00016000 08:01 901562 /usr/lib/x86_64-linux-gnu/libICE.so.6.3.0
7f51eac13000-7f51eac16000 rw-p 00000000 00:00 0
7f51eac16000-7f51eac17000 r-xp 00000000 08:01 900093 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7f51eac17000-7f51eae16000 ---p 00001000 08:01 900093 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7f51eae16000-7f51eae17000 rw-p 00000000 08:01 900093 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0
7f51eae17000-7f51eae3c000 r-xp 00000000 08:01 436431 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f51eae3c000-7f51eb03b000 ---p 00025000 08:01 436431 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f51eb03b000-7f51eb03f000 r--p 00024000 08:01 436431 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f51eb03f000-7f51eb040000 rw-p 00028000 08:01 436431 /lib/x86_64-linux-gnu/libtinfo.so.5.9
7f51eb040000-7f51eb06f000 r-xp 00000000 08:01 435846 /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f51eb06f000-7f51eb26e000 ---p 0002f000 08:01 435846 /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f51eb26e000-7f51eb26f000 r--p 0002e000 08:01 435846 /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f51eb26f000-7f51eb270000 rw-p 0002f000 08:01 435846 /lib/x86_64-linux-gnu/libncursesw.so.5.9
7f51eb270000-7f51eb385000 r-xp 00000000 08:01 436007 /lib/x86_64-linux-gnu/libslang.so.2.2.4
7f51eb385000-7f51eb584000 ---p 00115000 08:01 436007 /lib/x86_64-linux-gnu/libslang.so.2.2.4
7f51eb584000-7f51eb588000 r--p 00114000 08:01 436007 /lib/x86_64-linux-gnu/libslang.so.2.2.4
7f51eb588000-7f51eb5a2000 rw-p 00118000 08:01 436007 /lib/x86_64-linux-gnu/libslang.so.2.2.4
7f51eb5a2000-7f51eb606000 rw-p 00000000 00:00 0
7f51eb606000-7f51eb64a000 r-xp 00000000 08:01 436513 /lib/x86_64-linux-gnu/libdbus-1.so.3.7.2
7f51eb64a000-7f51eb84a000 ---p 00044000 08:01 436513 /lib/x86_64-linux-gnu/libdbus-1.so.3.7.2Aborted

Entering [3,2]->a just causes tiemu to hang.

This is using PedROM 0.81.

2

1) I agree that there should be a bug in PedroM.
2) Matrix operations are not supported.
3) I was able to reproduce your crash with PedroM 0.82
4) There is also a bug in tiemu so that this operation is able to crash it (maybe because the version is quite old) ==>
Call : Kevin Kofler appelé(e) sur ce topic...
Call : Lionel Debroux appelé(e) sur ce topic...
5) [ 1 ] is also able to crash PedroM but without tiemu.

3

I agree that TiEmu crashing is a bug in TiEmu, the PedroM bug should only crash the emulated calculator, not the whole emulator. I need more information to debug this (e.g. a Valgrind log with debugging information for TiEmu, I'll see whether I can reproduce the crash to provide the needed logs), but my first guess from the data I have is that the update of the list of handles in the debugger is crashing due to heap corruption in the emulated calculator.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

The patch to fix PedroM:
diff --git a/src/Estack2.asm b/src/Estack2.asm
index a383476..e141459 100644
--- a/src/Estack2.asm
+++ b/src/Estack2.asm
@@ -173,8 +173,6 @@ ParseLoop
 		beq	ParseInputList
 		cmpi.b	#'"',d2
 		beq	ParseInputString
-		cmpi.b	#'[',d2
-		beq	ParseInputIndex
 		cmpi.b	#22,d2			; '->'
 		beq.s	\PushStore
 		cmpi.b	#'*',d2
@@ -325,30 +323,6 @@ ParseInputList
 		move.l	a0,a2			; Return
 		bra	ParseFinal		; the beginning of the list
 
-; Input an index (Org AMS format for list[indice]: $E5, 0, indice,0, 0,list,0, $D5)
-ParseInputIndex
-		pea	-1(a2)			; Push Beginning
-		move.l	top_estack,-(a7)
-		jsr	push_END_TAG		; END of LIST
-		jsr	ParseRecur		; Parse inside and stop 
-		; Current format is: 0,LIST,0 ,$E5,0,indice,0
-		jsr	next_expression_index
-		pea	(a0)			; A0-> ListName / a1-> EndOfListName
-		jsr	push_between		; RePush ListName
-		jsr	delete_between		; Delete ListName
-		addq.l	#8,a7
-		; Format is: $E5,0,indice,0,0,list,0
-		move.w	#$D5,d0
-		jsr	push_quantum_reg	; Push tag
-		; Format is: $E5,0,indice,0,0,list,0,$D5
-		move.l	(a7)+,a0		; Read beginning
-		move.b	(a2)+,d2		; Read stopped char
-		clr.b	d3			; Last Thing was an index
-		cmpi.b	#']',d2			; If it is ']', it is ok ! continue
-		beq	ParseLoop		; Else an error occured.
-		move.l	a0,a2			; Return
-		bra	ParseFinal		; the beginning of the index
-
 ; Input a VAR name or a function
 ParseInputVar
 		clr.b	d3			; Last Thing was a VAR
@@ -363,6 +337,8 @@ ParseInputVar
 		subq.l	#1,a2			; Rego on the untranslated char
 		cmpi.b	#'(',d2			; Check if it is a Function
 		beq.s	\Function		; or a variable name
+		cmpi.b	#'[',d2
+		beq.s	\MatrixIndex
 			; Var Name
 			clr.w	d0		; VAR a-z are not pushed in a single tag way
 			jsr	push_quantum_reg
@@ -377,6 +353,29 @@ ParseInputVar
 \VarError:	move.l	a3,a2
 		bra	ParseFinal
 
+\MatrixIndex	addq.l	#1,a2			; Skip '['
+		jsr	push_END_TAG		; Push END tag
+		pea	(a3)			; Preserve Beginning 
+		move.w	d1,-(a7)		; Preserve len
+		jsr	ParseRecur		; Parse all args 
+		move.w	(a7)+,d1		; Get len
+		move.l	(a7)+,a3		; Get ptr to the beginning of the function name
+		move.b	(a2)+,d2		; Read stop char
+		cmpi.b	#']',d2			; Check if ok ?
+		bne.s	\VarError		; If it is ']', it is ok
+		clr.w	d0			; Push now the function name
+		jsr	push_quantum_reg	; 0
+		subq.w	#1,d1			; -1 for dbf
+\Loop3			move.b	(a3)+,d0	; Read char
+			jsr	push_quantum_reg ; push it
+			dbf	d1,\Loop3	; Loop
+		clr.w	d0			; Push 0	
+		jsr	push_quantum_reg	
+		move.w	#$D5,d0			; & Push Index
+		jsr	push_quantum_reg
+		clr.b	d3			; Last thing was a matrix index
+		bra	ParseLoop
+	
 \Function	addq.l	#1,a2			; Skip '('
 		jsr	push_END_TAG		; Push END tag
 		pea	(a3)			; Preserve Beginning 


Note1: it won't add a matrix support into PedroM. It will only properly report invalid and not parsed data (instead of crashing).
Note2: it seems it corrupted completly the Estack (The arguments of delete_between should be invalid) -and likely more.