Bug 89236 - Segfault at X startup with ATI Rage 128 using r128 driver
Summary: Segfault at X startup with ATI Rage 128 using r128 driver
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/rage128 (show other bugs)
Version: unspecified
Hardware: x86 (IA32) Linux (All)
: medium normal
Assignee: Xorg Project Team
QA Contact: Xorg Project Team
Depends on:
Reported: 2015-02-19 23:01 UTC by Colin Pitrat
Modified: 2015-05-23 03:52 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:

Xorg.0.log from openSUSE Tumbleweed, kernel 4.0.3, server 1.17.1 and r128 driver 6.10.0 (10.93 KB, text/plain)
2015-05-23 03:34 UTC, Felix Miata
no flags Details

Description Colin Pitrat 2015-02-19 23:01:47 UTC
After upgrade of xorg-server from 1.16 to 1.17 I get the following error:

[  1327.041] (II) R128(0): initializing int10
[  1327.041] (EE) R128(0): Cannot read int vect
[  1327.041] (--) R128(0): Chipset: "ATI Rage 128 Pro ULTRA TF (AGP)" (ChipID = 0x5446)
[  1327.041] (--) R128(0): Linear framebuffer at 0xf8000000 
[  1327.041] (--) R128(0): MMIO registers at 0xfe9fc000
[  1327.041] (EE)  
[  1327.043] (EE) Backtrace:
[  1327.044] (EE) 0: /usr/lib/xorg-server/Xorg (xorg_backtrace+0x52) [0x81db3f2]
[  1327.045] (EE) 1: /usr/lib/xorg-server/Xorg (0x8048000+0x197612) [0x81df612]
[  1327.047] (EE) 2: linux-gate.so.1 (__kernel_rt_sigreturn+0x0) [0xb7768b94]
[  1327.047] (EE) 3: /usr/lib/xorg/modules/drivers/r128_drv.so (0xb6e30000+0x60b3) [0xb6e360b3]
[  1327.047] (EE) 4: /usr/lib/xorg-server/Xorg (InitOutput+0xa23) [0x80bf363]
[  1327.047] (EE) 5: /usr/lib/xorg-server/Xorg (0x8048000+0x369da) [0x807e9da]
[  1327.047] (EE) 6: /usr/lib/xorg-server/Xorg (0x8048000+0x20a1a) [0x8068a1a]
[  1327.047] (EE) 7: /usr/lib/libc.so.6 (__libc_start_main+0xde) [0xb72f264e]
[  1327.047] (EE) 8: /usr/lib/xorg-server/Xorg (0x8048000+0x20a48) [0x8068a48]
[  1327.047] (EE) 
[  1327.047] (EE) Segmentation fault at address 0x15
[  1327.047] (EE) 
Fatal server error:
[  1327.047] (EE) Caught signal 11 (Segmentation fault). Server aborting
[  1327.047] (EE) 
[  1327.047] (EE) 

I can get rid of the "Cannot read int vect" with Option NoInt10 "True" but:
 - I still get the segfault with xorg-server 1.17
 - when doing this with the xorg-server 1.16 (on which I didn't have this message) I cannot get high resolutions (1920x1080), only 1024x768 at best

Don't hesitate to tell me if I can do something to provide more information.

Comment 1 Connor Behan 2015-03-04 06:47:25 UTC
Thanks for reporting this. I have noticed two regressions for this driver between xorg-server 1.16 and 1.17.

1. Important headers refusing to be found at compile time.
2. Int10 breaking.

If this crash (which has affected at least one other person) is due to #1, then I've already fixed it. So you can try to compile the latest git. However, I suspect the crash is due to #2. If that's the case, I'll have to bisect for awhile to eventually get to the bottom of this.

Also, I'm not surprised that disabling Int10 prevents certain resolutions from working. Int10 brings up the VBIOS and that's where adjustments to certain video modes are stored.
Comment 2 Connor Behan 2015-03-08 18:21:56 UTC
Update. #2 has recently been fixed on the development list. It requires an xorg-server patch: http://patchwork.freedesktop.org/patch/41957/

If you can test this, it would be great.
Comment 3 Connor Behan 2015-03-24 02:49:23 UTC
I'm quite sure this is fixed in xf86-video-r128 commit cd72de385b5600229226c3a7248a89569b452136. Please reopen this bug if it's not.
Comment 4 Felix Miata 2015-05-23 03:34:41 UTC
Created attachment 115983 [details]
Xorg.0.log from openSUSE Tumbleweed, kernel 4.0.3, server 1.17.1 and r128 driver 6.10.0

Maybe this isn't fixed?
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rage 128 PRO Ultra AGP 4x

Same machine seems OK with openSUSE 13.2, kernel 3.16.7, server 1.16.1 and r128 driver 6.9.2.
Comment 5 Connor Behan 2015-05-23 03:52:38 UTC
The segfault has been fixed. What you're seeing is the upstream int10 bug that happened between servers 1.16 and 1.17. Are you able to build the patched server? http://cgit.freedesktop.org/xorg/xserver/commit/?id=0a78b599b34cc8b5fe6fe82f90e90234e8ab7a56

If not, you can try asking the people on xorg-devel to backport it. That way maybe it will come out before 1.18.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.