Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Aug 1995 22:27:32 +0200
From:      "Arnulf H.-P. Guenther" <arnulf@arnulf.dialup.fu-berlin.de>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   kern/677: X gets a bus error when calling mmap()
Message-ID:  <199508122027.WAA00352@arnulf.dialup.fu-berlin.de>
Resent-Message-ID: <199508122030.NAA17057@freefall.FreeBSD.org>

next in thread | raw e-mail | index | archive | help

>Number:         677
>Category:       kern
>Synopsis:       X gets a bus error when calling mmap()
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Aug 12 13:30:01 PDT 1995
>Last-Modified:
>Originator:     Arnulf H.-P. Guenther
>Organization:
none
>Release:        FreeBSD 2.0-BUILT-19950628 i386
>Environment:

I configured a mininal kernel with this file:

# $Id: MINI_EISA,v 1.1 1995/08/11 09:19:12 arnulf Exp arnulf $
ident MINI_EISA
machine "i386"
cpu "I486_CPU"
maxusers 10
options INET
options FFS
options KTRACE
config kernel root on sd0
controller isa0
controller ahb0 at isa? bio irq ? vector ahbintr
controller scbus0 at ahb0
disk sd0 at scbus0 target 0
disk sd1 at scbus0 target 1
device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr
device npx0 at isa? port "IO_NPX" irq 13 vector npxintr
pseudo-device loop
pseudo-device log
pseudo-device pty 16

This is the output of dmesg:

FreeBSD 2.1.0-950726-SNAP #0: Sat Aug 12 18:42:20 MET DST 1995
    arnulf@arnulf.dialup.fu-berlin.de:/usr/src/sys/compile/MINI_EISA
CPU: i486 DX2 (486-class CPU)
  Origin = "GenuineIntel"  Id = 0x435  Stepping=5
  Features=0x3<FPU,VME>
real memory  = 20578304 (5024 pages)
avail memory = 19435520 (4745 pages)
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
ahb0: reading board settings, int=11
ahb0 at 0x1000-0x10ff irq 11 on eisa slot 1
(ahb0:0:0): "QUANTUM LP240S GM240S01X 6.4" type 0 fixed SCSI 2
sd0(ahb0:0:0): Direct-Access 234MB (479350 512 byte sectors)
(ahb0:1:0): "IBM OEM 0662S12 3 30" type 0 fixed SCSI 2
sd1(ahb0:1:0): Direct-Access 1003MB (2055035 512 byte sectors)
(ahb0:2:0): "WANGTEK 5525ES SCSI REV7 3J" type 1 removable SCSI 1
uk0(ahb0:2:0): Unknown 
(ahb0:4:0): "TOSHIBA CD-ROM XM-3301TA 2162" type 5 removable SCSI 2
uk1(ahb0:4:0): Unknown 
npx0 on motherboard
npx0: INT 16 interface

>Description:

When the X S3 server starts to initialize the display, it gets an
signal 10 and exits with a core dump.  The display is messed up.
This doesn't happen with a kernel compiled under 2.0R or if in
XF86Config `Option "nomemacces"' is set. This also doesn't happen
with the option -probeonly.

With the following command sequence I created a ktrace.out and
captured the output of the X server:

ktrace -d -i -t cnis /usr/X11R6/bin/XF86_S3 >& X.out

These are the contents of X.out:

XFree86 Version 3.1.2 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: FreeBSD 2.0.5 
Configured drivers:
  S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
      mmio_928, s3_generic
Using syscons driver with X support (version 2.0)
(using VT number 8)

XF86Config: /usr/X11R6/lib/X11/XF86Config
(**) stands for supplied, (--) stands for probed/default values
(**) Mouse: type: Microsoft, device: /dev/mouse, baudrate: 1200
(**) S3: Graphics device ID: "S3 80C928"
(**) S3: Monitor ID: "MF-8617"
(**) FontPath set to "/usr/X11R6/lib/X11/fonts/100dpi/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/Speedo/"
(**) S3: Option "bt485_curs"
(**) S3: Option "dac_8_bit"
(--) S3: card type: EISA
(--) S3: chipset:   928, rev E or above
(**) S3: chipset driver: mmio_928
(**) S3: videoram:  4096k
(**) S3: Ramdac type: bt485
(--) S3: Ramdac speed: 135
(**) S3: Using hardware cursor from Bt485/20C505 RAMDAC
(**) S3: clocks:  40.35  56.64  65.00  72.00  80.00  89.80   0.00  29.50
(**) S3: clocks:  14.75  25.18  44.90  84.00 100.00 110.00 125.00 135.00
(--) S3: Maximum allowed dot-clock: 90.000 MHz
(**) S3: Mode "1024x768": mode clock =  85.000, clock used =  84.000
(**) S3: Using 8 bits per RGB value
(--) S3: Virtual resolution set to 1024x768

Fatal server error:
Caught signal 10.  Server aborting

This is an excerpt from the ktrace.out:

   173 XF86_S3  RET   setitimer 0
   173 XF86_S3  CALL  mmap(0,0x400000,0x3,0,0x4,0,0xff000000,0xffffffff)
   173 XF86_S3  RET   mmap 137244672/0x82e3000
   173 XF86_S3  CALL  munmap(0x82e3000,0x400000)
   173 XF86_S3  RET   munmap 0
   173 XF86_S3  CALL  mmap(0,0x400000,0x3,0,0x4,0,0xffc00000,0xffffffff)
   173 XF86_S3  RET   mmap 137244672/0x82e3000
   173 XF86_S3  PSIG  SIGBUS caught handler=0x44330 mask=0x0 code=0xc
   173 XF86_S3  CALL  sigaction(0xa,0xefbfdbd0,0xefbfdbc4)
   173 XF86_S3  RET   sigaction 0
   173 XF86_S3  CALL  write(0x2,0xefbfd4ac,0x15)
   173 XF86_S3  GIO   fd 2 wrote 21 bytes
       "
	Fatal server error:

I can provide the complete ktrace.out if needed.

>How-To-Repeat:

Just start XF86_S3 under 2.1 with the "nomemaccess" option in
XF86Config cleared.

>Fix:
	
Include the line

	Option "nomemaccess"

in the "Device" section.

--
Greetinx, -Arnulf
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508122027.WAA00352>