Bug 451636 - Sid Meier's Alpha Centauri (smac) crashes with an X Error: BadMatch, Request Major code 66 (PolySegment)
Sid Meier's Alpha Centauri (smac) crashes with an X Error: BadMatch, Request ...
Status: CLOSED EOL
Product: Fedora
Classification: Fedora
Component: xorg-x11-server (Show other bugs)
20
All Linux
low Severity medium
: ---
: ---
Assigned To: X/OpenGL Maintenance List
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-06-16 07:38 EDT by Jürgen Botz
Modified: 2018-04-11 04:04 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-06-29 20:32:26 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Xorg log (150.51 KB, text/plain)
2012-12-31 09:47 EST, David Howells
no flags Details
Kernel boot dmesg log (92.25 KB, application/octet-stream)
2012-12-31 09:48 EST, David Howells
no flags Details
xtrace of smacx, including the failing operation (54.23 KB, application/x-bzip)
2014-02-15 10:09 EST, David Howells
no flags Details

  None (edit)
Description Jürgen Botz 2008-06-16 07:38:34 EDT
Right after starting a game, Sid Meier's Alpha Centauri (the Loki version)
crashes with the following error:

X Error:  BadMatch
  Request Major code 66 ()
  Error Serial #404
  Current SErial #407

This happens repeatably on two machines with different graphics cards/drivers,
so it's not a driver issue.

I realize it's an ancient binary, but it worked fine in F7.  I didn't try F8.

Version-Release number of selected component (if applicable):
xorg-x11-server-common-1.4.99.902-3.20080612.fc9
Comment 1 Matěj Cepl 2008-06-16 10:27:03 EDT
Thanks for the bug report.  We have reviewed the information you have provided
above, and there is some additional information we require that will be helpful
in our diagnosis of this issue.

Please attach your X server config file (/etc/X11/xorg.conf) and X server log
file (/var/log/Xorg.*.log) to the bug report as individual uncompressed file
attachments using the bugzilla file attachment link below.

Could you please also try to run without any /etc/X11/xorg.conf whatsoever and
let X11 autodetect your display and video card? Attach to this bug
/var/log/Xorg.0.log from this attempt as well, please.

We will review this issue again once you've had a chance to attach this information.

Thanks in advance.
Comment 2 Matěj Cepl 2008-07-17 19:11:32 EDT
Reporter, could you please reply to the previous question? If you won't reply in
one month, I will have to close this bug as INSUFFICIENT_DATA. Thank you.
Comment 3 Matěj Cepl 2008-09-18 10:51:26 EDT
Since there are insufficient details provided in this report for us to investigate the issue further, and we have not received feedback to the information we have requested above, we will assume the problem was not reproducible, or has been fixed in one of the updates we have released for the reporter's distribution.

Users who have experienced this problem are encouraged to upgrade to the latest update of their distribution, and if this issue turns out to still be reproducible in the latest update, please reopen this bug with additional information.

Closing as INSUFFICIENT_DATA.
Comment 4 David Howells 2012-12-31 09:34:03 EST
I'm seeing this with Loki version of Alpha Centauri Crossfire on Fedora 17:

warthog>smacx
X Error:  BadMatch
  Request Major code 66 ()
  Error Serial #48569
  Current Serial #48572
Comment 5 David Howells 2012-12-31 09:46:02 EST
I should mention that the game runs okay for a while and then jumps out with that error.  I'm using KDE with compositing disabled.  I have an Nvidia GeForce GTS450 based graphics card.  The problem happens with both the nouveau driver shipped in Fedora and NVidia's own driver.

kernel-3.6.10-2.fc17.x86_64
xorg-x11-drv-nouveau-0.0.16-37.20120306gitf5d1cd2.fc17.x86_64
xorg-x11-server-Xorg-1.12.4-1.fc17.x86_64
libX11-1.5.0-2.fc17.x86_64
kdelibs-4.9.4-5.fc17.x86_64
xorg-x11-drv-evdev-2.7.0-2.fc17.x86_64

The smacx binary itself is statically linked.

I don't have an xorg.conf file.  There is one fragment in the xorg.conf.d directory for doing keyboard stuff:

warthog>cat /etc/X11/xorg.conf.d/00-system-setup-keyboard.conf 
# This file is autogenerated by system-setup-keyboard. Any 
# modifications will be lost.

Section "InputClass"
        Identifier      "system-setup-keyboard"
        MatchIsKeyboard "on"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "gb"
#       Option          "XkbVariant"    "(null)"
        Option          "XkbOptions"    "terminate:ctrl_alt_bksp,"
EndSection
Comment 6 David Howells 2012-12-31 09:47:01 EST
Created attachment 670794 [details]
Xorg log
Comment 7 David Howells 2012-12-31 09:48:19 EST
Created attachment 670795 [details]
Kernel boot dmesg log
Comment 8 Fedora End Of Life 2013-07-04 02:56:19 EDT
This message is a reminder that Fedora 17 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 17. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '17'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 17's end of life.

Bug Reporter:  Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 17 is end of life. If you 
would still like  to see this bug fixed and are able to reproduce it 
against a later version  of Fedora, you are encouraged  change the 
'version' to a later Fedora version prior to Fedora 17's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 9 Fedora End Of Life 2013-12-21 09:50:50 EST
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 10 David Howells 2014-02-15 10:09:07 EST
Created attachment 863591 [details]
xtrace of smacx, including the failing operation

I built a copy of xtrace and ran smacx under it and managed to get a log of the operations, including the operation that fails.

The final piece of the log looks like this:

001:<:031f: 16: Request(84): AllocColor cmap=0x05c00011 red=0x7400 green=0xc000 blue=0xa000
001:>:031f:32: Reply to AllocColor: red=0x7474 green=0xc0c0 blue=0xa0a0 pixel=0xff74c0a0
001:<:0320: 24: Request(55): CreateGC cid=0x05c00031 drawable=0x0000028d values={foreground=0xff74c0a0 line-width=2}
001:<:0321: 20: Request(66): PolySegment drawable=0x05c00014 gc=0x05c00031 segments={x1=240 y1=116 x2=325 y2=561};
001:<:0322:  8: Request(60): FreeGC gc=0x05c00031
001:<:0323: 16: Request(88): FreeColors cmap=0x05c00011 plane-mask=0x00000000 pixels=0xff74c0a0;
001:<:0324:  4: Request(43): GetInputFocus 
001:>:0321:Error 8=Match: major=66, minor=0, bad=96469041
001:>:0324:32: Reply to GetInputFocus: revert-to=PointerRoot(0x01) focus=0x05c00013

Note that in the Error line, bad=96469041 is actually bad=0x5c00031 - ie. the cid= parameter to CreateGC on the third line and the gc= parameter to PolySegment on the fourth line.
Comment 11 David Howells 2014-02-15 14:00:44 EST
I've traced the X server down into ProcPolySegment().  It calls VALIDATE_DRAWABLE_AND_GC() which finds that the first half of this fails:

	if ((pGC->depth != pDraw->depth) || (pGC->pScreen != pDraw->pScreen))\
	    return BadMatch;\

pGC->depth is 24 and pDraw->depth is 32.
Comment 12 David Howells 2014-02-15 14:33:05 EST
The drawable in question was created like this (id 0x05c00014):

001:<:005b: 44: Request(1): CreateWindow depth=0x20 window=0x05c00014 parent=0x05c00013 x=0 y=0 width=1024 height=768 border-width=0 class=InputOutput(0x0001) visual=0x00000023 value-list={background-pixel=0x00000000 border-pixel=0x00000000 colormap=0x05c00011}

and is created with a depth of 32 bits.

The GC in question (id 0x05c00031), however, was created from the root window (id 0x0000028d) which has a depth of 24 bits.

The PolySegment request then tries to draw on the 32-bit drawable with a 24-bit GC.

This would appear to be a bug in the application and, unfortunately, now unfixable.
Comment 13 Fedora End Of Life 2015-05-29 04:35:22 EDT
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 14 Fedora End Of Life 2015-06-29 20:32:26 EDT
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.