Click to See Complete Forum and Search --> : Error installing RHEL v4 in VMWare Workstation


mjbrantley
04-06-2008, 06:12 PM
Hi,

I'm trying to install RHEL v4 in a new VM on my home system using VMWare Workstation 4.0.

Getting the following error very early on in the install (right after hitting return from the initial install screen),

[<c011c26b>] dequeue_task+0xa/0x3b
[<c011c4c9>] deactivate_task+0x1d/0x27
[<c030e9a2>] schedule+0x1f6/0x5ea
[<c02345ad>] poke_blanked_console+0x8f/0x9a
[<c02339dd>] vt_console_print+0x293/0x2a3
[<c030fe26>] schedule_timeout+0xf1/0x10c
[<c012b811>] process_timeout+0x0/0x5
[<c012191f>] printk+0xe/0x11
[<c0106920>] die+0x21a/0x22b
[<c0136c17>] search_exception_tables+0x1f/0x21
[<c0106c83>] do_invalid_op+0xcf/0xf2
[<c01040c7>] mwait_idle+0x23/0x40
[<c0108910>] do_IRQ+0x2b3/0x2bf
[<c0106bb4>] do_invalid_op+0x0/0xf2
[<c03115c7>] error_code+0x2f/0x38
[<c01040c7>] mwait_idle+0x23/0x40
[<c010408f>] cpu_idle+0x1f/0x34
[<c03ba6b9>] start_kernel+0x214/0x216
Kernel panic - not syncing: kernel/sched.c:2689: spin_lock(kernel/sched.c:c03ea
20) already locked by kernel/sched.c/2689

<0>Kernel panic - not syncing: kernel/sched.c:460: spin_lock(kernel/sched.c:c0
ea120) already locked by kernel/sched.c/2689

I went and looked up the code in sched.c at line 2689 and it looks like it is reponsible for locking the CPU in some fashion.

Here is the code that contains line 2689,

2689 static void wake_sleeping_dependent(int this_cpu, runqueue_t *this_rq)
2690 {
2691 struct sched_domain *tmp, *sd = NULL;
2692 cpumask_t sibling_map;
2693 int i;
2694
2695 for_each_domain(this_cpu, tmp)
2696 if (tmp->flags & SD_SHARE_CPUPOWER)
2697 sd = tmp;
2698
2699 if (!sd)
2700 return;
2701
2702 /*
2703 * Unlock the current runqueue because we have to lock in
2704 * CPU order to avoid deadlocks. Caller knows that we might
2705 * unlock. We keep IRQs disabled.
2706 */
2707 spin_unlock(&this_rq->lock);
2708
2709 sibling_map = sd->span;
2710
2711 for_each_cpu_mask(i, sibling_map)
2712 spin_lock(&cpu_rq(i)->lock);
2713 /*
2714 * We clear this CPU from the mask. This both simplifies the
2715 * inner loop and keps this_rq locked when we exit:
2716 */
2717 cpu_clear(this_cpu, sibling_map);
2718
2719 for_each_cpu_mask(i, sibling_map) {
2720 runqueue_t *smt_rq = cpu_rq(i);
2721
2722 wakeup_busy_runqueue(smt_rq);
2723 }
2724
2725 for_each_cpu_mask(i, sibling_map)
2726 spin_unlock(&cpu_rq(i)->lock);
2727 /*
2728 * We exit with this_cpu's rq still held and IRQs
2729 * still disabled:
2730 */
2731 }

I have a Pentium 4 3.0 Ghz Hyperthread. I've tried disabling Hyperthreading through my bios but that didn't help.

When the VM is sitting in this state, my CPU is lingering at ~90% utilization. Clearly, some thing the linux kernel does not like about locking my CPU but I'm not sure what!

Any help would be appreciated!!

Thanks,
Mike

happybunny
04-07-2008, 12:50 PM
VMWare WKS 4 doesn't support the 2.6 kernel if memory serves.

Try virtualbox.org or try getting a newer version of WKS...i think they are up to 6+ at this point.

mjbrantley
04-07-2008, 02:35 PM
Thanks for the suggestion! VMWare Workstation v6 fixed the issue.

Though, it wasn't that easy to solve. I have multiple systems. I was able to finally install on a non-Hyperthread processor PC using workstation 4. I then took that VM back over to the trouble system and it reproduced the same error.

So, you can install and run RHEL v4 in VMWare Workstation v4 as long as your host hardware is compatible! Not sure if it is the CPU or not but clearly some thing that redhat does not like with that version of VMWare workstation and the Hardward on my system.

happybunny
04-08-2008, 02:07 PM
you could also try the anyany patch from vmware...might work