From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.9) Gecko/20020408 Description of problem: the screensaver "Critical" totally freezes my system when I start it from xscreensaver-demo application. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.run xscreensaver-demo 2. choose the screensaver "Critical" 3. press the button "Demo" Actual Results: the system freezes right away Expected Results: the demo of a screensaver Additional info: I have an IBM Thinkpad T20 2647rr3 laptop. with default installation of skipjack2 and all updates applied. the default installation of my RH Linux is not stable since it has "Random Screensaver" installed by default and when I leave laptop unattended it totally freezes after some period of time. so i had do disable my screensaver.
i just found out that the "Blaster" screensaver also freezes my laptop. but it takes about 3 seconds to freeze the laptop as opposed to the "Critical" screensaver which freezes the laptop immediately.
Same results on my Dual Pentium II 233 custom-built desktop with savage4 card. Original code in critical does not initialize the starting coordinate used in XDrawLine for each simulation which causes the immediate freeze. I have created a patch that not only fixes that problem, but also a misallocation in memory [in the case of sizeof (int) != sizeof (short)], writing an unused value to an element beyond the end of allocated memory, and a memory leak growing with each loop. I have tested the patched code with extreme command parameter values for several hours without lockup or increase in allocated memory.
Created attachment 55844 [details] Patch for xscreensaver's critical
don't you think that this sould be considered an XFree4 bug and not an xsreensaver bug ? a computer is not supposed to freeze completely just because some program passed wrong coordinates to XDrawLine function.
I agree with you, XFree has a bug that needs to be fixed. A server of any kind should either report an error condition or handle it somehow without crashing. I'm an X newbie, so I'll dig into the XFree86 source and write some test programs for XDrawLine and come up with something to report. However, even if XDrawLine was working properly; the xscreensaver code would start off not looking quite the way the author intended, may crash when compiled with short-sized ints, but definitely crash with the memory leak if left running. So it still an xscreensaver bug.
Please try disabling 2D acceleration to see if that solves the problem. Use Option "noaccel" in the device section of your config file. Report back if that prevents the problem or not, and we can continue troubleshooting from there.
Option "noaccel" solves the problem. both screensavers (critical and blaster) work without freezing the computer. the X Window System started to work noticeably slower without acceleration.
Sorry for the delay in responding. "noaccel" was just a test to see if 2D acceleration was causing the problem. In order to fix the problem, and in the mean time find a better workaround for you, here is what you can do: Read the XF86Config manpage, and look for the options "XaaNoxxxxxx". Comment out noaccel, and try the XaaNo options one at a time. This may take quite some time to test, but is necessary in order to determine where the bug is. Use only one XaaNo option at a time, and restart X and test the screensavers which trigger this out. Even if you find one option that fixes the problem, please continue through the full list one at a time. Please report back which individual option or options solve the problem on their own. Once you've done this, you'll have much faster video in the mean time, we will be able to default the card to this configuration, and we also can report the troubled code area to Tim Roberts, the Savage driver maintainer <timr>.
Oh, please attach your X server log file and config file to the report using the link below as well, and the output of "lspci" and also "lspci -n". Bill, you might want to check out the xscreensaver patch...
I tried all the XaaNoxxx one at a time and none of the options fixed the problem. then I tried looking at multiple XaaNoxxxx options and finally found out two options that eliminate the problem. these options are: Option "XaaNoSolidBresenhamLine" Option "XaaNoSolidTwoPointLine" one should choose _both_ of these options in order to solve the problem. this is also consistent with what windonstewart found out in the source code of "Critical" screensaver.
Created attachment 61744 [details] my X server configuration file
Created attachment 61745 [details] X log file
Created attachment 61746 [details] "/sbin/lspci" output
Created attachment 61747 [details] "/sbin/lspci -n" output
"Critical" and "Blaster" seem to be working fine in the latest release of Limbo xscreensaver-4.05-2 so i am closing this bug