When it crashes, type “where” in GDB and press return.
Thank you so much, here you are:
=============== WHERE 5.3 ===============
(gdb) r
Starting program: /usr/bin/mame indy_4613 -hard irix53_4096.chd -rp /mameh/irix/ -window -mouse -nomaximize -resolution 1280x1024 -cdrom /unix/IRIX\ 5.3\ for\ Indy\ R4400\ 175MHz.img
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffea964640 (LWP 4629)]
[New Thread 0x7fffd9cd9640 (LWP 4630)]
[New Thread 0x7fffc9c88640 (LWP 4631)]
[New Thread 0x7fffc9418640 (LWP 4632)]
[Thread 0x7fffc9418640 (LWP 4632) exited]
Thread 1 "mame" received signal SIGSEGV, Segmentation fault.
0x000000000af43dfa in read_partial_sector(cdrom_file*, void*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool) ()
(gdb) where
#0 0x000000000af43dfa in read_partial_sector(cdrom_file*, void*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool) ()
#1 0x000000000af44308 in cdrom_read_data(cdrom_file*, unsigned int, void*, unsigned int, bool) ()
#2 0x0000000007370671 in nscsi_cdrom_device::scsi_get_data(int, int) ()
#3 0x00000000087efbf7 in nscsi_full_device::step(bool) ()
#4 0x00000000087ee72c in nscsi_bus_device::ctrl_w(int, unsigned int, unsigned int) ()
#5 0x00000000089fa495 in wd33c9x_base_device::step(bool) ()
#6 0x000000000a5fe735 in device_scheduler::timeslice() ()
#7 0x000000000a599000 in running_machine::run(bool) ()
#8 0x0000000006868ae7 in mame_machine_manager::execute() ()
#9 0x0000000006915ffe in cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) ()
#10 0x0000000006916210 in cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) ()
#11 0x0000000006866552 in emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) ()
#12 0x0000000001fc4671 in main ()
(gdb) kill
Kill the program being debugged? (y or n) y
[Inferior 1 (process 4628) killed]
(gdb) quit
bash-5.1$
=============== WHERE 6.2 ===============
(gdb) r
Starting program: /usr/bin/mame indy_4610 -hard irix62_4096.chd -rp /mameh/irix/ -window -mouse -nomaximize -resolution 1280x1024 -cdrom /unix/IRIX\ 6.2/IRIX\ 6\ 2/IRIX\ 6.2\ CD1.iso
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffea964640 (LWP 4688)]
[New Thread 0x7fffd9cd9640 (LWP 4689)]
[New Thread 0x7fffc9c88640 (LWP 4690)]
[New Thread 0x7fffc9418640 (LWP 4691)]
[Thread 0x7fffc9418640 (LWP 4691) exited]
Thread 1 "mame" received signal SIGSEGV, Segmentation fault.
0x0000000007e824f9 in mips3_device::code_compile_block(unsigned char, unsigned int) ()
(gdb) where
#0 0x0000000007e824f9 in mips3_device::code_compile_block(unsigned char, unsigned int) ()
#1 0x0000000007e4e348 in mips3_device::execute_run() ()
#2 0x000000000a5fe8a6 in device_scheduler::timeslice() ()
#3 0x000000000a599000 in running_machine::run(bool) ()
#4 0x0000000006868ae7 in mame_machine_manager::execute() ()
#5 0x0000000006915ffe in cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) ()
#6 0x0000000006916210 in cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) ()
#7 0x0000000006866552 in emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) ()
#8 0x0000000001fc4671 in main ()
(gdb) kill
Kill the program being debugged? (y or n) y
[Inferior 1 (process 4684) killed]
(gdb) quit
bash-5.1$
=============== WHERE 6.5 ===============
(gdb) r
Starting program: /usr/bin/mame indy_4610 -hard irix65_4096.chd -rp /mameh/irix/ -window -mouse -nomaximize -resolution 1280x1024 -cdrom /unix/IRIX\ 6.5/IRIX\ 6.5\ Installation\ Tools\ June\ 1998.img
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7fffea964640 (LWP 4795)]
[New Thread 0x7fffd9cd9640 (LWP 4796)]
[New Thread 0x7fffc9c88640 (LWP 4797)]
[New Thread 0x7fffc9418640 (LWP 4798)]
[Thread 0x7fffc9418640 (LWP 4798) exited]
Thread 1 "mame" received signal SIGSEGV, Segmentation fault.
0x000000000af43dfa in read_partial_sector(cdrom_file*, void*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool) ()
(gdb) where
#0 0x000000000af43dfa in read_partial_sector(cdrom_file*, void*, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, bool) ()
#1 0x000000000af44308 in cdrom_read_data(cdrom_file*, unsigned int, void*, unsigned int, bool) ()
#2 0x0000000007370671 in nscsi_cdrom_device::scsi_get_data(int, int) ()
#3 0x00000000087efbf7 in nscsi_full_device::step(bool) ()
#4 0x00000000087ee72c in nscsi_bus_device::ctrl_w(int, unsigned int, unsigned int) ()
#5 0x00000000089fa495 in wd33c9x_base_device::step(bool) ()
#6 0x000000000a5fe735 in device_scheduler::timeslice() ()
#7 0x000000000a599000 in running_machine::run(bool) ()
#8 0x0000000006868ae7 in mame_machine_manager::execute() ()
#9 0x0000000006915ffe in cli_frontend::start_execution(mame_machine_manager*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) ()
#10 0x0000000006916210 in cli_frontend::execute(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) ()
#11 0x0000000006866552 in emulator_info::start_frontend(emu_options&, osd_interface&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >&) ()
#12 0x0000000001fc4671 in main ()
(gdb) kill
Kill the program being debugged? (y or n) y
[Inferior 1 (process 4791) killed]
(gdb) quit
bash-5.1$
It does appear to be a different issue though, apparently something with CD-ROM emulation. Have you tried using the IRIX CDs from the software list in CHD format rather than your “IMG” format CD-ROM image?
No, I haven't and didn't know that software list exists. Also I never found a reliable site for rom downloads. If you can post the relevant links that would be very appreciated.
What kind of image is it supposed to be anyway? Is it a raw sector image of a data track or something else? The usual CD-ROM formats are ISO sector images, and various CUE/BIN and TOC/BIN formats with separate table of contents and data files.
All the images come from archive.org:
bash-5.1$ file IRIX\ 5.3\ for\ Indy\ R4400\ 175MHz.img
IRIX 5.3 for Indy R4400 175MHz.img: SGI disk label (volume header)
bash-5.1$ fdisk -l IRIX\ 5.3\ for\ Indy\ R4400\ 175MHz.img
Disk IRIX 5.3 for Indy R4400 175MHz.img: 501.05 MiB, 525393920 bytes, 1026160 sectors
Geometry: 255 heads, 63 sectors/track, 63 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: sgi
Device Start End Sectors Size Id Type Attrs
IRIX 5.3 for Indy R4400 175MHz.img8 61504 1025559 964056 470.7M 5 SGI sysv
IRIX 5.3 for Indy R4400 175MHz.img9 0 61503 61504 30M 0 SGI volhdr
IRIX 5.3 for Indy R4400 175MHz.img11 0 1025567 1025568 500.8M 6 SGI volume
Partition table entries are not in disk order.
bash-5.1$ file IRIX\ 6.2\ CD1.iso
IRIX 6.2 CD1.iso: SGI disk label (volume header)
bash-5.1$ fdisk -l IRIX\ 6.2\ CD1.iso
Disk IRIX 6.2 CD1.iso: 544.85 MiB, 571314176 bytes, 1115848 sectors
Geometry: 255 heads, 63 sectors/track, 69 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: sgi
Device Start End Sectors Size Id Type Attrs
IRIX 6.2 CD1.iso8 63872 1115255 1051384 513.4M 5 SGI sysv
IRIX 6.2 CD1.iso9 0 63871 63872 31.2M 0 SGI volhdr
IRIX 6.2 CD1.iso11 0 1115263 1115264 544.6M 6 SGI volume
Partition table entries are not in disk order.
bash-5.1$ file IRIX\ 6.5\ Installation\ Tools\ June\ 1998.img
IRIX 6.5 Installation Tools June 1998.img: SGI disk label (volume header)
bash-5.1$ fdisk -l IRIX\ 6.5\ Installation\ Tools\ June\ 1998.img
Disk IRIX 6.5 Installation Tools June 1998.img: 296.73 MiB, 311140352 bytes, 607696 sectors
Geometry: 255 heads, 63 sectors/track, 37 cylinders
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: sgi
Device Start End Sectors Size Id Type Attrs
IRIX 6.5 Installation Tools June 1998.img8 47712 607095 559384 273.1M 5 SGI sysv
IRIX 6.5 Installation Tools June 1998.img9 0 47711 47712 23.3M 0 SGI volhdr
IRIX 6.5 Installation Tools June 1998.img11 0 607103 607104 296.4M 6 SGI volume
Partition table entries are not in disk order.