DF-5044 / run.log
pci0.0: hardreset failed to clear pci0.1: hardreset failed to clear pci0.0: No device detected pci0.1: No device detected DF5044: port 0 helper thread up and parked (thread=0xfffff8008e103480) DF5044: port 1 helper thread up and parked (thread=0xfffff8008e103b00) DF5044: E1: normal sili_os_stop_port(port0)... DF5044: E1: returned (thread=0) DF5044: E2: wedging helper thread: holding ap_lock, then signalling AP_SIGF_TIMEOUT so the thread blocks in sili_port_thread_core()->sili_os_lock_port() DF5044: STOPPER: calling real sili_os_stop_port(0xfffff80116a104c0) with the helper thread wedged on ap_lock pci0.1: Waiting for thread to terminate DF5044: WATCHDOG 1/3: stopper STILL spinning in sili_os_stop_port wait loop after 5 seconds (ap_thread=0xfffff8008e103b00 != NULL, no bound, no force-kill) DF5044: WATCHDOG 2/3: stopper STILL spinning in sili_os_stop_port wait loop after 10 seconds (ap_thread=0xfffff8008e103b00 != NULL, no bound, no force-kill) DF5044: WATCHDOG 3/3: stopper STILL spinning in sili_os_stop_port wait loop after 15 seconds (ap_thread=0xfffff8008e103b00 != NULL, no bound, no force-kill) DF5044: E2: releasing the wedge after >= 15s of proven unbounded spinning pci0.1: thread terminated DF5044: STOPPER: sili_os_stop_port RETURNED DF5044: E2: PROVEN: sili_os_stop_port spun >= 15s purely because the helper thread was blocked; on a real unload/shutdown nobody releases the wedge => permanent hang (DF-5044) DF5045: E3: calling sili_os_stop_port() on a port whose ap_lock was NEVER lockinit'ed (the sili_port_alloc error-unwind shape) DF5045: E3: returned M-bM^@M^T lockuninit(&ap_lock) executed on the uninitialized zeroed lock (benign only because M_ZERO makes lk_count==0); ap_sim_lock/ap_sig_lock/ap_ccb_lock are never uninited on any path (DF-5045) DF5044: cleanup done, guest still healthy