#149 Shutdown coLinux hang host on Windows 2000

closed-fixed
Henry N.
9
2009-03-02
2009-02-11
Anonymous
No

I report this problem in #2445837
Unfortunate, the problem live also.
I try the autobuild-20090210, it hang also.

step:
1. Boot your linux with cmd
set COLINUX_NO_SMP_WORKAROUND=N
colinux-daemon.exe -t FLTK cocon=116x36 kernel=vmlinux mem=500 cobd0=..\root_fs cobd1=..\swap_fs eth0=ndis-bridge,"本地连接" setcobd=async root=/dev/cobd0 ro

2. login to linux
3. execute 'halt'.
Now, you will found process 'colinux-ndis-net-daemon.exe' can not halt, and host can not do manything(include close system), you must hard-reset your PC.

btw: another info when I use my build-20081209, it work fine, and when I replace vmlinux in build-20090211, it will report "colinux: BUG at /develop/build/linux-2.6.22.18/block/elevator.c:780"
I do not known what's wrong in kernel patch.

Discussion

  • Henry N.
    Henry N.
    2009-02-11

    What is the host system? Windows XP or Windows 2000?
    Does it hang with COLINUX_NO_SMP_WORKAROUND=Y ?
    Does it hang, if you boots without using network? For example by adding "init 1" to the kernel parameters (starts in runlevel 1).

    For the elevator.c:780 you have changed the IO Scheduler to CFQ?
    "setcobd=async" does not work in conjunction with "elevator=cfq".
    I have added as separate bug artifact #2588147

     
  • 1. My host is Windows2000 SP4, 1GB RAM, Core Duo 2.8GHz
    2. When I set 'COLINUX_NO_SMP_WORKAROUND=Y', the 'colinux-ndis-net-daemon.exe' can be close, but 'colinux-console-fltk.exe' can not, and hang my system also.
    3. use cmdline 'init 1', I look 'colinux-ndis-net-daemon.exe' running, and I got same as (2)
    4. I look the info below:
    io scheduler noop registered
    io scheduler anticipatory registered (default)
    io scheduler deadline registered
    io scheduler cfq registered

     
  • Henry N.
    Henry N.
    2009-02-18

    Hello,

    this is not a problem of ndis-bridge only. I have this also without ndis-bridge. That's why have changed the title line here.

    I's something with shutting down sequence of coLinux kernel driver and the attached daemons under Windows 2000 only.

    Host: 256MB RAM, Windows 2000 (no Service packs), single core
    Here is my config:
    colinux-daemon kernel=vmlinux mem=64 ^
    cobd0=Debian-4.0r0-etch.ext3 root=/dev/cobd0 ^
    eth0=slirp

    CoLinux have only started, and than used the FLTK Menu "Monitor * Shutdown".
    Sometimes this simple configuration above hangs on CMD.EXE, sometimes the Slirp daemon.
    After the shutdown it hangs with these last 3 lines:
    System halted.
    colinux: Linux VM terminated
    colinux: halted, exiting.

    If I open ProcessExplorer for this task, then the GUI goes into completely unusable state. Mouse can move. But all windows are frozen. Only the tilte line of running Windows task can activate and deactivate by mouse click. CTRL-ALT-DEL cleans the desktop, but the "logon Windows" comes not up. Only Power off or Reset key can use to reboot the host.

    With this config it hangs very rarely (1 hangs of 30 starts):
    colinux-daemon kernel=vmlinux mem=64 ^
    cobd0=Debian-4.0r0-etch.ext3 root=/dev/cobd0

    If I add more network devices, then the system hangs more often.
    For example with eth0 and eth1 it hangs very often:
    colinux-daemon kernel=vmlinux mem=64 ^
    cobd0=Debian-4.0r0-etch.ext3 root=/dev/cobd0 ^
    eth0=slirp ^
    eth1=ndis-bridge,"LAN"

    My fovorite for test is this. This automatically "halt" the Linux directly after boot is complete (start in runlevel 0):
    colinux-daemon kernel=vmlinux init 0 ^
    cobd0=Debian-4.0r0-etch.ext3 root=/dev/cobd0 ^
    eth0=slirp ^
    eth1=ndis-bridge,"LAN" ^
    cofs0=.

    The last running snapshot found at 2008-11-30 (no problems).
    The first with problem found in snapshot 2009-01-13 (hangs with eth0+eth1).
    Can you confirm this?

    Old snapshots exists at http://www.henrynestler.com/colinux/testing/devel-0.8.0/

     
  • Henry N.
    Henry N.
    2009-02-18

    • summary: ndis-bridge hang host --> Shutdown coLinux hang host on Windows 2000
    • status: open --> open-accepted
     
  • You are right!
    But I can reduce range.

    I build the svn code myself.
    The last running snapshot found at 2008-12-09
    The first with problem found at 2009-01-05
    Between them, I found that the kernel API version changed.

     
  • Henry N.
    Henry N.
    2009-02-27

    • priority: 5 --> 9
    • assigned_to: nobody --> henryn
    • status: open-accepted --> open-fixed
     
  • Henry N.
    Henry N.
    2009-02-27

    "MmUnmapLockedPages" hangs, if it was called outside of user context.

    MSDN says:
    "Note that if the call to MmMapLockedPages or MmMapLockedPagesSpecifyCache specified user mode, the caller must be in the context of the original process before calling MmUnmapLockedPages."

    Changes of SVN revision r1200 (2009-01-04T20:53:09) reverted back on SVN r1225 now.
    On SVN r1226 we now only free the mld, without unmapping it.

    Snapshot 20090227 includes this changes.

     
  • Great!
    I try again with SVN code today, the bug solved.

     
  • Henry N.
    Henry N.
    2009-03-02

    • status: open-fixed --> closed-fixed
     
  • Henry N.
    Henry N.
    2009-03-02

    OK, I will close it now.