[haiku-bugs] [Haiku] #5956: PPC boot fails on double lock of mutex

  • From: "stevenh" <trac@xxxxxxxxxxxx>
  • Date: Mon, 10 May 2010 01:25:59 -0000

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

Other related posts: