#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.