#83 closed bug (fixed)
haiku doesn't boot
Reported by: | jackburton | Owned by: | bonefish |
---|---|---|---|
Priority: | blocker | Milestone: | R1 |
Component: | System/Kernel | Version: | |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
Haiku doesn't boot anymore (x86 on qemu) since 17/18 GMT of yesterday. Might be some of Ingo's changes ?
I get this log when I try to boot:
loaded driver /boot/beos/system/add-ons/kernel/drivers/dev/zero write access attempted on read-only area 0x3a at 0x8161f000 vm_page_fault: vm_soft_fault returned error -2147483646 on fault at 0x8161f000, ip 0x2abfb5, write 1, user 1, thread 0x15 vm_page_fault: sending team "/bin/sh" 0x15 SIGSEGV, ip 0x2abfb5 ("libroot.so_seg0ro" +0x1dfb5) user_debug_exception_occurred(): Failed to install debugger: thread: 21: Bad port ID
Change History (7)
comment:1 by , 19 years ago
op_sys: | All → Haiku |
---|
comment:2 by , 19 years ago
Owner: | changed from | to
---|
comment:3 by , 19 years ago
rep_platform: | All → X86 |
---|
comment:4 by , 19 years ago
comment:5 by , 19 years ago
I committed a partial fix in revision 15845.
Index: src/system/libroot/os/arch/x86/time.c =================================================================== --- src/system/libroot/os/arch/x86/time.c (revision 15839) +++ src/system/libroot/os/arch/x86/time.c (working copy) @@ -25,6 +25,7 @@
bigtime_t arch_get_system_time_offset(struct real_time_data *data) {
- return atomic_get64(&data->arch_data.system_time_offset);
+ we don't use atomic_get64 because memory is read-only, maybe find another way to lock + return data->arch_data.system_time_offset;
}
comment:6 by , 19 years ago
Status: | new → closed |
---|
comment:7 by , 19 years ago
Resolution: | → fixed |
---|
Apparently the problem is that libroot tries to write to a read only area (the cloned area "real time data userland") which is cloned from the area which contains the real time data of the kernel. I tried to clone the area READ/WRITE for userland, and I was able to boot haiku. But I don't think this is the correct fix, isn't it ?