KDL when changing screen size
I changed the screen size from 1024x768 to 800x600 with a gcc4 build from hrev35261 in qemu and I got the following SegFault:
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>
Change History
(7)
Version: |
R1/alpha1 → R1/Development
|
Component: |
Preferences/Screen → System/Kernel
|
Owner: |
changed from axeld to mmlr
|
Status: |
new → assigned
|
Summary: |
SegFault when changing screen size → KDL when changing screen size
|
Keywords: |
port heap added
|
Resolution: |
→ not reproducible
|
Status: |
assigned → closed
|
Looks like a heap issue.