Opened 14 years ago

Closed 12 years ago

#634 closed bug (fixed)

[app_server] crash in Painter::FillRectNoClipping()

Reported by: diver Owned by: stippi
Priority: critical Milestone: R1/alpha1
Component: Servers/app_server Version:
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description (last modified by wkornewald)

While trying to reproduce #630 app_server suddenly crash while i move deskbar around. Tested with hrev17592 under vmware. backtracke will follow.

Attachments (1)

app_server_crash_3.PNG (26.2 KB ) - added by diver 14 years ago.
back trace

Download all attachments as: .zip

Change History (22)

by diver, 14 years ago

Attachment: app_server_crash_3.PNG added

back trace

comment:1 by diver, 13 years ago

dependson: 630

comment:2 by diver, 13 years ago

blocked: 679

comment:3 by diver, 13 years ago

Ok, i think i found a way of how to reproduce it:

This is on new image with hrev18522 under vmware. Desktop context menu->New->Edit Template Now hold down alt+n and wait until current creating folder would be near "New Folder 150" at this point release alt+n (new folders will continue creating) and move this traker window around, resize, etc... I've managed to reproduce it 3/5 times. Hope this would help...

comment:4 by diver, 13 years ago

Summary: [app_server] crash[app_server] crash in Painter::FillRectNoClipping()

comment:5 by axeld, 13 years ago

Owner: changed from axeld to stippi

comment:6 by axeld, 13 years ago

Thanks!

comment:7 by wkornewald, 13 years ago

Description: modified (diff)
Platform: All

comment:8 by diver, 13 years ago

More easy way to reproduce it: Open one of the images located under /boot/beos/etc/Artwork in ShowImage Press several times (2-20) alt+enter for fullscreen. app_server should crash!

comment:9 by diver, 13 years ago

Component: GeneralUser Interface/app_server

comment:10 by stippi, 13 years ago

Status: newassigned

comment:11 by diver, 13 years ago

This is now app_server crash bug number 1...

comment:12 by stippi, 13 years ago

You mean like in "it happens all the time now" or "the last remaining serious bug"? I have not seen it yet, but I'm going to try to reproduce it by the methods described here. Thanks for all your testing, btw!

comment:13 by diver, 12 years ago

I mean it happens all the time now and still could be easely reproducable with hrev21673.

comment:14 by stippi, 12 years ago

I tried to reproduce this, but I cannot with your ShowImage fullscreen trick. Are you sure this bug still happens? You said in another bu you accidentally tested with an old image.

comment:15 by diver, 12 years ago

Yes, i think i was testing wrong image, it doesn't crash now, it only corrupt 1st raw of pixels, but i think i should open another bug for this. Please, close this bug.

comment:16 by stippi, 12 years ago

Resolution: fixed
Status: assignedclosed

Appearently fixed in the meantime.

P.S. Yes, I noticed the corrupted first row (or column, depends on image) of pixels.

comment:17 by diver, 12 years ago

Resolution: fixed
Status: closedreopened

app_server crashed with this back trace wile moving Deskar, reopening.

comment:18 by stippi, 12 years ago

Milestone: R1R1/alpha

comment:19 by stippi, 12 years ago

Resolution: fixed
Status: reopenedclosed

I cannot make app_server crash at all with any of the ways described here:

  • Dragging Deskbar arround like mad while at the same time switching workspaces using the keyboard
  • Toggling ShowImage full screen mode, also while at the same time switching workspaces

I think this bug has been fixed by fixing some of the race conditions in app_server that had to do with unlocking/locking the window lock to switch the locking type (single->all->single). I am not sure, but at least I cannot produce any app_server crash and neither any lockups.

So I am closing this bug, please reopen if you can still reproduce it, but please update the description for how to reproduce it. :-)

comment:20 by stippi, 12 years ago

Resolution: fixed
Status: closedreopened

Ah st, I can still reproduce it:

  • Make sure there are a couple of windows showing on screen, place them so that there should be repaint events when dragging Deskbar in the next step
  • I had the Workspaces applet open, don't know if it makes a difference, maybe it's even the one that crashes?
  • Drag Deskbar arround like mad
  • At the same time, switch Workspaces forth and back using the keyboard shortcuts

-> Should crash eventually in Painter::FillRectNoClipping()

Since it's crashing in *Painter*, maybe it happens only when there is no hardware accelerated drawing.

comment:21 by stippi, 12 years ago

Resolution: fixed
Status: reopenedclosed

Fixed in hrev22721.

I only fixed the crashing result, not the true cause, but when I tried to investigate this, I couldn't: The region that the view tries to draw is clipped against the window content region. So for it to be out of bounds, both regions have to be, or there has to be a BRegion bug. To get more info on the regions involved, I inserted the same check for an out of bounds region before the call to the DrawingEngine, but I couldn't get it triggered. Don't know what that means.

Note: See TracTickets for help on using tickets.