Ich hab mich heute nochmal mit dem Thema beschäftigt, insbesondere mit den Kernelmodulen, da ich vermute, dass da der Hund begraben ist. Ausgangslage ist meine DS415+ mit DSM 5.2-5644U2, frisch gebootet mit angehaltenem Paket VirtualBox 5.0.6. Ich hatte ja das Problem, dass sich Paket manchmal nicht beenden lässt, unabhängig davon, ob inzwischen irgendwelche VMs liefen oder nicht. Deshalb hab ich mich erstmal mit dem Start-/Stop-Vorgang beschäftigt und mir die Kernel-Meldungen angesehen. Das Laden-/Entladen der Kernelmodule übernimmt das Script /opt/VirtualBox/vboxdrv.sh, dass man mit dem Parametern start/stop ja auch so aufrufen kann. "dmesg" gibt die letzten Kernelmeldungen aus.
Code:
root@DS415:~# /opt/VirtualBox/vboxdrv.sh start
modprobe: not supported
Starting VirtualBox kernel modulessleep: invalid number '.2'
...done.
Aha, da fehlt ihm schon mal was. Das "not supported" kommt von einem Parameter -c, den das abgespeckte BusyBox-modprobe nicht unterstützt. Das scheint mir aber nicht so wichtig. Wichtiger ist eher der Teil mit "sleep".
"lsmod" liefert hinterher
Code:
Module Size Used by Tainted: P
vboxpci 14216 0
vboxnetadp 17875 0
vboxnetflt 18256 0
vboxdrv 356955 3 vboxpci,vboxnetadp,vboxnetflt
Also 3 Module, die alle auf dem Modul vboxdrv aufsetzen.
Als Kernelmeldungen kommt:
Code:
[1352881.744536] vboxdrv: Found 4 processor cores
[1352881.760843] vboxdrv: TSC mode is Invariant, tentative frequency 2393936748 Hz
[1352881.769048] supdrvMeasureTscDeltaOne failed. rc=-3743 CPU[1].idCpu=1 Master[0].idCpu=0
[1352881.769053] vboxdrv: Successfully loaded version 5.0.6 (interface 0x00240000)
[1352883.775379] VBoxNetFlt: Successfully started.
[1352883.782563] VBoxNetAdp: Successfully started.
[1352883.789801] VBoxPciLinuxInit
[1352883.793244] vboxpci: pci-stub module not available, cannot detach PCI devices
[1352883.801447] vboxpci: IOMMU not found (not compiled)
Da scheint also auch etwas zu fehlen, kann ich aber schwer beurteilen, ob das schlimm ist.
Die erfolgreiche Entladung sieht so aus:
Code:
root@DS415:~# /opt/VirtualBox/vboxdrv.sh stop
Stopping VirtualBox kernel modules ...done.
Kernel:
Code:
[1352789.325191] VBoxPciLinuxLinuxUnload
Wenn man den Vorgang öfter wiederholt, bleibt das Entladen öfter hängen, bei mir meist schon beim 2. Mal. Es kommt dann nur
Code:
root@DS415:~# /opt/VirtualBox/vboxdrv.sh stop
Stopping VirtualBox kernel modules ...
und nichts geht mehr, auch kein ^C. Als Prozess hängt dann "rmmod vboxdrv" und an Modulen ist auch nur noch der vboxdrv geladen. Schaut man sich die Kernel-Meldungen an, kommt auch wieder zuerst
Code:
[1352923.477402] VBoxPciLinuxLinuxUnload
dann folgt aber im 120s-Abstand immer wieder die Sequenz
Code:
[1353080.165595] INFO: task rmmod:31921 blocked for more than 120 seconds.
[1353080.173012] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[1353080.181992] rmmod D ffff880263c465d8 0 31921 31890 0x20020000
[1353080.190112] ffff88024434bd48 0000000000000086 0000000100000001 ffff880253e68b70
[1353080.198636] ffff88024434bd50 ffff880263c46300 ffff88024434bfd8 ffff88024434bfd8
[1353080.207152] ffff88024434bfd8 ffff880263c46300 ffff8802751b4000 ffff88024434be88
[1353080.215665] Call Trace:
[1353080.218609] [<ffffffff81482dad>] ? schedule_timeout+0x17d/0x1e0
[1353080.225543] [<ffffffff81041080>] ? usleep_range+0x40/0x40
[1353080.231895] [<ffffffff8105479b>] ? prepare_to_wait+0x5b/0x90
[1353080.238537] [<ffffffff81484946>] ? wait_for_completion+0x96/0x100
[1353080.245665] [<ffffffff8105f630>] ? try_to_wake_up+0x290/0x290
[1353080.252403] [<ffffffff8104c43b>] ? flush_workqueue+0x10b/0x5a0
[1353080.259248] [<ffffffffa07b606f>] ? rtR0LnxWorkqueueFlush+0xf/0x20 [vboxdrv]
[1353080.267358] [<ffffffffa07b60c8>] ? rtR0TermNative+0x8/0x30 [vboxdrv]
[1353080.274770] [<ffffffff81084f81>] ? SyS_delete_module+0x171/0x290
[1353080.281805] [<ffffffff8100b915>] ? fpu_finit+0x15/0x30
[1353080.287863] [<ffffffff81486732>] ? page_fault+0x22/0x30
[1353080.294016] [<ffffffff81487e91>] ? sysenter_dispatch+0x7/0x1e
bis man die DS neu startet.
Da auch hier wieder "usleep" mit im Spiel ist, vermute ich, das da im Kernel etwas fehlt.
Vielleicht könnte mal jemand anders, z.B. unser geschätzter Bordi, oder jemand anderes mit DSM 5.2-5592 das bei sich ausprobieren und berichten.
Wenn schon die Kernel-Module nicht rund laufen, kann es das ganz Paket auch nicht. Mit neueren VB-Versionen habe ich das noch nicht probiert, da die 5.0.6 unter DSM 52-5644U2 bei mir noch die stabilste ist.
Edit:
Hab grad gesehen, dass die Meldung "sleep: invalid number '.2'" beim Laden durch ein "sleep .2" im Script hervorgerufen wird und nicht von modprobe kommt. Das kann das BusyBox-sleep wieder mal nicht, werde es in 1 ändern und nochmal probieren. Für irgendwas wird es ja notwendig sein.
Edit:
Hat auch nichts gebracht, diesmal hing's aber erst beim 5. Entlade-Versuch.