stub installer hangs instead of downloading full installer
Categories
(Firefox :: Installer, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr115 | --- | unaffected |
firefox126 | --- | unaffected |
firefox127 | + | fixed |
firefox128 | blocking | fixed |
People
(Reporter: jcristau, Assigned: bhearsum, NeedInfo)
References
Details
(Keywords: regression)
Attachments
(4 files)
It seems that since the InetBgDL.dll update, in some circumstances the stub installer fails to download the full installer, and just sits with the progress bar at 0%.
Will noticed that the new InetBgDL.dll has a dependency on vcruntime140.dll which we don't ship, which could maybe explain this?
Reporter | ||
Updated•7 months ago
|
Comment 1•7 months ago
|
||
Set release status flags based on info from the regressing bug 1895492
:bhearsum, since you are the author of the regressor, bug 1895492, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
Comment 2•7 months ago
•
|
||
FTR, I used Procmon to look at what the installer was doing when it was stuck in the Windows Sandbox. As illustrated by the logs below, it was desperately trying to load VCRUNTIME140.dll
from either the temporary directory where we have our stub installer EXE and DLLs or C:\Windows\SysWOW64\VCRUNTIME140.dll
but my system didn't have that DLL and we don't ship it either as per Comment 0...
13:01:20.2153602 setup-stub.exe 5068 Load Image C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS Image Base: 0x74680000, Image Size: 0x48000
13:01:20.2155307 setup-stub.exe 5068 CloseFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS
13:01:20.2158063 setup-stub.exe 5068 QueryOpen C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\VCRUNTIME140.dll NAME NOT FOUND
13:01:20.2163282 setup-stub.exe 5068 CreateFile C:\Windows\SysWOW64\VCRUNTIME140.dll NAME NOT FOUND Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
13:01:20.4172301 setup-stub.exe 5068 QueryOpen C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS CreationTime: 15-May-24 13:00:58, LastAccessTime: 15-May-24 13:01:20, LastWriteTime: 15-May-24 13:00:58, ChangeTime: 15-May-24 13:00:58, AllocationSize: 28,672, EndOfFile: 24,992, FileAttributes: A
13:01:20.4173443 setup-stub.exe 5068 CreateFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll NAME COLLISION Desired Access: Generic Write, Read Attributes, Disposition: Create, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: A, ShareMode: Read, AllocationSize: 0
13:01:20.4175429 setup-stub.exe 5068 QueryOpen C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS CreationTime: 15-May-24 13:00:58, LastAccessTime: 15-May-24 13:01:20, LastWriteTime: 15-May-24 13:00:58, ChangeTime: 15-May-24 13:00:58, AllocationSize: 28,672, EndOfFile: 24,992, FileAttributes: A
13:01:20.4177022 setup-stub.exe 5068 CreateFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS Desired Access: Read Data/List Directory, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
13:01:20.4177421 setup-stub.exe 5068 CreateFileMapping C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll FILE LOCKED WITH ONLY READERS SyncType: SyncTypeCreateSection, PageProtection: PAGE_EXECUTE_READWRITE
13:01:20.4177581 setup-stub.exe 5068 QueryStandardInformationFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS AllocationSize: 28,672, EndOfFile: 24,992, NumberOfLinks: 1, DeletePending: False, Directory: False
13:01:20.4179455 setup-stub.exe 5068 CreateFileMapping C: SUCCESS SyncType: SyncTypeOther
13:01:20.4180625 setup-stub.exe 5068 CloseFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS
13:01:20.4183073 setup-stub.exe 5068 QueryOpen C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS CreationTime: 15-May-24 13:00:58, LastAccessTime: 15-May-24 13:01:20, LastWriteTime: 15-May-24 13:00:58, ChangeTime: 15-May-24 13:00:58, AllocationSize: 28,672, EndOfFile: 24,992, FileAttributes: A
13:01:20.4184748 setup-stub.exe 5068 CreateFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
13:01:20.4185466 setup-stub.exe 5068 CreateFileMapping C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll FILE LOCKED WITH ONLY READERS SyncType: SyncTypeCreateSection, PageProtection: PAGE_EXECUTE_READWRITE
13:01:20.4186510 setup-stub.exe 5068 CreateFileMapping C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS SyncType: SyncTypeOther
13:01:20.4188169 setup-stub.exe 5068 Load Image C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS Image Base: 0x74680000, Image Size: 0x48000
< same lines as above again and again and again... >
Copying the DLL to either location did the trick!
13:01:28.3417205 setup-stub.exe 5068 Load Image C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS Image Base: 0x74680000, Image Size: 0x48000
13:01:28.3418596 setup-stub.exe 5068 CloseFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\InetBgDL.dll SUCCESS
13:01:28.3420866 setup-stub.exe 5068 QueryOpen C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS CreationTime: 15-May-24 13:01:28, LastAccessTime: 15-May-24 13:01:28, LastWriteTime: 10-Jun-22 19:49:56, ChangeTime: 15-May-24 13:00:11, AllocationSize: 81,920, EndOfFile: 80,800, FileAttributes: A
13:01:28.3422469 setup-stub.exe 5068 CreateFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS Desired Access: Read Data/List Directory, Execute/Traverse, Synchronize, Disposition: Open, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: n/a, ShareMode: Read, Delete, AllocationSize: n/a, OpenResult: Opened
13:01:28.3423228 setup-stub.exe 5068 WriteFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS Offset: 0, Length: 81,920, I/O Flags: Non-cached, Paging I/O, Synchronous Paging I/O, Priority: Normal
13:01:28.3456757 setup-stub.exe 5068 SetEndOfFileInformationFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS EndOfFile: 80,800
13:01:28.3457371 setup-stub.exe 5068 CreateFileMapping C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS SyncType: SyncTypeOther
13:01:28.3458578 setup-stub.exe 5068 CreateFileMapping C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll FILE LOCKED WITH ONLY READERS SyncType: SyncTypeCreateSection, PageProtection: PAGE_EXECUTE_READWRITE
13:01:28.3458810 setup-stub.exe 5068 QueryStandardInformationFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS AllocationSize: 81,920, EndOfFile: 80,800, NumberOfLinks: 1, DeletePending: False, Directory: False
13:01:28.3462799 setup-stub.exe 5068 CreateFileMapping C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS SyncType: SyncTypeOther
13:01:28.3464161 setup-stub.exe 5068 Load Image C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS Image Base: 0x74660000, Image Size: 0x15000
13:01:28.3466577 setup-stub.exe 5068 CloseFile C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\vcruntime140.dll SUCCESS
13:01:28.3470675 setup-stub.exe 5068 QueryOpen C:\Users\WDAGUtilityAccount\AppData\Local\Temp\nsr4F06.tmp\WebBrowser.dll SUCCESS CreationTime: 15-May-24 13:00:57, LastAccessTime: 15-May-24 13:00:57, LastWriteTime: 15-May-24 13:00:57, ChangeTime: 15-May-24 13:00:57, AllocationSize: 106,496, EndOfFile: 105,920, FileAttributes: A
When I added the missing DLL next to the stub program, it got unstuck but eventually failed, sigh. Not sure why, but I doubt it's a great idea to force a program to load DLLs on the fly like I did anyway...
OTOH when I copied the missing DLL to C:\Windows\SysWOW64
, the installer successfully downloaded and installed Firefox \o/
Comment 3•7 months ago
|
||
Assignee | ||
Comment 4•7 months ago
|
||
I'm going to try to get our build system to fix the linkage.
Assignee | ||
Updated•7 months ago
|
Assignee | ||
Comment 5•7 months ago
|
||
To start, I took a look at the linkage on the older version of this plugin. Its sole direct dependencies are:
- wininet.dll
- kernel32.dll
- user32.dll
The one currently checked has these additional direct dependencies:
- vcruntime140.dll
- api-ms-win-crt-runtime-l1-1-0.dll -> C:\WINDOWS\SysWOW64\ucrtbase.dll
(This is according to this Dependencies walker.)
I'll see what I can do to coax our build system to link this way; worst case scenario we may need to fallback to building with visual studio on a laptop.
Updated•7 months ago
|
Updated•7 months ago
|
Comment 6•7 months ago
|
||
Oh, this is unfortunate. This isn't the same thing, but it's related to https://bugzilla.mozilla.org/show_bug.cgi?id=1691782.
Assignee | ||
Comment 7•7 months ago
|
||
I believe I managed to get a statically linked InetBgDl.dll out of our build system. I've pushed https://treeherder.mozilla.org/jobs?repo=try&revision=0d8c6bee15ce9bc54a7749717033fa24e15ca0bf to try, which those that can reproduce this can test with when it's ready.
Comment 8•7 months ago
|
||
Assignee | ||
Comment 9•7 months ago
|
||
This was built in a shippable win32 build on Try in https://treeherder.mozilla.org/jobs?repo=try&revision=0d8c6bee15ce9bc54a7749717033fa24e15ca0bf, which was based on 730319d762dc822e7319087f50a31ee268d4fb00, with updated versions of the patches from https://bugzilla.mozilla.org/show_bug.cgi?id=1771192 applied to it that statically link InetBgDL.dll.
From there, I sent it through adhoc-signing in https://github.com/mozilla-releng/adhoc-signing/pull/208.
The output from that (https://firefox-ci-tc.services.mozilla.com/tasks/EHnFhv77SO6K8D_ZS32fGQ) is what is included in this revision.
Comment 11•6 months ago
|
||
Comment 12•6 months ago
|
||
bugherder |
Reporter | ||
Comment 13•6 months ago
|
||
We're going to need to uplift this along with bug 1889299.
Comment 14•6 months ago
|
||
The patch landed in nightly and beta is affected.
:bhearsum, is this bug important enough to require an uplift?
- If yes, please nominate the patch for beta approval.
- If no, please set
status-firefox127
towontfix
.
For more information, please visit BugBot documentation.
Updated•6 months ago
|
Reporter | ||
Comment 15•6 months ago
|
||
We don't build/ship a stub installer on esr.
And the uplift to 127 will happen post release.
Updated•6 months ago
|
Comment 16•6 months ago
|
||
Mathew, what's the reason for updating the bug dependencies? That doesn't look quite right to me.
Reporter | ||
Comment 17•6 months ago
|
||
This was built in a shippable win32 build on Try in https://treeherder.mozilla.org/jobs?repo=try&revision=0d8c6bee15ce9bc54a7749717033fa24e15ca0bf, which was based on 730319d762dc822e7319087f50a31ee268d4fb00, with updated versions of the patches from https://bugzilla.mozilla.org/show_bug.cgi?id=1771192 applied to it that statically link InetBgDL.dll.
From there, I sent it through adhoc-signing in https://github.com/mozilla-releng/adhoc-signing/pull/208.
The output from that (https://firefox-ci-tc.services.mozilla.com/tasks/EHnFhv77SO6K8D_ZS32fGQ) is what is included in this revision.
Original Revision: https://phabricator.services.mozilla.com/D210581
Updated•6 months ago
|
Updated•6 months ago
|
Updated•6 months ago
|
Comment 18•6 months ago
|
||
uplift |
Description
•