Opened 6 years ago
Last modified 6 years ago
#14905 new bug
Haiku fails to boot with no video framebuffer / VESA
Reported by: | kallisti5 | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | Unscheduled |
Component: | Servers/app_server | Version: | R1/beta1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description (last modified by )
I tried to boot Haiku R1/Beta1 on GCP... but ran into the following issue:
SeaBIOS (version 1.8.2-20181029_212248-google) Total RAM Size = 0x000000006cc00000 = 1740 MiB CPUs found: 1 Max CPUs supported: 1 found virtio-scsi at 0:3 virtio-scsi vendor='Google' product='PersistentDisk' rev='1' type=0 removable=0 virtio-scsi blksize=512 sectors=20971520 = 10240 MiB drive 0x000f2a50: PCHS=0/0/0 translation=lba LCHS=1024/255/63 s=20971520 Booting from Hard Disk 0... Welcome to kernel debugger output! Haiku revision: hrev52295+96 CPU 0: type 0 family 6 extended_family 0 model 15 extended_model 3 stepping 0, string 'GenuineIntel' CPU 0: vendor 'Intel' model name 'Intel(R) Xeon(R) CPU @ 2.30GHz' CPU 0: apic id 0, package 0, core 0, smt 0 CPU 0: cache sharing: L1 id 0, L2 id 0, L3 id 0 CPU 0: features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clfsh mmx fxsr sse sse2 ss htt sse3 pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrnd hypervisor syscall nx long arat tsc_adjust bmi1 avx2 smep bmi2 erms invpcid ibrs stibp reserve_io_interrupt_vectors: reserved 16 vectors starting from 0 mark_page_range_in_use(0x0, 0x100): start page is before free list mark_page_range_in_use(0x0, 0xa0): start page is before free list add_memory_type_range(3, 0x0, 0xa0000, 6) add_memory_type_range(84, 0xa0000, 0x26000, 0) PANIC: vm_page_fault: unhandled page fault in kernel space at 0x0, ip 0xffffffff8161883a Welcome to Kernel Debugging Land... Thread 257 "app_server" running on CPU 0 stack trace for thread 257 "app_server" kernel stack: 0xffffffff81215000 to 0xffffffff8121a000 user stack: 0x00007fbf9da8e000 to 0x00007fbf9ea8e000 frame caller :function + offset 0 ffffffff81219648 (+ 16) ffffffff8012fd49 arch_debug_stack_trace + 0x13 1 ffffffff81219658 (+ 16) ffffffff8009e035 stack_trace_trampoline(void*) + 0x09 2 ffffffff81219668 (+ 24) ffffffff8012806c arch_debug_call_with_fault_handler + 0x16 3 ffffffff81219680 (+ 96) ffffffff8009ea4f debug_call_with_fault_handler + 0x8b 4 ffffffff812196e0 (+ 96) ffffffff8009faab kernel_debugger_loop(char const*, char const*, __va_list_tag*, int) + 0x10a 5 ffffffff81219740 (+ 80) ffffffff8009ff14 kernel_debugger_internal(char const*, char const*, __va_list_tag*, int) + 0x1a2 6 ffffffff81219790 (+ 240) ffffffff800a0113 panic + 0xba 7 ffffffff81219880 (+ 240) ffffffff8011744c vm_page_fault + 0x1f8 8 ffffffff81219970 (+ 64) ffffffff801310b3 x86_page_fault_exception + 0x24d 9 ffffffff812199b0 (+ 536) ffffffff801297d2 int_bottom + 0x56 kernel iframe at 0xffffffff81219bc8 (end = 0xffffffff81219c90) rax 0x0 rbx 0xffffffff81875cc0 rcx 0x8 rdx 0x3ce rsi 0x4 rdi 0x3ce rbp 0xffffffff81219d10 r8 0x0 r9 0x27f r10 0xffffffff800be4a0 r11 0x3206 r12 0x7fbf9ea8cd30 r13 0x7fbf9ea8cd30 r14 0x0 r15 0x27f rip 0xffffffff8161883a rsp 0xffffffff81219c90 rflags 0x13202 vector: 0xe, error code: 0x0 10 ffffffff81219bc8 (+ 328) ffffffff8161883a vga_planar_blit(vesa_shared_info*, unsigned char*, int, int, int, int, int) + 0xb1 11 ffffffff81219d10 (+ 96) ffffffff81617320 device_ioctl(void*, unsigned int, void*, unsigned long) + 0xb7 12 ffffffff81219d70 (+ 16) ffffffff800b8343 BPrivate::AbstractModuleDevice::Control(void*, int, void*, unsigned long) + 0x19 13 ffffffff81219d80 (+ 304) ffffffff800be6ae devfs_ioctl(fs_volume*, fs_vnode*, void*, unsigned int, void*, unsigned long) + 0x20e 14 ffffffff81219eb0 (+ 16) ffffffff800e4221 common_ioctl(file_descriptor*, unsigned long, void*, unsigned long) + 0x2f 15 ffffffff81219ec0 (+ 64) ffffffff800d932b fd_ioctl(bool, int, unsigned int, void*, unsigned long) + 0x6d 16 ffffffff81219f00 (+ 32) ffffffff800da031 _user_ioctl + 0x40 17 ffffffff81219f20 (+ 16) ffffffff80129a78 x86_64_syscall_entry + 0xfb user iframe at 0xffffffff81219f30 (end = 0xffffffff81219ff8) rax 0x92 rbx 0x27f rcx 0x1163ca665bc rdx 0x7fbf9ea8cd30 rsi 0x2716 rdi 0x4 rbp 0x7fbf9ea8cd00 r8 0x0 r9 0x27f r10 0x20 r11 0x3206 r12 0x0 r13 0x874433a870 r14 0x874427fc20 r15 0x0 rip 0x1163ca665bc rsp 0x7fbf9ea8cc98 rflags 0x3206 vector: 0x63, error code: 0x0 18 ffffffff81219f30 (+140463105846736) 000001163ca665bc _kern_ioctl + 0x0c 19 00007fbf9ea8cd00 (+ 128) 00000191a58e718f <_APP_> HWInterface::_CopyToFront const(unsigned char*, unsigned int, int, int, int, int) + 0x449 20 00007fbf9ea8cd80 (+ 96) 00000191a58e737d <_APP_> HWInterface::_CopyBackToFront(BRegion&) + 0x95 21 00007fbf9ea8cde0 (+ 112) 00000191a58cd5ed <_APP_> AccelerantHWInterface::_CopyBackToFront(BRegion&) + 0xe7 22 00007fbf9ea8ce50 (+ 192) 00000191a58e8e24 <_APP_> HWInterface::CopyBackToFront(BRect const&) + 0x16c 23 00007fbf9ea8cf10 (+ 32) 00000191a58e6851 <_APP_> HWInterface::Invalidate(BRect const&) + 0x35 24 00007fbf9ea8cf30 (+ 160) 00000191a58ddf50 <_APP_> DrawingEngine::FillRegion(BRegion&, rgb_color const&) + 0x166 25 00007fbf9ea8cfd0 (+ 112) 00000191a58794af <_APP_> Desktop::_SetBackground(BRegion&) + 0xbb 26 00007fbf9ea8d040 (+ 240) 00000191a587d3a0 <_APP_> Desktop::Init() + 0x2c2 27 00007fbf9ea8d130 (+ 80) 00000191a5871602 <_APP_> AppServer::_CreateDesktop(unsigned int, char const*) + 0x56 28 00007fbf9ea8d180 (+ 176) 00000191a5871807 <_APP_> AppServer::MessageReceived(BMessage*) + 0xfd 29 00007fbf9ea8d230 (+ 16) 0000023a878fc188 BLooper::DispatchMessage(BMessage*, BHandler*) + 0x1e 30 00007fbf9ea8d240 (+ 576) 0000023a878f58ac BApplication::DispatchMessage(BMessage*, BHandler*) + 0x39a 31 00007fbf9ea8d480 (+ 96) 0000023a878fc54e BLooper::task_looper() + 0x200 32 00007fbf9ea8d4e0 (+ 32) 0000023a878f2578 BApplication::Run() + 0x46 33 00007fbf9ea8d500 (+ 48) 00000191a5871b65 <_APP_> main + 0x55 34 00007fbf9ea8d530 (+ 48) 00000191a5870d8e <_APP_> _start + 0x54 35 00007fbf9ea8d560 (+ 48) 00000141190398a0 + 0x138a0 36 00007fbf9ea8d590 (+ 0) 00007fba5ed54260 commpage_thread_exit + 0x00 kdebug>
This issue can be reproduced via:
qemu-system-x86_64 -vga none -nographic -cdrom haiku-nightly-anyboot.iso -m 1024
Change History (3)
comment:1 by , 6 years ago
comment:2 by , 6 years ago
Description: | modified (diff) |
---|---|
Summary: | Haiku R1/Beta1 fails to boot on GCP → Haiku fails to boot with no video framebuffer / VESA |
Note:
See TracTickets
for help on using tickets.
Since this is a NULL dereference, probably the VESA framebuffer simply doesn't exist, and so vga_planar_bit invokes a NULL dereference.
Try adding some more NULL checks around that function (probably on info->framebuffer itself is the place to start) and see if this fixes the problem.