[haiku-bugs] [Haiku] #5317: SegFault when changing screen size

  • From: "jahaiku" <trac@xxxxxxxxxxxx>
  • Date: Sat, 23 Jan 2010 16:23:06 -0000

#5317: SegFault when changing screen size
--------------------------------+-------------------------------------------
 Reporter:  jahaiku             |       Owner:  axeld    
     Type:  bug                 |      Status:  new      
 Priority:  normal              |   Milestone:  R1       
Component:  Preferences/Screen  |     Version:  R1/alpha1
 Keywords:                      |   Blockedby:           
 Platform:  All                 |    Blocking:           
--------------------------------+-------------------------------------------
 I changed the screen size from 1024x768 to 800x600 with a gcc4 build from
 r35261 in qemu and I got the following SegFault:[[BR]]
 {{{
 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 0x8,
 ip 0x80046e7d, write 0, user 0, thread 0x178
 PANIC: vm_page_fault: unhandled page fault in kernel space at 0x8, ip
 0x80046e7d

 Welcome to Kernel Debugging Land...
 Thread 376 "w>Screen" running on CPU 0
 kdebug> bt
 stack trace for thread 376 "w>Screen"
     kernel stack: 0x82e84000 to 0x82e88000
       user stack: 0x70000000 to 0x70040000
 frame               caller     <image>:function + offset
  0 82e879e4 (+  32) 8006dad9   <kernel_x86>
 invoke_command_trampoline(void*: 0x82e87a64) + 0x0015
  1 82e87a04 (+  12) 800ded58
 <kernel_x86>:arch_debug_call_with_fault_handler + 0x001b
  2 82e87a10 (+  48) 8006b916   <kernel_x86>:debug_call_with_fault_handler
 + 0x0051
  3 82e87a40 (+  64) 8006de82   <kernel_x86>:invoke_debugger_command +
 0x00bb
  4 82e87a80 (+  48) 8006df9f   <kernel_x86>
 invoke_pipe_segment(debugger_command_pipe*: 0x80131622, int32: 0, char*:
 NULL) + 0x0083
  5 82e87ab0 (+  32) 8006e067   <kernel_x86>:invoke_debugger_command_pipe +
 0x008b
  6 82e87ad0 (+ 128) 80071e06   <kernel_x86>
 ExpressionParser<0x82e87ba0>::_ParseCommandPipe(int&: 0x82e87b9c) + 0x0aae
  7 82e87b50 (+  48) 800745cf   <kernel_x86>
 ExpressionParser<0x82e87ba0>::EvaluateCommand(char const*: 0x80131620
 "bt", int&: 0x82e87b9c) + 0x06df
  8 82e87b80 (+ 192) 80074748   <kernel_x86>:evaluate_debug_command +
 0x0084
  9 82e87c40 (+  96) 8006c6e9   <kernel_x86> kernel_debugger_internal(char
 const*: 0x8109d870 "H �", int32: -2098692916) + 0x039a
 10 82e87ca0 (+  16) 8006c83f   <kernel_x86>:kernel_debugger + 0x0019
 11 82e87cb0 (+ 160) 8006c919   <kernel_x86>:panic + 0x002a
 12 82e87d50 (+  64) 800c786b   <kernel_x86>:vm_page_fault + 0x00f7
 13 82e87d90 (+  80) 800da7bd   <kernel_x86> page_fault_exception(iframe*:
 0x82e87dec) + 0x0171
 14 82e87de0 (+  12) 800df0fd   <kernel_x86>:int_bottom + 0x003d
 kernel iframe at 0x82e87dec (end = 0x82e87e3c)
  eax 0x0            ebx 0x8171d790      ecx 0x8171d740   edx 0xccd0c000
  esi 0x5            edi 0x0             ebp 0x82e87e84   esp 0x82e87e20
  eip 0x80046e7d  eflags 0x10286
  vector: 0xe, error code: 0x0
 15 82e87dec (+ 152) 80046e7d   <kernel_x86>:heap_memalign + 0x00ee
 16 82e87e84 (+ 112) 80053956   <kernel_x86>:writev_port_etc + 0x0322
 17 82e87ef4 (+  80) 80054269   <kernel_x86>:_user_write_port_etc + 0x00c3
 18 82e87f44 (+ 100) 800df332   <kernel_x86>:handle_syscall + 0x00af
 user iframe at 0x82e87fa8 (end = 0x82e88000)
  eax 0xca           ebx 0x52e388        ecx 0x7003f740   edx 0xffff0114
  esi 0xffffffff     edi 0x7fffffff      ebp 0x7003f76c   esp 0x82e87fdc
  eip 0xffff0114  eflags 0x216      user esp 0x7003f740
  vector: 0x63, error code: 0x0
 19 82e87fa8 (+   0) ffff0114   <commpage>:commpage_syscall + 0x0004
 20 7003f76c (+  48) 002c2f33   <libbe.so>
 BPrivate::LinkSender<0x1801f090>::Flush(int64: 9223372036854775807, true)
 + 0x009d
 21 7003f79c (+  32) 002d6e6d   <libbe.so>
 BPrivate::ServerLink<0x1801d100>::FlushWithReply(long&: 0x7003f7ec) +
 0x0025
 22 7003f7bc (+  64) 00369341   <libbe.so> BView<0x7003fa4c>::LowColor
 const() + 0x0067
 23 7003f7fc (+1088) 002e3e61   <libbe.so> BButton<0x18057670>::Draw(BRect:
 0x7003fc54) + 0x010f
 24 7003fc3c (+  48) 0036fd98   <libbe.so> BView<0x18057670>::_Draw(BRect:
 0x7003ff04) + 0x007e
 25 7003fc6c (+ 720) 0037a691   <libbe.so>
 BWindow<0x1804a4a0>::DispatchMessage(BMessage*: 0x180638c8, BHandler*:
 0x1804a4a0) + 0x1799
 26 7003ff3c (+  96) 003761fd   <libbe.so>
 BWindow<0x1804a4a0>::task_looper() + 0x0277
 27 7003ff9c (+  32) 002c5082   <libbe.so>
 BLooper<0x1804a4a0>::_task0_(void*: NULL) + 0x0030
 28 7003ffbc (+  32) 00490ca0   <libroot.so>:exit_thread (nearest) + 0x0058
 29 7003ffdc (+   0) 7003ffec   3322:w>Screen_376_stack@0x70000000 +
 0x3ffec
 kdebug>
 }}}

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/5317>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: