http://bugs.winehq.org/show_bug.cgi?id=2158
Summary: ntdll:NtQueryVolumeInformationFile broken on FreeBSD (and other non-Linux OSes?) Product: Wine Version: 20040408 Platform: PC OS/Version: FreeBSD Status: UNCONFIRMED Severity: critical Priority: P2 Component: wine-winelib AssignedTo: wine-bugs@winehq.org ReportedBy: peorth@artificial.ath.cx
On FreeBSD, NtQueryVolumeInformationFile in ntdll/file.c, it doesn't resolve the volumes as it does on Linux. Elsewhere in the code, it appears to simply lock up because of this. Wine doesn't respond to Ctrl-C, both wine and wineserver need to be killed via 'kill -KILL' to get them to stop. FreeBSD should currently have the definitions available to reproduce the functionality. The only problem I found when trying to fix it is how to get around MEM_MAJOR and the like, considering FreeBSD no longer uses preassigned dev numbers, at least according to the documentation I've read. This is new to 20040408, I think. 20040309 had other miscellaneous problems with some things, but I couldn't track any down svery pecifically, but it 'more or less' functioned, while 20040408, the current release, will lock up on anything that uses NtQueryVolumeInformationFile. This is reproducable by running winver, or regedit, among others, which function. If you attempt to run winefile or even notepad, it'll lockup immediately. Also, if you load regedit, it'll appear to function, but you go to "Import registry file", it'll immediately lock up after calling NtQueryVolumeInformationFile. This renders wine completely unusable. The latest 'decently working' version of Wine on FreeBSD is 20040213.