[Bug 29484] New: Microsoft Visual C++ 2010 Runtime installer crashes in "repair" and "uninstall" mode (empty VolumeLabel in Media table)

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Dec 29 17:13:44 CST 2011


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 at winehq.org
        ReportedBy: focht at 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/ad4f747fa68fe185854e6fbbc6f0fec62e762e06:/dlls/msi/media.c#l814

"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

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list