#159 System crashed afrer upgrade to 0.7.4 and SMP_WORKAROUND=Y

open
nobody
5
2009-06-27
2009-05-29
No

System crashed afrer upgrade from 0.7.3.0 to 0.7.4.0 and COLINUX_NO_SMP_WORKAROUND=Y
OS Windows XP,2003
Error code is:
0x1000007f (0x00000008, 0xba338d70, 0x00000000, 0x00000000). A

After downgrade to 0.7.3.0 system working OK

Discussion

  • Dimitar Pashev

    Dimitar Pashev - 2009-05-29

    http://msdn.microsoft.com/en-us/library/ms795478.aspx
    --------
    Bug Check 0x7F: UNEXPECTED_KERNEL_MODE_TRAP
    Parameter: 0x00000008, or Double Fault, indicates that an exception occurs during a call to the handler for a prior exception. Typically, the two exceptions are handled serially. However, there are several exceptions that cannot be handled serially, and in this situation the processor signals a double fault. There are two common causes of a double fault:
    A kernel stack overflow. This overflow occurs when a guard page is hit, and the kernel tries to push a trap frame. Because there is no stack left, a stack overflow results, causing the double fault. If you think this overview has occurred, use the !thread debugger extension to determine the stack limits, and then use the kb (Display Stack Backtrace) debugger command with a large parameter (for example, kb 100) to display the full stack.
    A hardware problem.

     
  • Henry N.

    Henry N. - 2009-05-29

    Are you sure to have upgrade it right, and the driver was successfully replaced?
    Have you tried
    1. execute "colinux-daemon --remove-driver"
    2. execute "colinux-daemon --install-driver"

    Does it also crash without "COLINUX_NO_SMP_WORKAROUND=Y" ?

    Do you have a minidump and can you please analyze it? (see debugging.txt)

     
  • Nobody/Anonymous

    Yes,
    dir linux.sys
    15.04.2009 г. 21:59 84 992 linux.sys
    ------------------------------------------------------
    C:\Program Files\coLinux>colinux-daemon.exe --remove-driver
    Cooperative Linux Daemon, 0.7.4
    Daemon compiled on Wed Apr 15 18:59:08 2009
    ------------------------------------------------------
    C:\Program Files\coLinux>colinux-daemon.exe --install-driver
    Cooperative Linux Daemon, 0.7.4
    Daemon compiled on Wed Apr 15 18:59:08 2009

    loading C:\Program Files\coLinux\linux.sys
    daemon: driver installed
    ------------------------------------------------------
    C:\Program Files\coLinux>colinux-daemon.exe --status-driver
    Cooperative Linux Daemon, 0.7.4
    Daemon compiled on Wed Apr 15 18:59:08 2009

    checking if the driver is installed
    current state: 4 (fully initialized)
    current number of monitors: 0
    current linux api version: 12
    current periphery api version: 22
    Driver compiled on: Wed Apr 15 18:59:08 2009
    -----------------------------------------------------------
    *******************************************************************************
    * *
    * Bugcheck Analysis *
    * *
    *******************************************************************************

    UNEXPECTED_KERNEL_MODE_TRAP (7f)
    This means a trap occurred in kernel mode, and it's a trap of a kind
    that the kernel isn't allowed to have/catch (bound trap) or that
    is always instant death (double fault). The first number in the
    bugcheck params is the number of the trap (8 = double fault, etc)
    Consult an Intel x86 family manual to learn more about what these
    traps are. Here is a *portion* of those codes:
    If kv shows a taskGate
    use .tss on the part before the colon, then kv.
    Else if kv shows a trapframe
    use .trap on that value
    Else
    .trap on the appropriate frame will show where the trap was taken
    (on x86, this will be the ebp that goes with the procedure KiTrap)
    Endif
    kb will then show the corrected stack.
    Arguments:
    Arg1: 00000008, EXCEPTION_DOUBLE_FAULT
    Arg2: ba338d70
    Arg3: 00000000
    Arg4: 00000000
    -----------------------------------------------------
    MODULE_NAME: nt

    FAULTING_MODULE: 804d7000 nt

    DEBUG_FLR_IMAGE_TIMESTAMP: 498c11d3

    BUGCHECK_STR: 0x7f_8

    DEFAULT_BUCKET_ID: DRIVER_FAULT

    LAST_CONTROL_TRANSFER: from 00000000 to 80543561

    STACK_TEXT:

    STACK_COMMAND: kb

    FOLLOWUP_IP:
    nt!Kei386EoiHelper+16a5
    80543561 ebee jmp nt!Kei386EoiHelper+0x1695 (80543551)

    SYMBOL_STACK_INDEX: 0

    SYMBOL_NAME: nt!Kei386EoiHelper+16a5

    FOLLOWUP_NAME: MachineOwner

    IMAGE_NAME: ntkrpamp.exe

    BUCKET_ID: WRONG_SYMBOLS

    Followup: MachineOwner
    ---------

     
  • Henry N.

    Henry N. - 2009-06-02

    Hm, that's odd.

    When it's crashing? Some times after install (without starting colinux-daemon)?
    After executing the kernel (with or without boot messages)?
    Or on shutdown coLinux?

    Do you used the file "vmlinux", that was distributed with the installation (or a self made kernel)?
    Runs the quick test with initrd and the kernel from installation directory
    "colinux-daemon kernel=vmlinux initrd=initrd.gz root=/dev/ram0" ?

    Such crash is typically from the code in our passage page, because we don't have a trap handler there.
    The changes on passage page between 0.7.3 (SVN r1055) and 0.7.4 (SVN r1245) are minimal. Exactly it was only r1198, r1192 and r1119:
    http://colinux.svn.sourceforge.net/viewvc/colinux/branches/devel/src/colinux/arch/i386/passage.c?view=log&pathrev=1245

    I afraid, it is the change on "sysenter" (X86_FEATURE_SEP).
    Add "nosep" to the kernel command line and try to boot. This will disable the SEP feature on Linux side.

    You can try some of the changes, step by step from snapshot archive:
    http://www.henrynestler.com/colinux/testing/devel-0.8.0/
    20080823-Snapshot : SVN revision r1118 without sysenter
    20080907-Snapshot : SVN revision r1119 with sysenter

    PS: Please login on SF berore answer. So, we know, that is the same user from beginning.

     
  • Nobody/Anonymous

    >Do you used the file "vmlinux", that was distributed with the installation
    >(or a self made kernel)?
    - distributed with the installation

    >Runs the quick test with initrd and the kernel from installation
    >directory
    >"colinux-daemon kernel=vmlinux initrd=initrd.gz root=/dev/ram0" ?
    BOOT OK !!!!!

    but, if remove root=/dev/ram0, windows crashed after few seconds !!!
    colinux-daemon kernel=vmlinux initrd=initrd.gz -> Crash after few seconds

     
  • Nobody/Anonymous

    Previous is not entirely true.
    first time: "colinux-daemon kernel=vmlinux initrd=initrd.gz root=/dev/ram" -> BOOT OK!!!
    second time: "colinux-daemon kernel=vmlinux initrd=initrd.gz root=/dev/ram" -> CRASH !!!
    Blue screen
    BCCode : 1000007f BCP1 : 00000008 BCP2 : 80042000 BCP3 : 00000000
    BCP4 : 00000000 OSVer : 5_1_2600 SP : 3_0 Product : 256_1

     
  • Henry N.

    Henry N. - 2009-06-27
    • summary: System crashed afrer upgrade to 0.7.4.0 and --> System crashed afrer upgrade to 0.7.4 and SMP_WORKAROUND=Y
     
  • Dimitar Pashev

    Dimitar Pashev - 2009-06-29

    with 20080823-Snapshot work - OK !

     
  • Henry N.

    Henry N. - 2009-06-29

    And 20080907-Snapshot crashed, with same configuration?

    What is the CPU manufacturer (Intel or AMD)?

    What detected a Linux (better would be a native Linux or Knoppix) for this cpu in the flags?
    type: cat /proc/cpuinfo

    PS:
    2008-08-23T14:15:00 r1118 is without sysenter support
    2008-09-07T12:26:17 r1119 is the first build with sysenter

     
  • Dimitar Pashev

    Dimitar Pashev - 2009-06-30

    Processors Information
    ------------------------------------------------------------------------------------

    Processor 1 (ID = 0)
    Number of cores 2 (max 2)
    Number of threads 2 (max 2)
    Name Intel Pentium D 820
    Codename SmithField
    Specification Intel(R) Pentium(R) D CPU 2.80GHz
    Package Socket 775 LGA (platform ID = 4h)
    CPUID F.4.7
    Extended CPUID F.4
    Core Stepping B0
    Technology 90 nm
    Core Speed 2800.2 MHz (14.0 x 200.0 MHz)
    Rated Bus speed 800.1 MHz
    Stock frequency 2800 MHz
    Instructions sets MMX, SSE, SSE2, SSE3, EM64T
    L1 Data cache 2 x 16 KBytes, 8-way set associative, 64-byte line size
    Trace cache 2 x 12 Kuops, 8-way set associative
    L2 cache 2 x 1024 KBytes, 8-way set associative, 64-byte line size
    FID/VID Control no
    Features XD

    ----- colinux /proc/cpuinfo ----

    processor : 0
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Pentium(R) D CPU 2.80GHz
    stepping : 7
    cpu MHz : 2800.000
    cache size : 1024 KB
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : no
    coma_bug : no
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat
    pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni mon
    itor ds_cpl cid cx16 xtpr lahf_lm
    bogomips : 5688.52
    clflush size : 64

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks