Opened 12 years ago

Closed 10 years ago

#1542 closed bug (fixed)

[GLDirectMode] Crashes when resized to mininial dimension

Reported by: hauser Owned by: phoudoin
Priority: normal Milestone: R1
Component: Applications Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

Side note: When opening GLDirectMode window with title "OpenGL Tests" is opening. It would be much better if its title would be the same as entry in the menu.

Attachments (1)

GLDirectMode.diff (693 bytes ) - added by pieterpan 12 years ago.
Simple solution: Don't allow the window to get too small

Download all attachments as: .zip

Change History (9)

comment:1 by axeld, 12 years ago

Owner: changed from axeld to phoudoin

by pieterpan, 12 years ago

Attachment: GLDirectMode.diff added

Simple solution: Don't allow the window to get too small

comment:2 by pieterpan, 12 years ago

I posted a small diff with a possible solution. I can't apply it, maybe someone can review it and apply it.

What I also noticed, is that when you zoom the window, FrameResized does not seem to be called, but maybe it has other causes. FrameResized is called when you resize the window... Appserver bug?

comment:3 by diver, 12 years ago

app_server freeze wile trying to reproduce this bug.

vm_soft_fault: va 0xffffffff not covered by area in address space
vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0xffffffff, ip 0x80097592, write 0, user 0, thread 0x110
vm_soft_fault: va 0xffffffff not covered by area in address space
vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0xffffffff, ip 0x80097592, write 0, user 0, thread 0x113
vm_soft_fault: va 0xc not covered by area in address space
vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0xc, ip 0x2e5e17, write 0, user 1, thread 0x1ff
vm_page_fault: sending team "/boot/beos/demos/GLDirectMode" 0x1fa SIGSEGV, ip 0x2e5e17 ("libbe.so_seg0ro" +0xdee17)
stack trace:
  0x002e4588 (libbe.so_seg0ro + 0xdd588)
  0x007340cf (Mesa Software Renderer_seg0ro + 0x170cf)
  0x004cd0ab (libGL.so_seg0ro + 0x320ab)
  0x00204383 (GLDirectMode_seg0ro + 0x4383)
  0x0036bf1a (libbe.so_seg0ro + 0x164f1a)
  0x004cd7d3 (libGL.so_seg0ro + 0x327d3)
  0x002049ea (GLDirectMode_seg0ro + 0x49ea)
  0x002c5abf (libbe.so_seg0ro + 0xbeabf)
  0x00372645 (libbe.so_seg0ro + 0x16b645)
  0x004897df (libgame.so_seg0ro + 0xf7df)
  0x00375dcc (libbe.so_seg0ro + 0x16edcc)
  0x00489b33 (libgame.so_seg0ro + 0xfb33)
  0x002c6fff (libbe.so_seg0ro + 0xbffff)
  0x005986a0 (libroot.so_seg0ro + 0x216a0)
  0x70080fec (w>OpenGL Test_1ff_stack + 0x3ffec)
vm_soft_fault: va 0x0 not covered by area in address space
vm_page_fault: vm_soft_fault returned error 'Bad address' on fault at 0x0, ip 0x8009b7c8, write 0, user 0, thread 0x1ff
debug_server: Thread 511 entered the debugger: Segment violation
stack trace, current PC 0x2e5e17  _AssertPointer__7BBitmap + 0x17:
  (0x70080a1c)  0x2e4588  Bits__C7BBitmap + 0x20
  (0x70080a4c)  0x7340cf  LockGL__20MesaSoftwareRenderer + 0x3bb
  (0x70080acc)  0x4cd0ab  LockGL__7BGLView + 0x37
  (0x70080afc)  0x204383  FrameResized__12SampleGLViewff + 0x2f
  (0x70080b3c)  0x36bf1a  MessageReceived__5BViewP8BMessage + 0x8a
  (0x70080c5c)  0x4cd7d3  MessageReceived__7BGLViewP8BMessage + 0x23
  (0x70080c8c)  0x2049ea  MessageReceived__12SampleGLViewP8BMessage + 0x46
  (0x70080cbc)  0x2c5abf  DispatchMessage__7BLooperP8BMessageP8BHandler + 0x5b
  (0x70080cec)  0x372645  DispatchMessage__7BWindowP8BMessageP8BHandler + 0x155d
  (0x70080ebc)  0x4897df  DispatchMessage__13BDirectWindowP8BMessageP8BHandler + 0x27
  (0x70080eec)  0x375dcc  task_looper__7BWindow + 0x270
  (0x70080f4c)  0x489b33  task_looper__13BDirectWindow + 0x1f
  (0x70080f7c)  0x2c6fff  _task0___7BLooperPv + 0x3f
  (0x70080fac)  0x5986a0  _get_next_team_info + 0x5c (closest symbol)

comment:4 by phoudoin, 12 years ago

Patch applied. The crash happens in Mesa Software Renderer, because BBitmap can't be allocated with a (0,0,-1,-1) bound. Will fix it in a few minutes.

comment:5 by diver, 12 years ago

Philippe, i guess you forgot to commit something?

comment:6 by korli, 12 years ago

Philippe committed something in hrev22573.

in reply to:  5 comment:7 by phoudoin, 12 years ago

Replying to diver:

Philippe, i guess you forgot to commit something?

Indeed. The app/server crash/BBitmap failed assertion is not fixed yet.

I didn't found the time to fix it last night, as the initial quick fix I had in mind for Mesa Software Renderer add-on was not enough, just postponing the crash a few calls later (in mesa code, not anymore in app_server).

I will try to do it tonight...

comment:8 by korli, 10 years ago

Resolution: fixed
Status: newclosed

Seems OK. I added a check in hrev30869 in the Mesa software renderer.

Note: See TracTickets for help on using tickets.