Skip site navigation (1)Skip section navigation (2)
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>