Adobe Acrobat 9.0.0 Pro Extended Crashes Mid-Install

Bug #615690 reported by rusivi2
4
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Wine
Fix Released
Medium
wine1.2 (Ubuntu)
Invalid
Undecided
Unassigned
wine1.2 (openSUSE)
Fix Released
Unknown
wine1.4 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: wine1.2

1) lsb_release -rd
Description: Ubuntu 10.04.1 LTS
Release: 10.04

2) apt-cache policy wine1.2
wine1.2:
  Installed: 1.1.42-0ubuntu4
  Candidate: 1.1.42-0ubuntu4
  Version table:
 *** 1.1.42-0ubuntu4 0
        500 http://us.archive.ubuntu.com/ubuntu/ lucid/universe Packages
        100 /var/lib/dpkg/status

3) What I expected to happen is that Adobe Acrobat 9.0.0 Pro Extended installs flawlessly via wine.

4) What happens is it crashes mid-install (please see attached screenshot & cli output).

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: wine1.2 1.1.42-0ubuntu4
ProcVersionSignature: Ubuntu 2.6.32-24.39-generic 2.6.32.15+drm33.5
Uname: Linux 2.6.32-24-generic i686
Architecture: i386
Date: Tue Aug 10 00:23:04 2010
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: wine1.2

Revision history for this message
In , Austin English (austinenglish) wrote :

Apparently not a regression, just didn't notice before because of gui crash handler.

Revision history for this message
In , Ken Sharp (kennybobs) wrote :

Forgot the trace ;)

Revision history for this message
In , Austin English (austinenglish) wrote :

Created an attachment (id=21876)
trace

+msidb makes it too big...

Revision history for this message
In , Jaime Rave (jaimerave) wrote :

Still a problem in Wine 1.1.35.

Revision history for this message
In , Hans-meelstraat (hans-meelstraat) wrote :

0027:Ret msi.MsiProcessMessage() retval=00000000
0027:trace:seh:raise_exception code=c0000094 flags=0 addr=0x1000aa92 ip=1000aa92 tid=0027

It's crashing inside a custom action called DefragmentFiles, right after
a call to MsiProcessMessage.

Revision history for this message
In , Austin English (austinenglish) wrote :

It seems it's trying to defragment. Looking at MSDN:
http://msdn.microsoft.com/en-us/library/aa363911%28VS.85%29.asp

"
To defragment a file

   1. Use the FSCTL_GET_VOLUME_BITMAP control code to find a place on the volume that is large enough to accept an entire file.

      Note If necessary, move other files to make a place that is large enough. Ideally, there is enough unallocated clusters after the first extent of the file that you can move subsequent extents into the space after the first extent.
   2. Use the FSCTL_GET_RETRIEVAL_POINTERS control code to get a map of the current layout of the file on the disk.
   3. Walk the RETRIEVAL_POINTERS_BUFFER structure returned by FSCTL_GET_RETRIEVAL_POINTERS.
   4. Use the FSCTL_MOVE_FILE control code to move each cluster as you walk the structure.

      Note You may need to renew either the bitmap or the retrieval structure, or both at various times as other processes write to the disk.
"

Right before that crash, terminal output shows:
fixme:ntdll:server_ioctl_file Unsupported ioctl 90073 (device=9 access=0 func=1c method=3)
...
fixme:ntdll:server_ioctl_file Unsupported ioctl 90073 (device=9 access=0 func=1c method=3)

90073 is FSCTL_GET_RETRIEVAL_POINTERS.

Looking at a +file, it seems Adobe Reader is installing a file, then trying to defrag it:
trace:file:CreateFileW L"C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\acrord32.dll" GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE creation 3 attributes 0x20000000
...
trace:file:CreateFileW returning 0xb8
trace:file:DeviceIoControl (0xb8,90073,0xb3e35c,8,0xb47448,8204,0xb3e348,(nil))
fixme:ntdll:server_ioctl_file Unsupported ioctl 90073 (device=9 access=0 func=1c method=3)

More info on FSCTL_GET_RETRIEVAL_POINTERS here:
http://www.wd-3.com/archive/luserland.htm

I tried a quick hack:
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
index b5d1c14..393bd4d 100644
--- a/dlls/ntdll/file.c
+++ b/dlls/ntdll/file.c
@@ -1243,6 +1243,12 @@ static NTSTATUS server_ioctl_file( HANDLE handle, HANDLE event,
     }
     SERVER_END_REQ;

+ if (code == FSCTL_GET_RETRIEVAL_POINTERS)
+ {
+ FIXME("FSCTL_GET_RETRIEVAL_POINTERS is a stub.\n");
+ return STATUS_SUCCESS;
+ }
+
     if (status == STATUS_NOT_SUPPORTED)
         FIXME("Unsupported ioctl %x (device=%x access=%x func=%x method=%x)\n",
               code, code >> 16, (code >> 14) & 3, (code >> 2) & 0xfff, code & 3);

returning different statuses (NOT_IMPLEMENTED, ACCESS_DENIED, etc.), but no luck. Seems it'll need something with a bit more meat.

Revision history for this message
In , Hans-meelstraat (hans-meelstraat) wrote :

*** Bug 20006 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Hans-meelstraat (hans-meelstraat) wrote :

*** Bug 23445 has been marked as a duplicate of this bug. ***

Revision history for this message
In , Hans-meelstraat (hans-meelstraat) wrote :

*** Bug 23558 has been marked as a duplicate of this bug. ***

Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

Created an attachment (id=381747)
wine APEX9_Win_WEB_WWEFG.exe

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.8) Gecko/20100723 Ubuntu/10.04 (lucid) Firefox/3.6.8

With openSUSE 11.3, installed Wine, then Adobe Acrobat 9.0.0 Pro
Extended, and mid install the program has a crash with backtrace (please see
attached cli-output.txt & screenshot). However, the install continues and finishes after I click the button in the crash box.

Reproducible: Always

Steps to Reproduce:
1. Fresh install of openSUSE & fully update.
2. Install WINE and download Adobe Acrobat 9.0.0 Pro Extended.
3. Attempt to install and watch the crash.
Actual Results:
Adobe crashes.

Expected Results:
Adobe does not crash.

Upstream bug -> http://bugs.winehq.org/show_bug.cgi?id=23948

Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

Created an attachment (id=381748)
screenshot of crash

Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :

Binary package hint: wine1.2

1) lsb_release -rd
Description: Ubuntu 10.04.1 LTS
Release: 10.04

2) apt-cache policy wine1.2
wine1.2:
  Installed: 1.1.42-0ubuntu4
  Candidate: 1.1.42-0ubuntu4
  Version table:
 *** 1.1.42-0ubuntu4 0
        500 http://us.archive.ubuntu.com/ubuntu/ lucid/universe Packages
        100 /var/lib/dpkg/status

3) What I expected to happen is that Adobe Acrobat 9.0.0 Pro Extended installs flawlessly via wine.

4) What happens is it crashes mid-install (please see attached screenshot & cli output).

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: wine1.2 1.1.42-0ubuntu4
ProcVersionSignature: Ubuntu 2.6.32-24.39-generic 2.6.32.15+drm33.5
Uname: Linux 2.6.32-24-generic i686
Architecture: i386
Date: Tue Aug 10 00:23:04 2010
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: wine1.2

Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :
Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :
Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :
Changed in wine1.2 (openSUSE):
status: Unknown → Confirmed
Changed in wine:
status: Unknown → New
Revision history for this message
In , Bili (bili) wrote :

Why don't use the acroread? And forward to the maintainer.
Marcus,

 Do you have any idea about it?

Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

(In reply to comment #2)
> Why don't use the acroread? And forward to the maintainer.
> Marcus,
>
> Do you have any idea about it?

Bin Li, thank you for addressing this bug.

Acrobat Reader for Linux does not provide the OCR scan-to-PDF file functionality that Adobe Acrobat 9.0.0 Pro Extended provides.

Who is the ultimate maintainer is a matter of opinion (either Adobe or the WINE project), but upstream has been notified as per above bug description.

If you want to send this information on to the maintainer you think is best, feel free!

Revision history for this message
In , Meissner-novell (meissner-novell) wrote :

the report upstream is sufficient, as this is not suse specific.

seems to be me some kind of copy protection stuff or so.

Changed in wine1.2 (openSUSE):
status: Confirmed → Fix Released
Revision history for this message
In , Hans-meelstraat (hans-meelstraat) wrote :

*** Bug 23948 has been marked as a duplicate of this bug. ***

Changed in wine:
status: New → Invalid
Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :

Wine bug 23948 has been deemed a duplicate of bug 18958.

Changed in wine:
status: Invalid → Unknown
Changed in wine:
status: Unknown → Confirmed
Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

(In reply to comment #5)
> 0027:Ret msi.MsiProcessMessage() retval=00000000
> 0027:trace:seh:raise_exception code=c0000094 flags=0 addr=0x1000aa92
> ip=1000aa92 tid=0027
>
> It's crashing inside a custom action called DefragmentFiles, right after
> a call to MsiProcessMessage.

Hans,

I could not verify your assertion that the custom action noted is DefragmentFiles. How do you know the custom action is called DefragmentFiles and where may I find more information about it?

In the trace, I could verify the Windows "ioctl 90073" immediately prior the crash is FSCTL_GET_RETRIEVAL_POINTERS via:
http://msdn.microsoft.com/en-us/library/cc232013%28PROT.13%29.aspx

With more information on FSCTL_GET_RETRIEVAL_POINTERS found at:
http://msdn.microsoft.com/en-us/library/aa364572%28VS.85%29.aspx

Revision history for this message
In , Hans-meelstraat (hans-meelstraat) wrote :

> I could not verify your assertion that the custom action noted is
> DefragmentFiles. How do you know the custom action is called DefragmentFiles
> and where may I find more information about it?

Generate a +tid,+seh,+relay,+msi trace and find the exception. Take note
of the thread id. Then search for the first line generated from that
thread. Just above that is where msi creates the thread to run the
custom action and logs the custom action name.

DefragmentFiles is a custom action written by Adobe, not a standard
action, so it's probably not documented anywhere.

Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

Created an attachment (id=30229)
WINEDEBUG=+relay,+tid,+seh,+msi wine AdbeRdr90_en_US.exe >>log.txt 2&>1

Performed a trace install through all dialogue boxes clicked via:

WINEDEBUG=+relay,+tid,+seh,+msi wine AdbeRdr90_en_US.exe >>log.txt 2&>1

I found where DefragmentFiles was called as close to the backtrace as possible, took a few thousand lines prior (starting at line 35264316), as well as a few hundred after the stack dump (ending at line 35271000) and attached it. The original file is 36830321 lines long, 2.8GB in size.

I did notice instances of DefragmentFiles as early as line 7896575 which suggests that it is checking for defragmentation throughout the install process. Makes a lot of sense to do so. However, I haven't figured out how towards the end of the install the DefragmentFiles custom action is causing the divide by zero error.

Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

Forgot to mention attachement was produced via newest stable wine:

apt-cache policy wine1.3
wine1.3:
  Installed: 1.3.0-0ubuntu3
  Candidate: 1.3.0-0ubuntu3
  Version table:
 *** 1.3.0-0ubuntu3 0
        500 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ lucid/main Packages
        100 /var/lib/dpkg/status

Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

Created an attachment (id=30255)
wine1.3.1: WINEDEBUG=+relay,+tid,+seh,+msi wine AdbeRdr90_en_US.exe >>log.txt 2&>1

Compiled newest dev wine from source, same divide by zero error, took 1000 lines after backtrace, and 5000 prior.

apt-cache policy wine
wine:
  Installed: 1.3.1-1
  Candidate: 1.3.1-1
  Version table:
 *** 1.3.1-1 0
        100 /var/lib/dpkg/status
     1.2-0ubuntu1~lucidppa1 0
        500 http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/ lucid/main Packages
     1.1.42-0ubuntu4 0
        500 http://us.archive.ubuntu.com/ubuntu/ lucid/universe Packages

Revision history for this message
In , rusivi2 (rusivi2-deactivatedaccount) wrote :

Created an attachment (id=30594)
wine1.3.2: wine AdbeRdr90_en_US.exe >>log.txt 2&>1

Compiled wine1.3.2 from source, ran it twice, first time got some strange install error, ran again, got divide by zero error.

lsb_release -rd
Description: Ubuntu maverick (development branch)
Release: 10.10

 apt-cache policy wine
wine:
  Installed: 1.3.2-1
  Candidate: 1.3.2-1
  Version table:
 *** 1.3.2-1 0
        100 /var/lib/dpkg/status
     1.2-0ubuntu2 0
        500 http://us.archive.ubuntu.com/ubuntu/ maverick/universe i386 Packages

Revision history for this message
rusivi2 (rusivi2-deactivatedaccount) wrote :

As per WINE upstream, this is a dup of:

http://bugs.winehq.org/show_bug.cgi?id=18958

Changed in wine:
importance: Unknown → Medium
Revision history for this message
In , Austin English (austinenglish) wrote :

Fixed by http://source.winehq.org/git/wine.git/?a=commitdiff;h=63c19ab495ae31b83ad5d86a8fe9e54a09735c29

toward the end of the install it (twice) complains that you can't run more than one instance of the program at a time, but it seems harmless.

Changed in wine:
status: Confirmed → Fix Released
Revision history for this message
In , Alexandre Julliard (julliard) wrote :

Closing bugs fixed in 1.3.8.

Revision history for this message
In , Alexandre Julliard (julliard) wrote :

Removing 1.2.x milestone from bugs included in 1.2.2.

Revision history for this message
dino99 (9d9) wrote :

wine1.2 is deprecated since a while

Changed in wine1.2 (Ubuntu):
status: New → Invalid
affects: wine1.2 (Fedora) → wine1.4 (Ubuntu)
Changed in wine1.4 (Ubuntu):
importance: Unknown → Undecided
status: Unknown → New
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.