https://bugs.winehq.org/show_bug.cgi?id=35824
Bug ID: 35824 Summary: UltraISO 'ISODrive.sys' crashes in entry point (SCM doesn't start SERVICE_FILE_SYSTEM_DRIVER type services with winedevice hosting process) Product: Wine Version: 1.7.14 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: programs Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net
Hello folks,
found during bug 35755
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+winedevice,+ntoskrnl,+service wine ./uiso9_pe.exe
log.txt 2>&1
... 0016:Call KERNEL32.CreateNamedPipeW(00119d70 L"\\.\pipe\net\NtControlPipe2",40000003,00000000,00000001,00000100,00000100,00002710,00000000) ret=7eded4ac 0016:Ret KERNEL32.CreateNamedPipeW() retval=000000d8 ret=7eded4ac ... 0016:Call KERNEL32.ExpandEnvironmentStringsW(0011a038 L"C:\Program Files\UltraISO\drivers\ISODrive.sys",00000000,00000000) ret=7edecacd 0016:Ret KERNEL32.ExpandEnvironmentStringsW() retval=0000002f ret=7edecacd ... 0016:Call KERNEL32.ExpandEnvironmentStringsW(0011a038 L"C:\Program Files\UltraISO\drivers\ISODrive.sys",00119d70,0000002f) ret=7edecb39 0016:Ret KERNEL32.ExpandEnvironmentStringsW() retval=0000002f ret=7edecb39 0016:Call KERNEL32.CreateProcessW(00000000,00119d70 L"C:\Program Files\UltraISO\drivers\ISODrive.sys",00000000,00000000,00000000,00000400,00540000,00000000,0084e4c8,0084e50c) ret=7edecd84 ... 0037:Call KERNEL32.__wine_kernel_init() ret=7bc5a3aa 0016:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7edecd84 ... 0037:Starting process L"C:\Program Files\UltraISO\drivers\ISODrive.sys" (entryproc=0x253b3f) 0037:trace:seh:raise_exception code=c0000005 flags=0 addr=0x2537a9 ip=002537a9 tid=0037 0037:trace:seh:raise_exception info[0]=00000000 0037:trace:seh:raise_exception info[1]=00000061 0037:trace:seh:raise_exception eax=00000061 ebx=00000000 ecx=0000bb40 edx=7edfefe4 esi=7edd4ce0 edi=00251d4c 0037:trace:seh:raise_exception ebp=0035fe20 esp=0035fd5c cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010246 ... --- snip ---
The random crashes during relay trace are the result from the driver entry point accessing the second parameter which ought to be 'RegistryPath. The binary is started as plain win32 process (not loaded in winedevice hosting process) hence the driver entry point params are not setup.
The kernel driver is a file system driver service, currently not handled with Wine's service manager.
MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/ms682450%28v=vs.85%2...
--- quote --- dwServiceType [in]
The service type. This parameter can be one of the following values. Value Meaning
SERVICE_ADAPTER 0x00000004 Reserved.
SERVICE_FILE_SYSTEM_DRIVER 0x00000002 File system driver service.
SERVICE_KERNEL_DRIVER 0x00000001 Driver service.
SERVICE_RECOGNIZER_DRIVER 0x00000008 Reserved.
SERVICE_WIN32_OWN_PROCESS 0x00000010 Service that runs in its own process.
SERVICE_WIN32_SHARE_PROCESS 0x00000020 Service that shares a process with one or more other services. For more information, see Service Programs. --- quote ---
Registry export of driver service:
--- snip --- [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ISODrive] "DisplayName"="ISO DVD/CD-ROM Device Driver" "ErrorControl"=dword:00000000 "ImagePath"="C:\Program Files\UltraISO\drivers\ISODrive.sys" "ObjectName"="LocalSystem" "PreshutdownTimeout"=dword:0002bf20 "Start"=dword:00000001 "Type"=dword:00000002
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ISODrive\Parameters] "AutoMount"=dword:00000001 "ExcludeDrives"="CDEZ" --- snip ---
Type -> 0x2 -> SERVICE_FILE_SYSTEM_DRIVER
Source: http://source.winehq.org/git/wine.git/blob/debd1346b003ae34013a04318e7105f88...
--- snip --- 606 static DWORD service_start_process(struct service_entry *service_entry, HANDLE *process) 607 { ... 634 ExpandEnvironmentStringsW(service_entry->config.lpBinaryPathName,path,size); 635 636 if (service_entry->config.dwServiceType == SERVICE_KERNEL_DRIVER) 637 { 638 static const WCHAR winedeviceW[] = {'\','w','i','n','e','d','e','v','i','c','e','.','e','x','e',' ',0}; ... --- snip ---
$ sha1sum uiso9_pe.exe 77d93c41f45530e58892b276a3fa92c7128b7539 uiso9_pe.exe
$ du -sh uiso9_pe.exe 4.2M uiso9_pe.exe
$ wine --version wine-1.7.14-185-g5cf20ce
Regards
https://bugs.winehq.org/show_bug.cgi?id=35824
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.ezbsystems.com/u | |ltraiso/download.htm
https://bugs.winehq.org/show_bug.cgi?id=35824
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |35755
https://bugs.winehq.org/show_bug.cgi?id=35824
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
--- Comment #1 from Austin English austinenglish@gmail.com --- Created attachment 47838 --> https://bugs.winehq.org/attachment.cgi?id=47838 start all driver types
This patch combined with try 2 from bug 35755 avoids the crashes for me. I do get an infinite loop of FIXMEs though:
fixme:ntoskrnl:__regs_ExfInterlockedRemoveHeadList (0x1138e8 0x1138f0) stub fixme:ntoskrnl:KeWaitForSingleObject stub: 0x1138f4, 0, 0, 0, (nil) fixme:ntoskrnl:PsTerminateSystemThread stub: 0
https://bugs.winehq.org/show_bug.cgi?id=35824
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
revisiting, still present.
Source: https://source.winehq.org/git/wine.git/blob/HEAD:/programs/services/services...
$ wine --version wine-1.7.54-179-ga0d0d0d
Regards
https://bugs.winehq.org/show_bug.cgi?id=35824
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/services-SERVI | |CE_FILE_SYSTEM_DRIVER
https://bugs.winehq.org/show_bug.cgi?id=35824
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |94fb7c3b8bdb8e713dd229ad786 | |21f91916240ab Status|STAGED |RESOLVED Resolution|--- |FIXED
--- Comment #3 from Sebastian Lackner sebastian@fds-team.de --- Fixed with http://source.winehq.org/git/wine.git/commit/94fb7c3b8bdb8e713dd229ad78621f9....
https://bugs.winehq.org/show_bug.cgi?id=35824
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #4 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.4.
https://bugs.winehq.org/show_bug.cgi?id=35824
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com Target Milestone|--- |1.8.x
https://bugs.winehq.org/show_bug.cgi?id=35824
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #5 from Michael Stefaniuc mstefani@redhat.com --- Removing 1.8.x milestone from bugs included in 1.8.5.
https://bugs.winehq.org/show_bug.cgi?id=35824
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |villamarinf@gmail.com
--- Comment #6 from Anastasius Focht focht@gmx.net --- *** Bug 43803 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=35824
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.ezbsystems.com/u |https://web.archive.org/web |ltraiso/download.htm |/20190416195816/https://www | |.ultraiso.com/uiso9_pe.exe