Date: Wed, 26 Nov 1997 15:11:12 +1030 From: Mike Smith <mike@smith.net.au> To: Thomas Gellekum <tg@ihf.rwth-aachen.de> Cc: emulation@FreeBSD.ORG Subject: Re: Problems with spicecad for Linux Message-ID: <199711260441.PAA02499@word.smith.net.au> In-Reply-To: Your message of "20 Nov 1997 09:43:17 BST." <87aff0dkgq.fsf@ghpc6.ihf.rwth-aachen.de>
next in thread | previous in thread | raw e-mail | index | archive | help
> sorry if you're receiving this mail a second time. Looks like there > was a problem with the lists yesterday. Sorry for the delay in responding. > Anyway, I'm trying to run spicecad-1.5 for Linux on 2.2.5-STABLE. The > binary crashes short after startup after a SIGBUS. Output from ktrace > looks like this: ... > 2566 spicecad-linux CALL ioctl(0,0x5401 ,0xefbfd09c) > 2566 spicecad-linux RET ioctl 0 > 2566 spicecad-linux CALL getpid > 2566 spicecad-linux RET getpid 2566/0xa06 These two look OK. > 2566 spicecad-linux CALL ktrace(0x84f9000) > 2566 spicecad-linux RET ktrace 139431936/0x84f9000 > 2566 spicecad-linux CALL obs_vread(0xb,0xefbfd084,0xefbfd074) > 2566 spicecad-linux RET obs_vread 0 Yup, register a SEGV handler. > 2566 spicecad-linux PSIG SIGSEGV caught handler=0x8058180 mask=0x0 code=0xc > 2566 spicecad-linux CALL obs_vread(0xb,0xefbfd020,0xefbfd010) > 2566 spicecad-linux RET obs_vread 0 > 2566 spicecad-linux PSIG SIGSEGV caught handler=0x8058180 mask=0x0 code=0xc > 2566 spicecad-linux CALL obs_vread(0xb,0xefbfd020,0xefbfd010) > 2566 spicecad-linux RET obs_vread 0 > 2566 spicecad-linux PSIG SIGSEGV caught handler=0x8058180 mask=0x0 code=0xc > 2566 spicecad-linux CALL obs_vread(0xb,0xefbfd020,0xefbfd010) > 2566 spicecad-linux RET obs_vread 0 > 2566 spicecad-linux PSIG SIGSEGV caught handler=0x8058180 mask=0x0 code=0xc > 2566 spicecad-linux CALL obs_vread(0xb,0xefbfd020,0xefbfd010) > 2566 spicecad-linux RET obs_vread 0 Catch and re-register several times. > 2566 spicecad-linux PSIG SIGBUS SIG_DFL And then SIGBUS. It's possible that it was expecting a SEGV here as well, but got SIGBUS due to a difference of opinion between FreeBSD and Linux. Without knowing why it got the signal, it's fairly impossible to tell though. You should look at the trap() function in i386/i386/ trap.c and look at where it returns SIGBUS to the process, and then compare this with Linux's reasons. mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711260441.PAA02499>