http://bugs.winehq.org/show_bug.cgi?id=29484
Bug #: 29484 Summary: Microsoft Visual C++ 2010 Runtime installer crashes in "repair" and "uninstall" mode (empty VolumeLabel in Media table) Product: Wine Version: 1.3.35 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: msi AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello,
a user in IRC #winehq tried to reinstall VC++ 2010 runtime in existing WINEPREFIX and failed.
I reproduced this. Actually the installer crashes in both, "repair" and "uninstall" mode.
Steps:
1) clean WINEPREFIX 2) winetricks -q vcrun2010 3) run the installer again manually:
$ wine ./vcredist_x86.exe /uninstall /norestart
--- snip --- ... fixme:propsheet:PROPSHEET_SetHeaderTitleW (0x1006c, 0, L"Microsoft Visual C++ 2010 x86 Redistributable Maintenance"): stub fixme:propsheet:PROPSHEET_SetHeaderSubTitleW (0x1006c, 0, L"You can repair your installation or remove it from this computer."): stub fixme:propsheet:PROPSHEET_SetHeaderTitleW (0x1006c, 2, L"Removal Progress"): stub fixme:propsheet:PROPSHEET_SetHeaderSubTitleW (0x1006c, 2, L"Please, wait while the Microsoft Visual C++ 2010 x86 Redistributable is being removed from this computer."): stub fixme:storage:create_storagefile Storage share mode not implemented. fixme:advapi:LsaOpenPolicy ((null),0xbccc54,0x00000001,0xbccc6c) stub fixme:advapi:LsaClose (0xcafe) stub wine: Unhandled page fault on write access to 0x00000000 at address 0x68d3fce4 (thread 0024), starting debugger... Unhandled exception: page fault on write access to 0x00000000 in 32-bit code (0x68d3fce4). ... =>0 0x68d3fce4 lstrcpyW+0x16(dst=0x0(nil), src="") [/home/focht/projects/wine/wine-git/include/winbase.h:2297] in msi (0x00bcd584) 1 0x68d422fb find_published_source+0x335(package=0x17f5e8, mi=0x1fff90) [/home/focht/projects/wine/wine-git/dlls/msi/media.c:824] in msi (0x00bcde14) 2 0x68d4275a ready_media+0x2e3(package=0x17f5e8, compressed=0x2, mi=0x1fff90) [/home/focht/projects/wine/wine-git/dlls/msi/media.c:897] in msi (0x00bce074) 3 0x68d3402a ACTION_InstallFiles+0x12a(package=0x17f5e8) [/home/focht/projects/wine/wine-git/dlls/msi/files.c:333] in msi (0x00bce104) 4 0x68d0a464 ACTION_HandleStandardAction+0xc3(package=0x17f5e8, action="InstallFiles", rc=0xbce184) [/home/focht/projects/wine/wine-git/dlls/msi/action.c:7285] in msi (0x00bce154) 5 0x68d0a658 ACTION_PerformAction+0x89(package=0x17f5e8, action="InstallFiles", script=0xffffffff) [/home/focht/projects/wine/wine-git/dlls/msi/action.c:7314] in msi (0x00bce1a4) 6 0x68cf83c5 ITERATE_Actions+0x15c(row=0x1e1150, param=0x17f5e8) [/home/focht/projects/wine/wine-git/dlls/msi/action.c:529] in msi (0x00bce204) 7 0x68d4e835 MSI_IterateRecords+0x88(view=0x1c5818, count=0x0(nil), func=0x68cf8268, param=0x17f5e8) [/home/focht/projects/wine/wine-git/dlls/msi/msiquery.c:188] in msi (0x00bce234) 8 0x68cf86e4 ACTION_ProcessExecSequence+0x19d(package=0x17f5e8, UIran=0) [/home/focht/projects/wine/wine-git/dlls/msi/action.c:606] in msi (0x00bce274) 9 0x68d0ae12 MSI_InstallPackage+0x3e9(package=0x17f5e8, szPackagePath="C:\3f8e411ba6f8f187178992388f47ef44\vc_red.msi", szCommandLine="REMOVE=ALL INSTALLLEVEL=32767 REMOVE=ALL ALLUSERS=1") [/home/focht/projects/wine/wine-git/dlls/msi/action.c:7500] in msi (0x00bce2c4) 10 0x68d45088 MsiConfigureProductExW+0x36e(szProduct="{196BB40D-1578-3D01-B289-BEFC77A11A1E}", iInstallLevel=0, eInstallState=INSTALLSTATE_ABSENT, szCommandLine="REMOVE=ALL") [/home/focht/projects/wine/wine-git/dlls/msi/msi.c:813] in msi (0x00bce734) 11 0x1006463c in setupengine (+0x6463b) (0x00bce79c) 12 0x1005c0f9 in setupengine (+0x5c0f8) (0x00bce890) 13 0x1005dea1 in setupengine (+0x5dea0) (0x00bce9bc) ... --- snip ---
Code: http://source.winehq.org/git/wine.git/blob/ad4f747fa68fe185854e6fbbc6f0fec62...
"mi->volume_label" is NULL at this point -> msi_realloc() -> NULL.
Dumping "Media" table of "vc_red.msi" with ORCA shows indeed the "VolumeLabel" field is empty.
Relevant +msi,+msidb:
--- snip --- ... 0042:trace:msi:MSI_DatabaseOpenViewW L"SELECT * FROM `Media` WHERE `LastSequence` >= 1 ORDER BY `DiskId`" 0xbce004 0042:trace:msidb:WHERE_CreateView (L"Media") 0042:trace:msidb:TABLE_CreateView 0x16a850 L"Media" 0x1fc954 0042:trace:msidb:TABLE_CreateView table 0x1fde90 found with 6 columns 0042:trace:msidb:TABLE_CreateView L"Media" one row is 18 bytes 0042:trace:msidb:TABLE_get_dimensions 0x1fc970 (nil) 0x1fc958 0042:trace:msidb:TABLE_get_column_info 0x1fc970 1 0xbcd560 0xbcd59c 0042:trace:msidb:TABLE_get_column_info 0x1fc970 2 0xbcd560 0xbcd59c 0042:trace:msidb:WHERE_sort 0x1fffd0 0x1fc9e0 0042:trace:msidb:TABLE_get_column_info 0x1fc970 1 0xbcd5c0 (nil) 0042:trace:msi:MSI_ParseSQL Parse returned 0 0042:trace:msi:MSI_ViewExecute 0x202ec8 (nil) 0042:trace:msidb:WHERE_execute 0x1fffd0 (nil) 0042:trace:msidb:TABLE_execute 0x1fc970 (nil) 0042:trace:msidb:TABLE_execute There are 6 columns 0042:trace:msidb:TABLE_get_dimensions 0x1fc970 0x1fc95c (nil) 0042:trace:msi:MSI_ViewFetch 0x202ec8 0xbce008 0042:trace:msi:msi_view_get_row 0x16a850 0x1fffd0 0 0xbce008 0042:trace:msidb:WHERE_get_dimensions 0x1fffd0 0xbcdf64 0xbcdf60 0042:trace:msidb:MSI_CreateRecord 6 0042:trace:msidb:WHERE_get_column_info 0x1fffd0 1 (nil) 0xbcdf58 (nil) (nil) 0042:trace:msidb:TABLE_get_column_info 0x1fc970 1 (nil) 0xbcdf58 0042:trace:msidb:WHERE_fetch_int 0x1fffd0 0 1 0xbcdf5c 0042:trace:msidb:MSI_RecordSetInteger 0x205170 1 1 0042:trace:msidb:WHERE_get_column_info 0x1fffd0 2 (nil) 0xbcdf58 (nil) (nil) 0042:trace:msidb:TABLE_get_column_info 0x1fc970 2 (nil) 0xbcdf58 0042:trace:msidb:WHERE_fetch_int 0x1fffd0 0 2 0xbcdf5c 0042:trace:msidb:MSI_RecordSetInteger 0x205170 2 45 0042:trace:msidb:WHERE_get_column_info 0x1fffd0 3 (nil) 0xbcdf58 (nil) (nil) 0042:trace:msidb:TABLE_get_column_info 0x1fc970 3 (nil) 0xbcdf58 0042:trace:msidb:WHERE_fetch_int 0x1fffd0 0 3 0xbcdf5c 0042:trace:msidb:MSI_RecordSetStringW 0x205170 3 L"1" 0042:trace:msidb:WHERE_get_column_info 0x1fffd0 4 (nil) 0xbcdf58 (nil) (nil) 0042:trace:msidb:TABLE_get_column_info 0x1fc970 4 (nil) 0xbcdf58 0042:trace:msidb:WHERE_fetch_int 0x1fffd0 0 4 0xbcdf5c 0042:trace:msidb:MSI_RecordSetStringW 0x205170 4 L"vc_red.cab" 0042:trace:msidb:WHERE_get_column_info 0x1fffd0 5 (nil) 0xbcdf58 (nil) (nil) 0042:trace:msidb:TABLE_get_column_info 0x1fc970 5 (nil) 0xbcdf58 0042:trace:msidb:WHERE_fetch_int 0x1fffd0 0 5 0xbcdf5c 0042:trace:msidb:WHERE_get_column_info 0x1fffd0 6 (nil) 0xbcdf58 (nil) (nil) 0042:trace:msidb:TABLE_get_column_info 0x1fc970 6 (nil) 0xbcdf58 0042:trace:msidb:WHERE_fetch_int 0x1fffd0 0 6 0xbcdf5c 0042:trace:msidb:MSI_RecordSetIntPtr 0x205170 0 2109128 0042:trace:msi:MSI_ViewClose 0x202ec8 ... --- snip ---
$ sha1sum vcredist_x86.exe 372d9c1670343d3fb252209ba210d4dc4d67d358 vcredist_x86.exe
$ wine --version wine-1.3.35-273-geaa8801
Regards
http://bugs.winehq.org/show_bug.cgi?id=29484
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |http://download.microsoft.c | |om/download/5/B/C/5BC5DBB3- | |652D-4DCE-B14A-475AB85EEF6E | |/vcredist_x86.exe
--- Comment #1 from Anastasius Focht focht@gmx.net 2011-12-29 17:15:59 CST --- Hello,
filling fields ... Download was taken from 'winetricks vcrun2010' step.
Regards
http://bugs.winehq.org/show_bug.cgi?id=29484
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |2a1902161074ebe8bf1472f1829 | |83e9c4377f1af Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #2 from Austin English austinenglish@gmail.com 2012-01-03 13:31:38 CST --- http://source.winehq.org/git/wine.git/commitdiff/2a1902161074ebe8bf1472f1829...
http://bugs.winehq.org/show_bug.cgi?id=29484
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2012-01-13 13:51:28 CST --- Closing bugs fixed in 1.3.37.
https://bugs.winehq.org/show_bug.cgi?id=29484
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://download.microsoft.c |https://web.archive.org/web |om/download/5/B/C/5BC5DBB3- |/20111011130127/http://down |652D-4DCE-B14A-475AB85EEF6E |load.microsoft.com/download |/vcredist_x86.exe |/5/B/C/5BC5DBB3-652D-4DCE-B | |14A-475AB85EEF6E/vcredist_x | |86.exe