Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#177 Slirp daemon crashing

v0.8.x (devel)
open
nobody
5
2010-04-11
2010-04-11
Shai
No

This seems similar to the bug reported here: http://sourceforge.net/tracker/index.php?func=detail&aid=2055697&group_id=98788&atid=622063 that was fixed and closed. The difference is the rate. It's very hard to reproduce nowadays but it still happens once in a while. Bbefore, the bug could be reproduced after 5-10 minutes of heavy network, now it happens after 20+ hours or so. So this is probably a different bug. Happens with coLinux 0.8.0 but I suspect with other versions as well. Although slirp crashes, coLinux still works properly albeit no networking.

Discussion

  • Shai
    Shai
    2010-04-13

    Hi Henry,
    Where can I get the debug version of coLinux 0.8.0? The Wikia talks about debug version for the current release only (0.7.6).
    Thanks,
    - Shai

     
  • Shai
    Shai
    2010-04-14

    Hi Henry,
    I seem to be having difficulties running the slirp daemon in debug mode. Here's an output of gdb:
    C:\Program Files\coLinux-devel\debug>gdb -se colinux-slirp-net-daemon.exe
    GNU gdb 6.3
    Copyright 2004 Free Software Foundation, Inc.
    GDB is free software, covered by the GNU General Public License, and you are
    welcome to change it and/or distribute copies of it under certain conditions.
    Type "show copying" to see the conditions.
    There is absolutely no warranty for GDB. Type "show warranty" for details.
    This GDB was configured as "i686-pc-mingw32"...(no debugging symbols found)

    (gdb) run -i 3044 -u 0
    Starting program: C:\Program Files\coLinux-devel\debug/colinux-slirp-net-daemon.
    exe -i 3044 -u 0
    conet-slirp-daemon: monitor open failed
    conet-slirp-daemon: exitcode 8a86f401

    Program exited with code 037777777777.
    (gdb)
    C:\Program Files\coLinux-devel\debug>dir

    Any suggestions?
    Also, the example in Wiki uses the file colinux-slirp-net-daemon-dbg.exe whereas the debug releases do have debug version of slirp, however, the filename doesn't contain the -dbg extension: colinux-slirp-net-deamon.exe. Could this be related?

    Thanks,

    - Shai

     
  • Henry N.
    Henry N.
    2010-04-14

    colinux-slirp-net-daemon-dbg.exe was an other example, where colinux-slirp-net-daemon-dbg.exe and colinux-slirp-net-daemon.exe exist in same directory. Sorry. Your way was ok.

    To see the faulting line, you can run "colinux-debug-daemon.exe -e 8a86f401". But this will only say you, that daemon can't open the driver.

    Try to run the daemon without debugger, like
    cd C:\Program Files\coLinux-devel\debug
    colinux-slirp-net-daemon.exe -i 3044 -u 0

    You runs coLinux as service? If so, then please try to start colinux-daemon from command line.

    What Windows is it? Windows7 or Vista?, then open CMD.EXE as Admin (for the gdb session).

    The error "monitor open failed" comes also, if the current PID (your 3044) is wrong. The number is the PID from currently running colinux-daemon.exe. You can see this number in ProcessExplorer, Taskmanager and in first lines on colinux-daemon boots.

    Maybe the debug build I have pointed you, is not exactly the same as you running currently? You can check the build date by running "colinux-daemon --status-driver" from directory debug and your other directory.

    The other small thing I saw as text "no debugging symbols found". It is not important for running SLiRP daemon. This is interesting later, to see source line numbers. A option "-Wl,--strip-debug" has removed some informations for GDB. Now, I know why it was named ...-gdb.exe. colinux-slirp-net-daemon-gdb.exe is not the same binary as colinux-slirp-net-daemon.exe, because build flag -ggdb was added.

    "debug/colinux-slirp-net-daemon.exe" is the normal exe file with debugging symbols.
    The non debug colinux-slirp-net-daemon.exe was created from "debug/colinux-slirp-net-daemon.exe" by stripping out all symbol names stuff.
    "colinux-slirp-net-daemon-gdb.exe" is an extra build with '-ggdb' for line-nubers and some more informations.

    I have uploaded the slirp with full debug:
    http://www.henrynestler.com/colinux/testing/devel-0.8.0/20100305-Snapshot/packages/colinux-slirp-net-daemon-gdb-20100415.zip

     
  • Shai
    Shai
    2010-04-15

    Henry,
    I have found the problem. I was using the PID of the slirp-daemon I killed instead of using the PID of the colinux-daemon.exe process. This is a bit misleading, maybe a note should be added to the Wiki?
    Now is time to find the bug...

    - Shai

     
  • Henry N.
    Henry N.
    2010-04-15

    I have changed wiki. If not understand now, than feel free to change it.