Comment 0 for bug 137978

Revision history for this message
In , Krzysiek-bugs-winehq-org (krzysiek-bugs-winehq-org) wrote :

Distro: Kubuntu Dapper 6.06
Wine: 0.9.9-0ubuntu2 (tested also with 0.9.39 from winehq.org)
Kernel: 2.6.15-29-386 (2.6.15-29.58)

This is kernel bug, but affects only wine, so workaround in wine is easier.

When .exe is run from FAT partition, wine process gets stuck in kernel in "D" state and cannot be killed.

I have straced the process and it appears it is stuck in:
 ioctl(9, TUNIOCGETINFO or VFAT_IOCTL_READDIR_BOTH
This way user can prevent unmounting FAT partition by running wine on FAT partition.
To reproduce:
 1. Mount any FAT volume (for example USB pendrive)
 2. Copy some file.exe file to it.
 3. Run: wine /media/mydisk/file.exe
 4. Wine hangs and cannot be killed.

Possible workaround is to recompile wine with "#define VFAT_IOCTL_READDIR_BOTH" in dlls/ntdll/directory.c commented out.
I have checked that it works.

See also here: https://bugs.launchpad.net/ubuntu/+source/wine/+bug/137978