Bug 500514 - Mythtv crash in mesa glXWaitX with radeon
Mythtv crash in mesa glXWaitX with radeon
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: mesa (Show other bugs)
11
All Linux
low Severity medium
: ---
: ---
Assigned To: Adam Jackson
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-05-12 20:07 EDT by Martin Ebourne
Modified: 2010-03-21 22:04 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-03-21 22:04:28 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 (137.19 KB, text/plain)
2009-05-12 20:10 EDT, Martin Ebourne
no flags Details


External Trackers
Tracker ID Priority Status Summary Last Updated
Launchpad 341898 None None None Never
Launchpad 355242 None None None Never

  None (edit)
Description Martin Ebourne 2009-05-12 20:07:05 EDT
Description of problem:
Mythtv crashes on startup in mesa code most of the time, sometimes it works.

Version-Release number of selected component (if applicable):
mesa-libGL-7.5-0.14.fc11.x86_64

How reproducible:
Most of the time

Steps to Reproduce:
1. Run mythtv

Actual results:
Crashes in glXWaitX

Expected results:
Should run normally

Additional info:

This looks the same as ubuntu bugs:
https://bugs.launchpad.net/ubuntu/+source/mythtv/+bug/355242
https://bugs.launchpad.net/ubuntu/+source/mythtv/+bug/341898?comments=all
I didn't find the ubuntu patches though.

Debugged this some on fedora:

Program received signal SIGSEGV, Segmentation fault.
0xffffffff01db5600 in ?? ()
(gdb) bt
#0  0xffffffff01db5600 in ?? ()
#1  0x00007ffff533a566 in glXWaitX () at glxcmds.c:660
#2  0x000000356d7bd62a in QGLWidget::resizeEvent(QResizeEvent*) () from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#3  0x000000356d5936a3 in QWidget::event(QEvent*) () from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#4  0x000000356d4fa905 in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#5  0x000000356d4fc380 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#6  0x000000356d4fc0ad in QApplication::sendPostedEvents(QObject*, int) () from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#7  0x000000356d595245 in QWidget::show() () from /usr/lib64/qt-3.3/lib/libqt-mt.so.3
#8  0x00007ffff581565d in MythMainWindow::Show() () from /usr/lib64/libmythui-0.21.so.0
#9  0x00007ffff581586d in MythMainWindow::Init() () from /usr/lib64/libmythui-0.21.so.0
#10 0x000000000042a715 in main ()
(gdb) l
655             __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, gc->currentDrawable, &screen);
656
657             if ( pdraw != NULL ) {
658                 __GLXscreenConfigs * const psc = GetGLXScreenConfigs(dpy, screen);
659                 if (psc->driScreen->waitX != NULL)
660                     (*psc->driScreen->waitX)(pdraw);
661             } else
662                 XSync(dpy, False);
663             return;
664         }
(gdb) print psc
$1 = (__GLXscreenConfigs * const) 0x47206769666e6f63
(gdb) print *psc
Cannot access memory at address 0x47206769666e6f63
(gdb) print dpy
$2 = (Display *) 0x895900
(gdb) print screen
$5 = 0
(gdb) print *dpy
$6 = {
  ext_data = 0xa050c0, 
  free_funcs = 0x89fda0, 
  fd = 9, 
  conn_checker = 0, 
  proto_major_version = 11, 
  proto_minor_version = 0, 
  vendor = 0x8963f0 "The X.Org Foundation", 
  resource_base = 56623104, 
  resource_mask = 2097151, 
  resource_id = 0, 
  resource_shift = 0, 
  resource_alloc = 0x3568a4cc80 <_XAllocID>, 
  byte_order = 0, 
  bitmap_unit = 32, 
  bitmap_pad = 32, 
  bitmap_bit_order = 0, 
  nformats = 7, 
  pixmap_format = 0x89fdf0, 
  vnumber = 11, 
  release = 10601000, 
  head = 0xd07580, 
  tail = 0xd0ccc0, 
  qlen = 37, 
  last_request_read = 268, 
  request = 268, 
  last_req = 0x3568d3a744 "", 
  buffer = 0x89bd90 "\16\2\2", 
  bufptr = 0x89bd90 "\16\2\2", 
  bufmax = 0x89fd90 "", 
  max_request_size = 65535, 
  db = 0x8a5080, 
  synchandler = 0, 
  display_name = 0x8963b0 ":0.0", 
  default_screen = 0, 
  nscreens = 1, 
  screens = 0x89fea0, 
  motion_buffer = 256, 
  flags = 128, 
  min_keycode = 8, 
  max_keycode = 255, 
  keysyms = 0x0, 
  modifiermap = 0x0, 
  keysyms_per_keycode = 0, 
  xdefaults = 0x8a15e0 "*background:\t#e8e8e8\n*beNiceToColormap:\tFalse\n*shapeStyle:\tRectangle\nEmacs*background:\twhite\nEmacs*bitmapIcon:\ton\nEmacs*cursorColor:\tgreen\nEmacs*font:\t6x13\nEmacs*foreground:\tblack\nEmacs*reverseVideo:\t"..., 
  scratch_buffer = 0x0, 
  scratch_length = 0, 
  ext_number = 14, 
  ext_procs = 0xa06a30, 
  event_vec = {0x3568a44710 <_XUnknownWireEvent>, 0x3568a44710 <_XUnknownWireEvent>, 0x3568a45070 <_XWireToEvent> <repeats 33 times>, 0x3569a0e180, 0x3568a44710 <_XUnknownWireEvent> <repeats 41 times>, 
    0x356c2075c0 <repeats 17 times>, 0x3569a0b410, 0x3569a0b410, 0x3568a9f110, 0x356ba040d0, 0x356ba040d0, 0x356b602100, 0x356b602100, 0x3568a44710 <_XUnknownWireEvent> <repeats 27 times>}, 
---Type <return> to continue, or q <return> to quit---
  wire_vec = {0x3568a44720 <_XUnknownNativeEvent>, 0x3568a44720 <_XUnknownNativeEvent>, 0 <repeats 33 times>, 0x3569a0e0f0 <_xgeEventToWire>, 0x3568a44720 <_XUnknownNativeEvent> <repeats 41 times>, 
    0x356c203190 <_XiEventToWire> <repeats 17 times>, 0x3569a0a640, 0x3569a0a640, 0x3568a44720 <_XUnknownNativeEvent>, 0x356ba04010, 0x356ba04010, 0x356b601ed0, 0x356b601ed0, 
    0x3568a44720 <_XUnknownNativeEvent> <repeats 27 times>}, 
  lock_meaning = 0, 
  lock = 0x0, 
  async_handlers = 0x0, 
  bigreq_size = 4194303, 
  lock_fns = 0x0, 
  idlist_alloc = 0x3568a4cb40 <_XAllocIDs>, 
  key_bindings = 0x0, 
  cursor_font = 0, 
  atoms = 0x8a4450, 
  mode_switch = 0, 
  num_lock = 0, 
  context_db = 0x0, 
  error_vec = 0x0, 
  cms = {
    defaultCCCs = 0x0, 
    clientCmaps = 0x0, 
    perVisualIntensityMaps = 0x0
  }, 
  im_filters = 0x0, 
  qfree = 0x0, 
  next_event_serial_num = 38, 
  flushes = 0x0, 
  im_fd_info = 0x0, 
  im_fd_length = 0, 
  conn_watchers = 0x0, 
  watcher_count = 0, 
  filedes = 0x89bd60 "\t", 
  savedsynchandler = 0, 
  resource_max = 2097146, 
  xcmisc_opcode = 0, 
  xkb_info = 0x8a0f30, 
  trans_conn = 0x0, 
  xcb = 0x896340
}

Clearly the psc pointer shouldn't be composed of ASCII. The difference between successful and unsuccessful runs is that when it works this code is not executed. For now I've rebuilt with that code disabled and seems to be working ok.
Comment 1 Martin Ebourne 2009-05-12 20:10:55 EDT
Created attachment 343674 [details]
Xorg log

Run with no xorg.conf.

Disabling DRI didn't seem to help.
Comment 2 Bug Zapper 2009-06-09 11:43:19 EDT
This bug appears to have been reported against 'rawhide' during the Fedora 11 development cycle.
Changing version to '11'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 3 Jason Grant 2009-10-16 23:32:23 EDT
I am seeing something similar to this running f11 with XFCE on an ion box (i.e. nvidia 9400).  Suggest changing the subject of this bug because it is not Raedon specific?

Here is my gdb stack:

#0  0x00000001 in ?? ()
#1  0x06dd31e1 in glXWaitX () from /usr/lib/libGL.so.1
#2  0x0603c2b7 in QGLWidget::resizeEvent(QResizeEvent*) ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#3  0x05ddee91 in QWidget::event(QEvent*) ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#4  0x05d38ccd in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#5  0x05d3aa80 in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#6  0x05d3a77e in QApplication::sendPostedEvents(QObject*, int) ()
   from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#7  0x05de0aec in QWidget::show() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x0737a325 in MythMainWindow::Show() () from /usr/lib/libmythui-0.21.so.0
#9  0x0738640d in MythMainWindow::Init() () from /usr/lib/libmythui-0.21.so.0
#10 0x0806c9ea in QWidget::setUpdatesEnabled(bool) ()
#11 0x00902a66 in __libc_start_main () from /lib/libc.so.6
#12 0x08060181 in QWidget::setUpdatesEnabled(bool) ()
Comment 4 Jason Grant 2009-10-16 23:37:27 EDT
Oh yeah, my segfault above occurs on most startups of mythfrontent on a frontend-only box.

In case it helps, crashes occur in different spots according to whether I run in windowed mode, or with different debugging output.  Here are some records from /var/log/messages.

Oct 16 22:10:16 rock kernel: mythfrontend[3226] general protection ip:6089f81 sp:b5dfec40 error:0 in libqt-mt.so.3.3.8[5af3000+825000]
Oct 17 11:33:48 rock kernel: mythfrontend[2639]: segfault at 134c ip 0000134c sp bfbac01c error 4 in libfreetype.so.6.3.20[110000+8f000]
Oct 17 11:33:53 rock kernel: mythfrontend[2656]: segfault at 134c ip 0000134c sp bfd8c93c error 4 in libmythupnp-0.21.so.0.21.0[110000+98000]
Oct 17 11:34:01 rock kernel: mythfrontend[2673]: segfault at 39 ip 00000039 sp bfec6a5c error 4 in libXext.so.6.4.0[110000+f000]
Oct 17 11:34:19 rock kernel: mythfrontend[2692]: segfault at 2e0038 ip 002e003a sp bf97ea1c error 7 in libXt.so.6.0.0[2d6000+57000]
Oct 17 11:34:28 rock kernel: mythfrontend[2709]: segfault at 2e0038 ip 002e003a sp bfa8c60c error 7 in libXt.so.6.0.0[2d6000+57000]
Oct 17 11:34:32 rock kernel: mythfrontend[2726] general protection ip:6dd31df sp:bfbbff40 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:34:35 rock kernel: mythfrontend[2743]: segfault at 0 ip 002e008e sp bfe3a9c0 error 4 in libfaad.so.2.0.0[2d4000+3e000]
Oct 17 11:34:43 rock kernel: mythfrontend[2760] general protection ip:6dd31df sp:bf8a1430 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:35:14 rock kernel: mythfrontend[2778] general protection ip:6dd31df sp:bfc8c800 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:35:23 rock kernel: mythfrontend[2795] general protection ip:6dd31df sp:bf8a3410 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:35:41 rock kernel: mythfrontend[2812] general protection ip:6dd31df sp:bfb86ef0 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:37:58 rock kernel: mythfrontend[2846] general protection ip:6dd31df sp:bfa18c30 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:38:02 rock kernel: mythfrontend[2863]: segfault at 19 ip 00000019 sp bfb20f2c error 4 in libexpat.so.1.5.2[101000+25000]
Oct 17 11:41:39 rock kernel: mythfrontend[2943]: segfault at 2e0038 ip 002e003a sp bfd1e88c error 7 in libXt.so.6.0.0[2d6000+57000]
Oct 17 11:41:50 rock kernel: mythfrontend[2960]: segfault at 2e0030 ip 002e0030 sp bff66acc error 7 in libXt.so.6.0.0[2d6000+57000]
Oct 17 11:41:54 rock kernel: mythfrontend[2977] general protection ip:6dd31df sp:bff832f0 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:42:11 rock kernel: mythfrontend[2994] general protection ip:6dd31df sp:bf8703e0 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:42:55 rock kernel: mythfrontend[3027]: segfault at 0 ip 002e0039 sp bfea1a0c error 6 in libXt.so.6.0.0[2d6000+57000]
Oct 17 11:48:56 rock kernel: mythfrontend[3047] general protection ip:2e0035 sp:bfd408ac error:0 in libXt.so.6.0.0[2d6000+57000]
Oct 17 11:52:42 rock kernel: mythfrontend[3108] general protection ip:6dd31df sp:bfe9a200 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 11:58:57 rock kernel: mythfrontend[3179]: segfault at 134c ip 0000134c sp bf8e547c error 4 in libX11.so.6.2.0[110000+12c000]
Oct 17 11:59:05 rock kernel: mythfrontend[3197] general protection ip:6dd31df sp:bf9504e0 error:0 in libGL.so.1.2[6dbb000+6d000]
Oct 17 12:00:14 rock kernel: mythfrontend[3251]: segfault at ffffffb4 ip 00a5b46b sp bfd08898 error 6
Oct 17 12:00:18 rock kernel: mythfrontend[3268] general protection ip:f6b3f0 sp:bfbc675c error:0
Comment 5 Jason Grant 2009-10-17 08:25:55 EDT
Seems to be fixed now by upgrading mesa packages.  I am now running these, and the segfaults are gone:

[jas@talby temp]$ rpm -qa | grep mesa
mesa-libGLU-7.6-0.1.fc11.i586
mesa-libGLU-devel-7.6-0.1.fc11.i586
mesa-libGL-devel-7.6-0.1.fc11.i586
mesa-dri-drivers-7.6-0.1.fc11.i586
mesa-libGL-7.6-0.1.fc11.i586
Comment 6 Jason Grant 2009-10-17 08:30:13 EDT
Based on this fix, and how I found it, I think this bug is not a myth issue.  It's a mesa issue as reported in bug 508289.
Comment 7 Matěj Cepl 2009-11-05 13:29:11 EST
Since this bugzilla report was filed, there have been several major updates in various components of the Xorg system, which may have resolved this issue. Users who have experienced this problem are encouraged to upgrade their system to the latest version of their packages. For packages from updates-testing repository you can use command

yum upgrade --enablerepo='*-updates-testing'

Alternatively, you can also try to test whether this bug is reproducible with the upcoming Fedora 12 distribution by downloading LiveMedia of F12 Beta available at http://alt.fedoraproject.org/pub/alt/nightly-composes/ . By using that you get all the latest packages without need to install anything on your computer. For more information on using LiveMedia take a look at https://fedoraproject.org/wiki/FedoraLiveCD .

Please, if you experience this problem on the up-to-date system, let us now in the comment for this bug, or whether the upgraded system works for you.

If you won't be able to reply in one month, I will have to close this bug as INSUFFICIENT_DATA. Thank you.

[This is a bulk message for all open Fedora Rawhide Xorg-related bugs. I'm adding myself to the CC list for each bug, so I'll see any comments you make after this and do my best to make sure every issue gets proper attention.]
Comment 8 Matěj Cepl 2010-02-26 07:27:03 EST
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.

[Note please, that this is machine generated comment for large amount of bugs; due to some technical issues, it is possible we've missed some of the responses -- it is happens, please, just a make a comment about that; that we will see. Thank you]
Comment 9 Martin Ebourne 2010-03-21 22:04:28 EDT
Not sure if this was fixed in F11 updates (suspect it was) but I've upgraded to F13 alpha and removed my workaround and it works correctly now.

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