Igb driver in 2.1rc1 2013-08-08 kernel panics on boot

  • when booting the live memstick image from the snapshots mirror dated 2013-08-08 the boot process is curtailed with a kernel panic:

    SMP: AP CPU #2 Launched!
    SMP: AP CPU #1 Launched!
    SMP: AP CPU #3 Launched!
    panic: m_getzone: m_getjcl: invalid cluster type
    cpuid = 0
    KDB: enter: panic
    Stopped at      kdb_enter+0x3b: movq    $0,0xc06ce2(%rip)
    db> bt
    Tracing pid 12 tid 100035 td 0xffffff000354b460
    kdb_enter() at kdb_enter+0x3b
    panic() at panic+0x180
    igb_refresh_mbufs() at igb_refresh_mbufs+0x31b
    igb_rxeof() at igb_rxeof+0x665
    igb_msix_que() at igb_msix_que+0xfa
    intr_event_execute_handlers() at intr_event_execute_handlers+0x104
    ithread_loop() at ithread_loop+0x95
    fork_exit() at fork_exit+0x11f
    fork_trampoline() at fork_trampoline+0xe
    --- trap 0, rip = 0, rsp = 0xffffff8000111d00, rbp = 0 ---

  • I have three intel cards, one of which is on board, so removing is impossible. The specific kp can be found on a FreeBSD site that I don't have a link to right now by googling "m_getzone: m_getjcl" In quotes. That site indicates a bug in Igb discovered in 2012 in FreeBSD 8.3.

  • http://lists.freebsd.org/pipermail/freebsd-stable/2011-May/062596.html has some related discoveries and investigation from 2011.

  • Banned

    Try with hw.pci.enable_msix=0 in /boot/loader.conf.local


  • setting hw.pci.enable_msix=0 in the bootloader did allow the boot to continue without the kp. Thanks for the tip. What, if any, problems or restrictions might I expect with disabling msi-x? I note it's an extended msi implementation for allowing interrupts without an out-of-band separate pin. So is disabling msi-x forcing the os to use polling instead? Is that going to reduce performance?

  • Banned


    So is disabling msi-x forcing the os to use polling instead?

    Nope… http://forum.pfsense.org/index.php?topic=50252.0


    Is that going to reduce performance?

    For sure the performance will be better than with an unbootable box.  ;D :D

  • Rebel Alliance Developer Netgate

    IIRC the order of preference from the driver goes something like:

    MSIX -> MSI -> Interrupts. If you disable one, it falls back to the next in line. On FreeBSD 8.x several driver+chip combinations have issues with MSI-X and MSI, but others work fine. So it's preferred but not required.

    Polling wouldn't be selected automatically it would have to be manually enabled. (and not recommended in almost every case)

Log in to reply