http://bugs.winehq.org/show_bug.cgi?id=32715
Bug #: 32715 Summary: Running of Linux Live USB causes kernel32 to blow up Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: raj@upadhyaya.com Classification: Unclassified
Created attachment 43167 --> http://bugs.winehq.org/attachment.cgi?id=43167 Backtrace of blow up
I began testing Linux Live USB creator on Linux. I am running wine version wine-1.5.18 installed via YUM on Fedora 18, using the linux kernel 3.8.0-rc3 compiled from source from www.kernel.org.
What Linux Live USB does, is it creates a Live USB Linux USB thumb drive from an ISO. I keep a Windows XP partition around to run this program. My hope is to use Wine to run this program and create Linux thumb drives.
Live Linux USB should task Wine, as it looks for new updates and other information from its web site.
Back Trace attached...
http://bugs.winehq.org/show_bug.cgi?id=32715
Raj Upadhyaya raj@upadhyaya.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://www.linuxliveusb.com
http://bugs.winehq.org/show_bug.cgi?id=32715
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #1 from Dan Kegel dank@kegel.com 2013-01-14 08:47:56 CST --- FWIW, the interesting part of the log is
Unhandled exception: page fault on read access to 0x00000003 in 32-bit code (0x7ecbff98). Backtrace: =>0 0x7ecbff98 CryptHashData+0x28() in advapi32 (0x008be048) 1 0x00410dad in lili usb creator (+0x10dac) (0x008be094)
http://bugs.winehq.org/show_bug.cgi?id=32715
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download Component|kernel32 |-unknown Version|unspecified |1.5.18 Summary|Running of Linux Live USB |Linux Live USB crashes |causes kernel32 to blow up |
--- Comment #2 from Dan Kegel dank@kegel.com 2013-01-14 08:59:34 CST --- Source is available at http://www.linuxliveusb.com/en/about/sources http://websvn.tuxfamily.org/listing.php?repname=lilicreator%2Fdev& but it looks like a big autoit3 script. One way to track this down might be to find the snippet of script that crashes, and extract it to a standalone script. (And if that script also crashes when translated to autohotkey, even better.)
https://bugs.winehq.org/show_bug.cgi?id=32715
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Summary|Linux Live USB crashes |LiLi USB Creator 2.8 | |crashes on ISO image | |selection Ever confirmed|0 |1
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
I don't get that crash here.
There is a scripting engine error report after selecting an ISO image.
--- snip --- "C:\Program Files\LinuxLive USB Creator\LiLi USB Creator.exe" (23643) : ==> Subscript used on non-accessible variable.: --- snip ---
You can short-circuit the launcher with:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/LinuxLive USB Creator
$ wine ./LiLi\ USB\ Creator.exe /ErrorStdOut /AutoIt3ExecuteScript "C:\Program Files\LinuxLive USB Creator\LiLi USB Creator.exe" --- snip ---
Since the sources exist it should be rather easy to locate issues. Leaving that low hanging fruit to others.
BTW there exist multiple native Linux based tools which essentially do the same.
$ sha1sum LinuxLive\ USB\ Creator\ 2.8.29.exe 1fbd22223bb5dbd88ac3d8e81231210b564d4850 LinuxLive USB Creator 2.8.29.exe
$ du -sh LinuxLive\ USB\ Creator\ 2.8.29.exe 4.8M LinuxLive USB Creator 2.8.29.exe
$ wine --version wine-1.7.21-3-gbf72c67
Regards
https://bugs.winehq.org/show_bug.cgi?id=32715
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #4 from joaopa jeremielapuree@yahoo.fr --- Bug still occur with wine-6.0-rc3.
https://bugs.winehq.org/show_bug.cgi?id=32715
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.linuxliveusb.com |http://download.tuxfamily.o | |rg/lilicreator/old-versions | |/linuxlive/LinuxLive%20USB% | |20Creator%202.8.29.exe Component|-unknown |fonts Summary|LiLi USB Creator 2.8 |LiLi USB Creator 2.8 |crashes on ISO image |crashes on ISO image |selection |selection (needs 'Arial' | |font)
--- Comment #5 from Anastasius Focht focht@gmx.net --- Hello folks,
dupe of the many existing "missing Arial font" bug reports.
The crash/backtrace information isn't useful, it lacks the module/line number info. Fortunately, the project provides the original .au3 files and support scripts. One can use 'autoitv3' (https://www.autoitscript.com/site/autoit/downloads/) to run these which gets the following crash info:
--- snip --- REPORTER_ID : YGBEFMPEZVFU ERROR_MSG : "C:\Program Files (x86)\LinuxLive USB Creator\sources\LiLi\Graphics.au3" (618) : ==> Subscript used on non-accessible variable.: DllStructSetData($aInfo[0], "X", Int(($bar_width - DllStructGetData($aInfo[0], "Width")) / 2)) DllStructSetData($aInfo^ ERROR --- snip ---
Source of the script in question:
https://github.com/royopa/lilicreator/blob/master/2.8/Graphics.au3#L606
--- snip --- ; Author(s): Prog@ndy Func _DrawStringCenter(ByRef $hGraphic, $sString, $bar_width, $bar_height, $FontFormat = "Arial|12|1|0xFF000000|0", $InverseStart = -1) $FontFormat = StringSplit($FontFormat, "|") If $InverseStart>-1 And $FontFormat[5]=1 Then DLLCall($ghGDIPdll, "int", "GdipSetClipRectI", "ptr", $hGraphic, "int", 0, "int", 0, "int", $InverseStart, "int", $bar_height, "int", 0) $FontFormat[4]= BitOr(0xFF000000,_InverseColor($FontFormat[4])) EndIf Local $hBrush = _GDIPlus_BrushCreateSolid($FontFormat[4]) Local $hFormat = _GDIPlus_StringFormatCreate(0x0400) Local $hFamily = _GDIPlus_FontFamilyCreate($FontFormat[1]) Local $hFont = _GDIPlus_FontCreate($hFamily, $FontFormat[2], $FontFormat[3]) Local $tLayout = _GDIPlus_RectFCreate(0, 0, 0, 0) Local $aInfo = _GDIPlus_GraphicsMeasureString($hGraphic, $sString, $hFont, $tLayout, $hFormat) DllStructSetData($aInfo[0], "X", Int(($bar_width - DllStructGetData($aInfo[0], "Width")) / 2)) DllStructSetData($aInfo[0], "Y", Int(($bar_height - DllStructGetData($aInfo[0], "Height")) / 2)) _GDIPlus_GraphicsDrawStringEx($hGraphic, $sString, $hFont, $aInfo[0], $hFormat, $hBrush) If $InverseStart>-1 And $FontFormat[5]=1 Then DLLCall($ghGDIPdll, "int", "GdipSetClipRectI", "ptr", $hGraphic, "int", 0, "int", 0, "int", $bar_width, "int", $bar_height, "int", 0) _GDIPlus_FontDispose($hFont) _GDIPlus_FontFamilyDispose($hFamily) _GDIPlus_StringFormatDispose($hFormat) _GDIPlus_BrushDispose($hBrush) EndFunc ;==>_DrawStringCenter --- snip ---
Corresponding trace log with gdiplus calls:
--- snip --- ... 002d:Call gdiplus.GdipCreateSolidFill(ff000000,008bdc70) ret=00420ee9 002d:trace:gdiplus:GdipCreateSolidFill (ff000000, 008BDC70) ... 002d:trace:gdiplus:GdipCreateSolidFill <-- 0277B120 002d:Ret gdiplus.GdipCreateSolidFill() retval=00000000 ret=00420ee9 ... 002d:Call gdiplus.GdipCreateStringFormat(00000400,00000000,008bdc88) ret=00420ee9 002d:trace:gdiplus:GdipCreateStringFormat (1024, 0, 008BDC88) ... 002d:trace:gdiplus:GdipCreateStringFormat <-- 0277B268 002d:Ret gdiplus.GdipCreateStringFormat() retval=00000000 ret=00420ee9 .... 002d:Call gdiplus.GdipCreateFontFamilyFromName(02d09288 L"Arial",00000000,008bdc88) ret=00420ee9 ... 002d:Call gdi32.EnumFontFamiliesW(0087009b,02d09288 L"Arial",6f68ce80,008bd97c) ret=6f68d052 ... 002d:Ret gdi32.EnumFontFamiliesW() retval=00000001 ret=6f68d052 ... 002d:Ret gdiplus.GdipCreateFontFamilyFromName() retval=0000000e ret=00420ee9 ... 002d:Call gdiplus.GdipCreateFont(00000000,10,00000001,00000003,008bdcb8) ret=00420ee9 002d:Ret gdiplus.GdipCreateFont() retval=00000002 ret=00420ee9 ... 002d:Call gdiplus.GdipMeasureString(02826d28,02d09288 L"0%",ffffffff,00000000,02827638,0277b268,0277ba60,008bdd00,008bdd18) ret=00420ee9 002d:trace:gdiplus:GdipMeasureString (02826D28, L"0%", -1, 00000000, (0.00,0.00,0.00,0.00), 0277B268, 0277BA60, 008BDD00, 008BDD18) 002d:Ret gdiplus.GdipMeasureString() retval=00000002 ret=00420ee9 ... 0009:Call KERNEL32.WideCharToMultiByte(0000fde9,00000000,03b1dcd0 L"2019-12-29 16:12:25 : !!!!!! Crash Detected : "C:\Program Files (x86)\LinuxLive USB Creator\sources\LiLi\Graphics.au3" (618) : ==> Subscript used on non-accessible variable.:\r\nDllStructSetData($aInfo[0], "X", Int(($bar_width - DllStructGetData($aInfo[0], "Width")) / 2))\r\nDl"...,00000131,00000000,00000000,00000000,00000000) ret=00463901 --- snip ---
The problem starts already when 'GdipCreateFontFamilyFromName' fails. The array subscript problem from 'GdipMeasureString' call (https://www.autoitscript.com/autoit3/docs/libfunctions/_GDIPlus_GraphicsMeas...) is just a follow-up error.
'winetricks -q arial' or Wine-Staging works around as usual.
* bug 32323 ("Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed") * bug 32342 ("Multiple applications and games using 'Webkit' or 'Blink' web browser engine crash on startup ('Arial' and 'Times New Roman' font face name validation)") * various separated app bugs mentioning 'Arial' requirement and even have other apps duplicates linked to them, despite specific app name in title(!)
Quite messy situation.
$ sha1sum LinuxLive\ USB\ Creator\ 2.8.29.exe 1fbd22223bb5dbd88ac3d8e81231210b564d4850 LinuxLive USB Creator 2.8.29.exe
$ du -sh LinuxLive\ USB\ Creator\ 2.8.29.exe 4.8M LinuxLive USB Creator 2.8.29.exe
$ wine --version wine-5.0-rc3
Regards
https://bugs.winehq.org/show_bug.cgi?id=32715
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://download.tuxfamily.o |https://web.archive.org/web |rg/lilicreator/old-versions |/20191229143203if_/http://d |/linuxlive/LinuxLive%20USB% |ownload.tuxfamily.org/lilic |20Creator%202.8.29.exe |reator/old-versions/linuxli | |ve/LinuxLive%20USB%20Creato | |r%202.8.29.exe