← Back to team overview

registry team mailing list archive

[Bug 615690] Re: Adobe Acrobat 9.0.0 Pro Extended Crashes Mid-Install

 

Launchpad has imported 17 comments from the remote bug at
http://bugs.winehq.org/show_bug.cgi?id=18958.

If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launchpad.net/InterBugTracking.

------------------------------------------------------------------------
On 2009-06-15T20:46:22+00:00 austin_is wrote:

Mid install, reports a crash (unhandled divide by zero).

+msi,+msidb attached. Running regression test now.

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/0

------------------------------------------------------------------------
On 2009-06-15T23:17:59+00:00 austin_is wrote:

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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/1

------------------------------------------------------------------------
On 2009-06-18T13:50:53+00:00 Ken Sharp wrote:

Forgot the trace ;)

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/2

------------------------------------------------------------------------
On 2009-06-18T16:18:40+00:00 austin_is wrote:

Created an attachment (id=21876)
trace

+msidb makes it too big...

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/3

------------------------------------------------------------------------
On 2009-12-27T12:03:51+00:00 Jaime Rave wrote:

Still a  problem in Wine 1.1.35.

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/4

------------------------------------------------------------------------
On 2010-05-29T16:00:23+00:00 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.

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/5

------------------------------------------------------------------------
On 2010-05-29T21:39:11+00:00 austin_is 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.

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/6

------------------------------------------------------------------------
On 2010-05-30T09:33:44+00:00 Hans-meelstraat wrote:

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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/7

------------------------------------------------------------------------
On 2010-06-30T02:17:52+00:00 Hans-meelstraat wrote:

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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/8

------------------------------------------------------------------------
On 2010-07-08T09:09:20+00:00 Hans-meelstraat wrote:

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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/9

------------------------------------------------------------------------
On 2010-08-16T09:20:53+00:00 Hans-meelstraat wrote:

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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/19

------------------------------------------------------------------------
On 2010-08-18T12:20:55+00:00 rusivi 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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/21

------------------------------------------------------------------------
On 2010-08-18T13:24:29+00:00 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.

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/22

------------------------------------------------------------------------
On 2010-08-20T00:18:30+00:00 rusivi 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.

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/23

------------------------------------------------------------------------
On 2010-08-20T00:26:47+00:00 rusivi 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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/24

------------------------------------------------------------------------
On 2010-08-21T01:13:03+00:00 rusivi 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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/25

------------------------------------------------------------------------
On 2010-09-06T00:04:17+00:00 rusivi 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

Reply at: https://bugs.launchpad.net/wine/+bug/615690/comments/26

-- 
Adobe Acrobat 9.0.0 Pro Extended Crashes Mid-Install
https://bugs.launchpad.net/bugs/615690
You received this bug notification because you are a member of Registry
Administrators, which is the registrant for Fedora.