#5956: PPC boot fails on double lock of mutex ---------------------------+------------------------------------------------ Reporter: stevenh | Owner: axeld Type: bug | Status: new Priority: normal | Milestone: R1 Component: System/Kernel | Version: R1/alpha1 Keywords: | Blockedby: Platform: PowerPC | Blocking: 1048 ---------------------------+------------------------------------------------ On revision r36760, after the fix by Ingo in r36748 to disable the debug syslog feature for openfirmware, the booting now fails when creating a VMNullCache for 'iospace'. {{{ Loading ELF checking for memory... 0: base = 0x00000000, size = 268435456 1: empty region total physical memory = 256 MB suggested page table size = 2097152 need new page table, size = 2097152! new table at: 0x00200000 MSR: 0x00003030 found 25 translations found exception handlers! found page table! virt_allocated: 20 phys_allocated: 5 phys_memory: 1 found CPU: /cpus/PowerPC,G4 CPU clock frequency: 1249999995 bus clock frequency: 166483989 time base frequency: 41620997 mmu_alloc: va 0x80084000, pa 0x00003000, size 16384 platform_init_heap() mmu_alloc: va 0x80088000, pa 0x00007000, size 65536 heap base = 0x80088000 heap top = 0x80098000 adding args: '' Welcome to the Haiku boot loader! boot path = "/pci@f4000000/ethernet@f:192.168.1.35,boot_loader_openfirmware" boot type = network add_partitions_for(0x80088234, mountFS = no) add_partitions_for(fd = 0, mountFS = no) 0x80088280 Partition::Partition 0x80088280 Partition::Scan() check for partitioning_system: Amiga Partition Map check for partitioning_system: Intel Partition Map check for partitioning_system: Intel Extended Partition check for partitioning_system: Apple Partition Map 0x80088280 Partition::_Mount check for file_system: BFS Filesystem load kernel... mmu_alloc: va 0x80098000, pa 0x00400000, size 1863680 mmu_alloc: va 0x8025f000, pa 0x00017000, size 102400 mmu_alloc: va 0x80278000, pa 0x00030000, size 192512 mmu_alloc: va 0x802a7000, pa 0x0005f000, size 32768 mmu_alloc: va 0x802af000, pa 0x00067000, size 45056 mmu_alloc: va 0x802ba000, pa 0x00072000, size 45056 mmu_alloc: va 0x802c5000, pa 0x0007d000, size 16384 mmu_alloc: va 0x802c9000, pa 0x00081000, size 229376 mmu_alloc: va 0x80301000, pa 0x000b9000, size 32768 mmu_alloc: va 0x80309000, pa 0x000c1000, size 28672 mmu_alloc: va 0x80310000, pa 0x000c8000, size 8192 mmu_alloc: va 0x80312000, pa 0x000ca000, size 8192 mmu_alloc: va 0x80314000, pa 0x000cc000, size 102400 mmu_alloc: va 0x8032d000, pa 0x000e5000, size 32768 mmu_alloc: va 0x80335000, pa 0x000ed000, size 12288 mmu_alloc: va 0x80338000, pa 0x000f0000, size 61440 mmu_alloc: va 0x80347000, pa 0x000ff000, size 8192 mmu_alloc: va 0x80349000, pa 0x00140000, size 12288 mmu_alloc: va 0x8034c000, pa 0x00143000, size 12288 mmu_alloc: va 0x8034f000, pa 0x00146000, size 32768 mmu_alloc: va 0x80357000, pa 0x0014e000, size 102400 mmu_alloc: va 0x80370000, pa 0x00167000, size 8192 mmu_alloc: va 0x80372000, pa 0x005c7000, size 962560 mmu_alloc: va 0x8045d000, pa 0x00169000, size 40960 mmu_alloc: va 0x80467000, pa 0x00173000, size 32768 mmu_alloc: va 0x8046f000, pa 0x0017b000, size 16384 mmu_alloc: va 0x80473000, pa 0x0017f000, size 16384 mmu_alloc: va 0x80477000, pa 0x00183000, size 20480 mmu_alloc: va 0x8047c000, pa 0x00188000, size 16384 mmu_alloc: va 0x80480000, pa 0x0018c000, size 110592 mmu_alloc: va 0x8049b000, pa 0x001a7000, size 32768 mmu_alloc: va 0x804a3000, pa 0x001af000, size 86016 mmu_alloc: va 0x804b8000, pa 0x001c4000, size 24576 kernel entry at 0x8010e2dc kernel stack top: 0x80088000 Welcome to kernel debugger output! Haiku revision: 36760 heap_add_area: area -1 added to small heap 0x85000000 - usable range 0x8500d000 - 0x85800000 heap_add_area: area -1 added to medium heap 0x85800000 - usable range 0x85801000 - 0x85ccc000 heap_add_area: area -1 added to large heap 0x85cccccc - usable range 0x85cce000 - 0x86000000 reserve_boot_loader_ranges(): Skipping range: 0x00000000, 12288 reserve_boot_loader_ranges(): Skipping range: 0x00102000, 180224 reserve_boot_loader_ranges(): Skipping range: 0x0012f000, 45056 reserve_boot_loader_ranges(): Skipping range: 0x00200000, 2097152 PANIC: _mutex_lock(): double lock of 0x0000001c by thread 0 Welcome to Kernel Debugging Land... Running on CPU 0 kdebug > }}} I'm keen to see Haiku booting on PPC and would love any help regarding this issue and a bit of background as to what might be going wrong. Is '1c' a valid mutex ID? Does that mean there are 28 mutexs already in operation? Does openfirmware/ppc allow the creation of null caches? Am I running out of RAM? (my eMac 1.25ghz only had 256mb right now) Meanwhile, I cannot use the debugger as I have no keyboard at the kdebug prompt. I'll work on this later... but if I could get an idea as to what commands to run, then I'll hard code them to execute after the debugger prompt appears. -- Ticket URL: <http://dev.haiku-os.org/ticket/5956> Haiku <http://dev.haiku-os.org> Haiku - the operating system.