Opened 13 years ago

Last modified 13 months ago

#7831 new bug

Brainwash screen saver will crash haiku

Reported by: pulkomandy Owned by: korli
Priority: normal Milestone: R1
Component: Add-Ons/Screen Savers Version: R1/Development
Keywords: Cc:
Blocked By: Blocking: #11734
Platform: All

Description

http://pulkomandy.lexinfo.fr/~beosarchive/www.emupt.com/beos/b/WORKING/BrainWash-1.3.1-x86.zip

I tried to install this screensaver in Haiku, but it crashed the system to the point I can't even enter KDL. The source is available, so I tried to recompile it. The outcome was a bit differer, with a drop to gdb. Closing gdb made Haiku crash anyway.

Attachments (2)

brainwash.log (7.4 KB ) - added by pulkomandy 10 years ago.
serial log
app_server-958-debug-26-11-2014-15-11-41.report (28.6 KB ) - added by pulkomandy 10 years ago.
app_server crash report

Download all attachments as: .zip

Change History (14)

comment:1 by mmadia, 12 years ago

Component: Preferences/ScreenSaverAdd-Ons/Screen Savers
Owner: changed from axeld to korli

comment:2 by pulkomandy, 11 years ago

Blocking: 10584 added

comment:3 by pulkomandy, 11 years ago

Blocking: 10584 removed

Investigation of the crash in GDB (the one I get after recompiling) shows a race condition in the way the window is created and connected.

I noticed use of BWindowScreen tends to crahs the intel_extreme driver, so it's safer to test this using VESA (or fix the intel_extreme driver to handle 8-bit video modes again).

comment:4 by pulkomandy, 10 years ago

Well, this is still crashing in various ways... I tried on another machine today.

  • With the intel_extreme driver: screen shows garbled data (which is probably ok, the Haswell driver is incomplete and doesn't handle video mode changes properly). No way to exit the screensaver by moving the mouse, but at least I can switch to another workspace and kill screen_blanker
  • With VESA: the screensaver crashes, then app_server crashes. Attaching serial log and app-server save-report.

by pulkomandy, 10 years ago

Attachment: brainwash.log added

serial log

by pulkomandy, 10 years ago

app_server crash report

comment:6 by waddlesplash, 6 years ago

Still here in hrev52561; it happens on exit of the screensaver.

comment:7 by waddlesplash, 6 years ago

Blocking: 11734 added

comment:8 by X512, 3 years ago

I got app_server crash in ServerWindow::MakeWindow when running AccelerantConsumer. Maybe related to B_CURSOR_ID_NO_CURSOR.

comment:9 by Coldfirex, 14 months ago

Still an issue under the intel_extreme driver?

comment:10 by pulkomandy, 14 months ago

There is no reason for this problem to have disappeared, I think.

I am unable to test because there is no 64bit build of Brainwash (I tried building it, after some simple fixes, it crashed in a memset while starting the screensaver, before it had any chance to create problems with the system)

comment:11 by pulkomandy, 14 months ago

There is something strange from the start, there is a crash in SaveState with an invalid opcode exception.

I had to completely remove the SaveState method (whcih does nothing special). Then I get to a black screen, and on exiting that, a screen_blanker crash in BLooper::Quit().

That's not as bad as the problems I got when I first tested this, but it looks like the screensaver code may be corrupting memory?

comment:12 by mt, 13 months ago

In BrainWashSaver::StopSaver(), changing PostMessage() to Quit() seems to work. I think problem is in PostMessage().

Note: See TracTickets for help on using tickets.