Bug 85205
Summary: | xscreensaver-demo now produces a segmentation fault | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Raw Hide | Reporter: | Michael Lee Yohe <michael> | ||||||||
Component: | xscreensaver | Assignee: | Bill Nottingham <notting> | ||||||||
Status: | CLOSED RAWHIDE | QA Contact: | |||||||||
Severity: | high | Docs Contact: | |||||||||
Priority: | medium | ||||||||||
Version: | 1.0 | CC: | darren, rvokal, tomg, triad, wendigo3 | ||||||||
Target Milestone: | --- | ||||||||||
Target Release: | --- | ||||||||||
Hardware: | i686 | ||||||||||
OS: | Linux | ||||||||||
Whiteboard: | |||||||||||
Fixed In Version: | 4.12-1 | Doc Type: | Bug Fix | ||||||||
Doc Text: | Story Points: | --- | |||||||||
Clone Of: | Environment: | ||||||||||
Last Closed: | 2003-09-10 17:04:49 UTC | Type: | --- | ||||||||
Regression: | --- | Mount Type: | --- | ||||||||
Documentation: | --- | CRM: | |||||||||
Verified Versions: | Category: | --- | |||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||
Embargoed: | |||||||||||
Attachments: |
|
Description
Michael Lee Yohe
2003-02-26 17:11:10 UTC
Created attachment 90383 [details]
strace output of xscreensaver-demo
Can you attach your .xscreensaver file? If you remove/move away your .xscreensaver file, does it work? If I remove the .xscreensaver file - it works fine. I will attach the file. Created attachment 90384 [details]
The culprit!
Hm, even with that .xscreensaver file, it works for me. Can you get a backtrace after installing http://people.redhat.com/notting/xscreensaver-debuginfo-4.07-2.i386.rpm ? I dunno - maybe I'm just plain 'tarded. $ rpm -q xscreensaver-debuginfo xscreensaver-debuginfo-4.07-2 $ pwd /usr/lib/debug/usr/X11R6/bin $ ldd ./xscreensaver-demo.debug ldd: /lib/ld-linux.so.2 exited with unknown exit code (139) $ ./xscreensaver-demo.debug bash: ./xscreensaver-demo.debug: Permission denied Am I missing something? You run gdb on the executable as normal... I know that. As root, I run gdb on the executable from the RPM: # gdb ./xscreensaver-demo.debug GNU gdb Red Hat Linux (5.2.1-4) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"... (gdb) r Starting program: /usr/lib/debug/usr/X11R6/bin/xscreensaver-demo.debug /bin/bash: line 1: /usr/lib/debug/usr/X11R6/bin/xscreensaver-demo.debug: Permission denied /bin/bash: line 1: /usr/lib/debug/usr/X11R6/bin/xscreensaver-demo.debug: Success Program exited with code 01. warning: Unable to find dynamic linker breakpoint function. GDB will be unable to debug shared library initializers and track explicitly loaded dynamic code. You can't do that without a process to debug. (gdb) I can't even run ldd to see what the executable is linked to. Do I require another debuginfo RPM to run this binary? No, *the executable*. xscreensaver-demo. Not the debug file. Okay.. I am a 'tard. I get the same output from gdb as the initial comment in this bug. There should be more symbol information there. Step by step - and the output. Please let me know what I have done wrong. $ rpm -qa | grep xscreensaver xscreensaver-debuginfo-4.07-2 xscreensaver-4.07-2 $ gdb xscreensaver-demo GNU gdb Red Hat Linux (5.2.1-4) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"...(no debugging symbols found)... --> NOTE: there are no debugging symbols found $ gdb --symbols=/usr/lib/debug/usr/X11R6/bin/xscreensaver-demo.debug xscreensaver-demo GNU gdb Red Hat Linux (5.2.1-4) Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux"...(no debugging symbols found)... (gdb) --> NOTE: still no debugging symbols found. What to do.. what to do..? (gdb) r Starting program: /usr/X11R6/bin/xscreensaver-demo Program received signal SIGSEGV, Segmentation fault. 0x420741ee in malloc_consolidate () from /lib/i686/libc.so.6 (gdb) where #0 0x420741ee in malloc_consolidate () from /lib/i686/libc.so.6 #1 0x42073ab7 in _int_malloc () from /lib/i686/libc.so.6 #2 0x42073155 in malloc () from /lib/i686/libc.so.6 #3 0x0804ef7f in write_init_file () #4 0x0805514b in demo_write_init_file () #5 0x0805673d in flush_dialog_changes_and_save () #6 0x08057407 in list_select_changed_cb () #7 0x4046bd01 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #8 0x404570c0 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #9 0x4046b8b4 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0 #10 0x4046a888 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #11 0x4046aaf4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 #12 0x401ca21a in _gtk_tree_selection_internal_select_node () from /usr/lib/libgtk-x11-2.0.so.0 #13 0x401c8e60 in gtk_tree_selection_select_path () from /usr/lib/libgtk-x11-2.0.so.0 #14 0x401c916f in gtk_tree_selection_select_iter () from /usr/lib/libgtk-x11-2.0.so.0 #15 0x08055541 in force_list_select_item () #16 0x08057d80 in scroll_to_current_hack () #17 0x0805bb18 in main () #18 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6 (gdb) Woops, to use separate debug info you need rawhide gdb. Created attachment 90435 [details]
.xscreensaver file
I'm seeing the same behavior as the bug reporter and thought it might help if
you have two .xscreensaver files to test out.
Forgot to include that I'm seeing this on an install of phoebe3 w/o rawhide packages. [tomg@gemini tomg]$ rpm -q xscreensaver xscreensaver-4.07-2 Program received signal SIGSEGV, Segmentation fault. 0x420747be in malloc_consolidate () from /lib/tls/libc.so.6 (gdb) back #0 0x420747be in malloc_consolidate () from /lib/tls/libc.so.6 #1 0x42073e09 in _int_malloc () from /lib/tls/libc.so.6 #2 0x420731fb in malloc () from /lib/tls/libc.so.6 #3 0x0804f065 in write_init_file (p=0xbfffe6b8, version_string=0x74 <Address 0x74 out of bounds>, verbose_p=0) at prefs.c:704 #4 0x080551db in demo_write_init_file (s=0xbfffe660, p=0x74) at demo-Gtk.c:896 #5 0x080567c6 in flush_dialog_changes_and_save (s=0xbfffe660) at demo-Gtk.c:1451 #6 0x080574d7 in list_select_changed_cb (selection=0x74, data=0xbfffe660) at demo-Gtk.c:1666 #7 0x404c1d77 in g_cclosure_marshal_VOID__VOID (closure=0x81d4160, return_value=0x0, n_param_values=1, param_values=0x74, invocation_hint=0xbfffd688, marshal_data=0x0) at gmarshal.c:77 #8 0x404aeed7 in g_closure_invoke (closure=0x81d4160, return_value=0x74, n_param_values=116, param_values=0x74, invocation_hint=0x74) at gclosure.c:437 #9 0x404c1983 in signal_emit_unlocked_R (node=0x8118e30, detail=0, instance=0x8118e78, emission_return=0x0, instance_and_params=0xbfffd780) at gsignal.c:2822 #10 0x404c09a8 in g_signal_emit_valist (instance=0x8118e78, signal_id=0, detail=0, var_args=0xbfffd90c "\001") at gsignal.c:2554 #11 0x404c0be4 in g_signal_emit (instance=0x74, signal_id=116, detail=116) at gsignal.c:2612 #12 0x401c7f0a in _gtk_tree_selection_internal_select_node ( selection=0x8118e30, node=0x8148c08, tree=0x8148b60, path=0x81d3778, state=0, override_browse_mode=0) at gtktreeselection.c:1430 #13 0x401e0eea in gtk_tree_view_real_set_cursor (tree_view=0x8118e30, path=0x81d3778, clear_and_select=1, clamp_node=0) at gtktreeview.c:9630 #14 0x401dbeb9 in gtk_tree_view_focus_to_cursor (tree_view=0x8118ae0) at gtktreeview.c:7239 #15 0x404c1d77 in g_cclosure_marshal_VOID__VOID (closure=0x8118ae0, return_value=0x0, n_param_values=1, param_values=0x74, invocation_hint=0xbfffdb18, marshal_data=0x401d8ed0) at gmarshal.c:77 #16 0x404af247 in g_type_class_meta_marshal (closure=0x81d3778, return_value=0x74, n_param_values=116, param_values=0x8118ae0, invocation_hint=0x74, marshal_data=0x74) at gclosure.c:514 #17 0x404aeed7 in g_closure_invoke (closure=0x8118ae0, return_value=0x74, n_param_values=116, param_values=0x74, invocation_hint=0x74) at gclosure.c:437 #18 0x404c1439 in signal_emit_unlocked_R (node=0x80a43c8, detail=0, instance=0x8118ae0, emission_return=0x0, instance_and_params=0xbfffdc10) at gsignal.c:2860 #19 0x404c09a8 in g_signal_emit_valist (instance=0x8118ae0, signal_id=0, detail=0, var_args=0xbfffdd9c "ZC\036@h?\035\bH\f\035\b?????\230(@?\230(@0G\n\bx????&\035@?\212\021\b?\205'@\030????\205'@\034???") at gsignal.c:2554 #20 0x404c0be4 in g_signal_emit (instance=0x74, signal_id=116, detail=116) at gsignal.c:2612 #21 0x401f7112 in gtk_widget_grab_focus (widget=0x0) at gtkwidget.c:3406 #22 0x401d26ae in gtk_tree_view_button_press (widget=0x8118ae0, event=0x81cfb38) at gtktreeview.c:1832 #23 0x40110c2f in _gtk_marshal_BOOLEAN__BOXED (closure=0x80a4730, return_value=0xbfffdfd0, n_param_values=2, param_values=0xbfffe0f0, invocation_hint=0xbfffdff8, marshal_data=0x401d1ce0) at gtkmarshalers.c:82 #24 0x404af247 in g_type_class_meta_marshal (closure=0xbfffe0f0, return_value=0x74, n_param_values=116, param_values=0x80a4730, invocation_hint=0x74, marshal_data=0x74) at gclosure.c:514 #25 0x404aeed7 in g_closure_invoke (closure=0x80a4730, return_value=0x74, n_param_values=116, param_values=0x74, invocation_hint=0x74) at gclosure.c:437 #26 0x404c1439 in signal_emit_unlocked_R (node=0x80a4780, detail=0, instance=0x8118ae0, emission_return=0xbfffe090, instance_and_params=0xbfffe0f0) at gsignal.c:2860 #27 0x404c07af in g_signal_emit_valist (instance=0x8118ae0, signal_id=0, detail=0, var_args=0xbfffe280 "\210???\210???") at gsignal.c:2564 #28 0x404c0be4 in g_signal_emit (instance=0x74, signal_id=116, detail=116) at gsignal.c:2612 #29 0x401f66fb in gtk_widget_event_internal (widget=0x0, event=0x1) at gtkwidget.c:3143 #30 0x40110a27 in gtk_propagate_event (widget=0x8118ae0, event=0x81cfb38) at gtkmain.c:2267 #31 0x4010f725 in gtk_main_do_event (event=0x81cfb38) at gtkmain.c:1502 #32 0x403c71a5 in gdk_event_dispatch (source=0x74, callback=0, user_data=0x0) at gdkevents-x11.c:2018 #33 0x40505b35 in g_main_dispatch (context=0x8086c00) at gmain.c:1653 #34 0x40506b78 in g_main_context_dispatch (context=0x81cfb38) at gmain.c:2197 #35 0x40506e8d in g_main_context_iterate (context=0x8086c00, block=1, dispatch=1, self=0x80c6900) at gmain.c:2278 #36 0x4050758f in g_main_loop_run (loop=0x81d89a0) at gmain.c:2498 #37 0x4010ef5f in gtk_main () at gtkmain.c:1092 #38 0x0805be99 in main (argc=1, argv=0xbfffe7e4) at demo-Gtk.c:4515 #39 0x42015504 in __libc_start_main () from /lib/tls/libc.so.6 *** Bug 88213 has been marked as a duplicate of this bug. *** *** Bug 88739 has been marked as a duplicate of this bug. *** *** Bug 88991 has been marked as a duplicate of this bug. *** I have had this problem with xscreensaver-demo segfaulting on me with RH9. I have found that it has happened with just one graphics card: ATI Rage Pro Turbo AGP, an variant of the oldest ATI Rage card. It seems to be related to the fact that the current XFree86 or xscreensaver tries to activate OpenGL using hardware DRI, and this doesn't work with this old card. I solved the problem by going into /etc/X11/XF86Config and commenting out the line: Load "dri" in the "Module" section. After this, the screensaver didn't try to use the (bugged?) ATI driver. Can other reporters of this bug see if they are also using old ATI cards, and if commenting out the Load "dri" line and restarting X will solve the problem? Sorry but I'm totally NVIDIA here. I'm using their drivers and a GeForce440Go. Any DRI related segfault is different than the one tracked here. I'm also totally NVIDIA here and the screensaver configigurator used to work perfectly with RH 8 ok, I can reproduce this here on my laptop, also no 3D... so Bill, if you need a test machine, I can provide it. Anyone ever found any solution to this one? I just upgraded from xscreensaver 4.9 to 4.10 and suddenly gets segfault at exactly the same spot when running xscreensaver-demo. Im running XFree86 4.3 with Nvidias drivers. I believe I solved it by just removeing my .xscreenvar file. I ran xscreensaver-demo -debug to check a bit more what was going wrong and then it worked. Then I tried running it without debug-flag and it works. Strange. Well, problem seems to be resolved ;-) Once it works, it won't fail again. I can reproduce this problem at will, but haven't tracked down the exact cause. The backtrace points to more general memory corruption, but various tracings aren't showing it. Does this bug still occur with the latest Rawhide package? If not, this bug should be closed out. I can't reproduce this with current rawhide packages. |