Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 456399 - New xscreensaver update aborts immediately
Summary: New xscreensaver update aborts immediately
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: xscreensaver
Version: 8
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-07-23 11:06 UTC by Bill Crawford
Modified: 2008-07-29 15:26 UTC (History)
1 user (show)

Fixed In Version: 5.06-2.fc8
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-07-29 15:26:24 UTC


Attachments (Terms of Use)
Log output from xscreensaver (deleted)
2008-07-23 11:06 UTC, Bill Crawford
no flags Details
Output from test-randr (deleted)
2008-07-24 09:41 UTC, Bill Crawford
no flags Details
patch (deleted)
2008-07-24 16:01 UTC, Jamie Zawinski
no flags Details

Description Bill Crawford 2008-07-23 11:06:16 UTC
Description of problem:
xscreensaver daemon aborts immediately after launch.

Version-Release number of selected component (if applicable):
5.06-1.fc8

How reproducible:
Start xscreensaver on my system. Possibly the issue is due to my having two 
screens but NOT spanning, they're separate heads / protocol screens. Also 
possible that Xrandr features are being relied on that aren't fully supported 
in the F8 version of the X server. Just guessing, though.

Steps to Reproduce:
1. Push an inessential experimental xscreensaver update to a stable distro.
2. ...
3. PROFIT!
  
Actual results:
It aborts, like so:

[bill@bill ~]$ xscreensaver -sync -verbose -log log.txt
xscreensaver: 12:05:00: logging to file log.txt
Aborted

Expected results:
Should not fail.

Additional info:
Attaching the log file in a moment ...

Comment 1 Bill Crawford 2008-07-23 11:06:16 UTC
Created attachment 312461 [details]
Log output from xscreensaver

Comment 2 Mamoru TASAKA 2008-07-23 11:11:15 UTC
CCing to jwz.

Comment 3 Jamie Zawinski 2008-07-23 16:34:46 UTC
Need a stack trace.

Comment 4 Bill Crawford 2008-07-23 16:55:13 UTC
Yeah, will try to capture a trace in a moment ...


Comment 5 Bill Crawford 2008-07-23 17:02:56 UTC
Pasting in here 'cause it's fairly short

#0  0x0011e402 in __kernel_vsyscall ()
#1  0x00149690 in raise () from /lib/libc.so.6
#2  0x0014af91 in abort () from /lib/libc.so.6
#3  0x08051b65 in saver_exit (si=0xbf945244, status=-1, 
    dump_core_reason=0x806aff8 "because of synchronous X Error") at
../../driver/windows.c:904
#4  0x0804d5c8 in saver_ehandler (dpy=0x99a6430, error=0xbf944de8)
    at ../../driver/xscreensaver.c:336
#5  0x0030e71e in _XError (dpy=0x99a6430, rep=0x99ae160) at XlibInt.c:2905
#6  0x00316263 in _XReply (dpy=0x99a6430, rep=0xbf944f10, extra=0, discard=0) at
xcb_io.c:417
#7  0x0066f77b in XRRGetScreenResources (dpy=0x99a6430, window=0) at XrrScreen.c:81
#8  0x080538b3 in update_screen_layout (si=0xbf945244) at ../../driver/screens.c:386
#9  0x0804d893 in main (argc=Cannot access memory at address 0x6
) at ../../driver/xscreensaver.c:784
#10 0x00136390 in __libc_start_main () from /lib/libc.so.6
#11 0x0804bbc1 in _start ()


Comment 6 Bill Crawford 2008-07-23 17:04:39 UTC
As the error appears within XRRGetScreenResources I'm assuming this is probably
a bug in libXrandr or in the X server rather than xscreensaver, feel free to
reassign it if you like.

Comment 7 Jamie Zawinski 2008-07-23 17:26:34 UTC
I don't know how RootWindow(dpy,i) is returning 0, unless you have both A) multiple real X screens 
(ScreenCount > 0) and B) RANDR stuff happening at the same time.  I wasn't even sure that was possible.  
But I can't tell whether that's the case because it died before it was able to print out a debug log of your 
screens and geometry.

Also, update_screen_layout does not call XRRGetScreenResources, so that stack trace is garbled. I suspect 
you're not compiled with -g.



Comment 8 Bill Crawford 2008-07-23 17:58:15 UTC
I do indeed have multiple real X screens, and was running from a terminal on
screen 1, although I wouldn't have expected that to matter ...

Anyway, it appears that randr_scan_monitors() has been inlined, which gcc likes
to do these days; repeated backtrace is the same. I double checked that I have
the correct version of the debuginfo package installed.

#0  0x0011e402 in __kernel_vsyscall ()
#1  0x00149690 in raise () from /lib/libc.so.6
#2  0x0014af91 in abort () from /lib/libc.so.6
#3  0x08051b65 in saver_exit (si=0xbf86f264, status=-1, 
    dump_core_reason=0x806aff8 "because of synchronous X Error") at
../../driver/windows.c:904
#4  0x0804d5c8 in saver_ehandler (dpy=0x973e450, error=0xbf86ee08)
    at ../../driver/xscreensaver.c:336
#5  0x0030e71e in _XError (dpy=0x973e450, rep=0x9746188) at XlibInt.c:2905
#6  0x00316263 in _XReply (dpy=0x973e450, rep=0xbf86ef30, extra=0, discard=0) at
xcb_io.c:417
#7  0x0066f77b in XRRGetScreenResources (dpy=0x973e450, window=0) at XrrScreen.c:81
#8  0x080538b3 in update_screen_layout (si=0xbf86f264) at ../../driver/screens.c:386
#9  0x0804d893 in main (argc=Cannot access memory at address 0x6
) at ../../driver/xscreensaver.c:784
#10 0x00136390 in __libc_start_main () from /lib/libc.so.6
#11 0x0804bbc1 in _start ()


Comment 9 Bill Crawford 2008-07-23 17:59:35 UTC
Lemme know if there's anything else I can do (have the exploded source here, can
add printf()s or whatever tomorrow).

Comment 10 Jamie Zawinski 2008-07-23 18:17:08 UTC
Please build and run "test-randr" from the xscreensaver-5.06/driver/ src.

Also, xdpyinfo.



Comment 11 Jamie Zawinski 2008-07-23 18:19:00 UTC
Also, by "real X screens" I mean you address them with $DISPLAY :0.0 and :0.1.  Just because you have 
mutliple monitors doesn't mean you have real X screens.  That's kind of the whole point of 
RANDR/Xinerama.

Comment 12 Mamoru TASAKA 2008-07-24 02:41:38 UTC
(In reply to comment #10)
> Please build and run "test-randr" from the xscreensaver-5.06/driver/ src. 
> Also, xdpyinfo.
> 

Hi, Bill:
For now I created a subpackage "xscreensaver-tests" which contains some binaries
for testing like "/usr/libexec/xscreensaver/test-randr" or so. Would you try this
from the following?
http://kojipkgs.fedoraproject.org/packages/xscreensaver/5.06/1.fc8.1/

xdpyinfo is in xorg-x11-utils package.

For Jamie:
Do you want me to ship test-* binaries under driver/ directory for Fedora
xscreensaver rpms
from next time?


Comment 13 Bill Crawford 2008-07-24 09:26:16 UTC
No, they're separate protocol screens (.0 and .1) - I have two cards, and this
way I get DRI on both heads, hence nice fast 3d screensavers :o)

Comment 14 Bill Crawford 2008-07-24 09:41:27 UTC
Created attachment 312539 [details]
Output from test-randr

The "event" I sent it was just changing the refresh rate on one screen, hence
the lack of apparent change.

Comment 15 Jamie Zawinski 2008-07-24 16:01:32 UTC
Created attachment 312575 [details]
patch

Ok, I think I just fixed this -- but the other folks weren't getting crashes. 
(Congratulations, I think you're the first person ever to try and use real
multi-screen on a system with randr 1.2 available...)

Comment 16 Bill Crawford 2008-07-24 16:23:37 UTC
Jamie: you wouldn't believe how many people tell me "don't do that" ;o)

Thanks for patch, building now ...


Comment 17 Bill Crawford 2008-07-24 18:00:18 UTC
... fixed, thanks.

Comment 18 Mamoru TASAKA 2008-07-24 18:12:17 UTC
Good news, thanks!

Comment 19 Jamie Zawinski 2008-07-24 18:19:58 UTC
> For Jamie:
> Do you want me to ship test-* binaries under driver/ directory for Fedora
> xscreensaver rpms
> from next time?


Nah, they're almost never needed...

Comment 20 Fedora Update System 2008-07-24 18:54:05 UTC
xscreensaver-5.06-2.fc9 has been submitted as an update for Fedora 9

Comment 21 Fedora Update System 2008-07-24 18:55:13 UTC
xscreensaver-5.06-2.fc8 has been submitted as an update for Fedora 8

Comment 22 Mamoru TASAKA 2008-07-29 15:26:24 UTC
It seems the update packages are already pushed.

If the bug still exists, please feel free to reopen this bug.
Thank you, Bill and Jamie. Closing.


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