Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows nightly crashes on startup for some users #22315

Closed
jdm opened this issue Nov 29, 2018 · 22 comments
Closed

Windows nightly crashes on startup for some users #22315

jdm opened this issue Nov 29, 2018 · 22 comments
Labels

Comments

@jdm
Copy link
Member

@jdm jdm commented Nov 29, 2018

@samal84 reported in #21820 (comment) that the Windows nightly installer produces an installation that crashes at startup. @samal84 could you attach a screenshot of the error that you see?

@jdm jdm added the P-windows label Nov 29, 2018
@atouchet
Copy link
Contributor

@atouchet atouchet commented Nov 29, 2018

I suspect there are still issues with the GStreamer installation on some systems. I will try to look into this.

@the-rasmussen
Copy link

@the-rasmussen the-rasmussen commented Nov 29, 2018

I don't know if it has any effect but I noticed that gstreamer got installed on my D:\ drive. And I see I got a user variable added GSTREAMER_1_0_ROOT_X86 that points to D:\gstreamer\1.0\x86\

And I can see that uninstalling/reinstalling is removing and adding back the contents of that folder.

EDIT: And that folder is also added to my path, buuuut it has an added backslash in it, which makes it not work when simply being copy/pasted into file explorer: D:\gstreamer\\1.0\x86\bin
It works fine when removing the extra backslash.

@atouchet
Copy link
Contributor

@atouchet atouchet commented Nov 30, 2018

@ferjm do you have any ideas about that issue with the extra backslash?

@atouchet
Copy link
Contributor

@atouchet atouchet commented Nov 30, 2018

I tried testing this out by uninstalling Servo and GStreamer from my system and doing a fresh install from scratch. I can confirm that I run into issues when trying to launch Servo using just the installer from servo.org. When I launch Servo I get this error:

Error

GStreamer installs to my G: drive and these are the environment variables:

Environment variables
*Other info edited out

Previously if I manually installed GStreamer to C:/gstreamer that would be enough to get Servo to run. I suspect this issue may only occur on setups with multiple drives available.

@kavika13
Copy link

@kavika13 kavika13 commented Nov 30, 2018

I have one drive, and I get the same error on launch.
GSTREAMER_1_0_ROOT_X86 points to C:\gstreamer\1.0\x86\
The files seem to have unpacked to C:\gstreamer\1.0\x86\ as well.

I haven't installed any previous versions. I'm running Win10 Pro x64.

@ferjm
Copy link
Member

@ferjm ferjm commented Nov 30, 2018

I don't think this crash is related to Gstreamer. You would likely be getting error messages about missing dlls.

In any case, #22322 should help with the extra backslash.

@atouchet
Copy link
Contributor

@atouchet atouchet commented Dec 1, 2018

I don't think #22322 solves the error. I just tested the latest nightly build and get the exact same issue still.

@atouchet
Copy link
Contributor

@atouchet atouchet commented Dec 1, 2018

@ferjm I am fairly certain the error is due to the GStreamer files. If I manually install gstreamer-1.0-x86_64-1.14.4.msi and gstreamer-1.0-devel-x86_64-1.14.4.msi to G:\gstreamer I get the same error screen as before and Servo will not start. However if I manually install those GStreamer files to C:\gstreamer Servo then runs fine.

@atouchet
Copy link
Contributor

@atouchet atouchet commented Dec 1, 2018

https://gstreamer.freedesktop.org/documentation/installing/on-windows.html

It is the application's responsibility to ensure that, at runtime, GStreamer can access its libraries and plugins. It can be done by adding %GSTREAMER_ROOT_X86%\bin to the %PATH% environment variable, or by running the application from this same folder.

At runtime, GStreamer will look for its plugins in the following folders:

%HOMEDRIVE%%HOMEFOLDER%/.gstreamer-1.0/plugins
C:\gstreamer\1.0\x86\lib\gstreamer-1.0
<location of libgstreamer-1.0-0.dll>\..\lib\gstreamer-1.0
%GST_PLUGIN_PATH%

My guess as to what's happening is there's some issue loading the GStreamer files from non-C: directories but then if there's an installation at C:\gstreamer it will use that instead. That doesn't explain why @kavika13 is having issues with a single drive though. Maybe there's an issue with 32 vs. 64-bit files?

@atouchet
Copy link
Contributor

@atouchet atouchet commented Dec 1, 2018

#21968 might help with this.

@qqgg231
Copy link

@qqgg231 qqgg231 commented Dec 8, 2018

screenshot_6

i get this on startup

it says this dll not found

build downloaded today

@Mardeg
Copy link

@Mardeg Mardeg commented Dec 31, 2018

Getting the same error on today's build. I ran dependencywalker on servo.exe and got:

Operating System: Microsoft Windows NT/2000/XP/2003/Vista based Professional (64-bit), version 6.02.9200
Program Executable: c:\program files\mozilla research\servo tech demo\SERVO.EXE
Program Arguments:
Starting Directory: C:\Program Files\Mozilla Research\Servo Tech Demo
Search Path: C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\OpenSSH;C:\gstreamer\1.0\x86\bin;1.0\x86_64\bin;C:\Users\User1\AppData\Local\Microsoft\WindowsApps;

Options Selected:
Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
Log DllMain calls for process attach and process detach messages.
Log DllMain calls for all other messages, including thread attach and thread detach.
Hook the process to gather more detailed dependency information.
Log LoadLibrary function calls.
Log GetProcAddress function calls.
Log first chance exceptions.
Log debug output messages.
Use full paths when logging file names.
Automatically open and profile child processes.

Started "c:\program files\mozilla research\servo tech demo\SERVO.EXE" (process 0x5170) at address 0x00007FF64E510000. Successfully hooked module.
Loaded "c:\windows\system32\NTDLL.DLL" at address 0x00007FFA8C830000. Successfully hooked module.
Loaded "c:\windows\system32\KERNEL32.DLL" at address 0x00007FFA8AA30000. Successfully hooked module.
Loaded "c:\windows\system32\KERNELBASE.DLL" at address 0x00007FFA88FF0000. Successfully hooked module.
DllMain(0x00007FFA88FF0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "c:\windows\system32\KERNELBASE.DLL" called.
DllMain(0x00007FFA88FF0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "c:\windows\system32\KERNELBASE.DLL" returned 1 (0x1).
DllMain(0x00007FFA8AA30000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "c:\windows\system32\KERNEL32.DLL" called.
DllMain(0x00007FFA8AA30000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "c:\windows\system32\KERNEL32.DLL" returned 1 (0x1).
Injected "c:\users\user1\downloads\dependencywalker\DEPENDS.DLL" at address 0x00000000623E0000.
DllMain(0x00000000623E0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "c:\users\user1\downloads\dependencywalker\DEPENDS.DLL" called.
DllMain(0x00000000623E0000, DLL_PROCESS_ATTACH, 0x0000000000000000) in "c:\users\user1\downloads\dependencywalker\DEPENDS.DLL" returned 1 (0x1).
Loaded "c:\windows\system32\USER32.DLL" at address 0x00007FFA8AE00000. Successfully hooked module.
Loaded "c:\windows\system32\WIN32U.DLL" at address 0x00007FFA88EF0000. Successfully hooked module.
Loaded "c:\program files\mozilla research\servo tech demo\LIBCRYPTOMD.DLL" at address 0x00007FFA55EB0000. Successfully hooked module.
Loaded "c:\program files\mozilla research\servo tech demo\LIBSSLMD.DLL" at address 0x00007FFA70D50000. Successfully hooked module.
Loaded "c:\windows\system32\GDI32.DLL" at address 0x00007FFA8AC70000. Successfully hooked module.
Loaded "c:\windows\system32\WS2_32.DLL" at address 0x00007FFA8A7C0000. Successfully hooked module.
Loaded "c:\windows\system32\UCRTBASE.DLL" at address 0x00007FFA89980000. Successfully hooked module.
Loaded "c:\windows\system32\RPCRT4.DLL" at address 0x00007FFA8C5D0000. Successfully hooked module.
Loaded "c:\windows\system32\VCRUNTIME140.DLL" at address 0x00007FFA78CD0000. Successfully hooked module.
Loaded "c:\windows\system32\ADVAPI32.DLL" at address 0x00007FFA89D70000. Successfully hooked module.
Loaded "c:\windows\system32\MSVCRT.DLL" at address 0x00007FFA89E40000. Successfully hooked module.
Loaded "c:\windows\system32\GDI32FULL.DLL" at address 0x00007FFA88C00000. Successfully hooked module.
Loaded "c:\windows\system32\SECHOST.DLL" at address 0x00007FFA8B130000. Successfully hooked module.
Loaded "c:\windows\system32\MSVCP_WIN.DLL" at address 0x00007FFA88DA0000. Successfully hooked module.
Loaded "c:\windows\system32\CRYPT32.DLL" at address 0x00007FFA89AD0000. Successfully hooked module.
Loaded "c:\windows\system32\MSASN1.DLL" at address 0x00007FFA88B60000. Successfully hooked module.
Loaded "c:\windows\system32\COMDLG32.DLL" at address 0x00007FFA8B040000. Successfully hooked module.
Loaded "c:\windows\system32\COMBASE.DLL" at address 0x00007FFA8A030000. Successfully hooked module.
Loaded "c:\windows\system32\BCRYPTPRIMITIVES.DLL" at address 0x00007FFA88F70000. Successfully hooked module.
Loaded "c:\windows\system32\SHCORE.DLL" at address 0x00007FFA8AF90000. Successfully hooked module.
Loaded "c:\windows\system32\SHLWAPI.DLL" at address 0x00007FFA89EF0000. Successfully hooked module.
Loaded "c:\windows\system32\SHELL32.DLL" at address 0x00007FFA8B190000. Successfully hooked module.
Loaded "c:\windows\winsxs\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.17134.472_none_f9558ad13092c43c\COMCTL32.DLL" at address 0x00007FFA7A1F0000. Successfully hooked module.
Loaded "c:\windows\system32\CFGMGR32.DLL" at address 0x00007FFA89A80000. Successfully hooked module.
Loaded "c:\windows\system32\WINDOWS.STORAGE.DLL" at address 0x00007FFA89270000. Successfully hooked module.
Loaded "c:\windows\system32\KERNEL.APPCORE.DLL" at address 0x00007FFA88B40000. Successfully hooked module.
Loaded "c:\windows\system32\PROFAPI.DLL" at address 0x00007FFA88B80000. Successfully hooked module.
Loaded "c:\windows\system32\POWRPROF.DLL" at address 0x00007FFA88BA0000. Successfully hooked module.
Loaded "c:\windows\system32\FLTLIB.DLL" at address 0x00007FFA88BF0000. Successfully hooked module.
Loaded "c:\windows\system32\OLE32.DLL" at address 0x00007FFA8ACA0000. Successfully hooked module.
Loaded "c:\gstreamer\1.0\x86\bin\LIBGSTVIDEO-1.0-0.DLL" at address 0x000000006D400000. Successfully hooked module.
Unloaded "c:\gstreamer\1.0\x86\bin\LIBGSTVIDEO-1.0-0.DLL" at address 0x000000006D400000.
Loaded "c:\gstreamer\1.0\x86\bin\LIBGSTPLAYER-1.0-0.DLL" at address 0x0000000066D00000. Successfully hooked module.
Loaded "c:\gstreamer\1.0\x86\bin\LIBGSTAPP-1.0-0.DLL" at address 0x00000000703C0000. Successfully hooked module.
Unloaded "c:\gstreamer\1.0\x86\bin\LIBGSTPLAYER-1.0-0.DLL" at address 0x0000000066D00000.
Unloaded "c:\gstreamer\1.0\x86\bin\LIBGSTAPP-1.0-0.DLL" at address 0x00000000703C0000.
Loaded "c:\gstreamer\1.0\x86\bin\LIBGSTAUDIO-1.0-0.DLL" at address 0x0000000064B80000. Successfully hooked module.
Unloaded "c:\gstreamer\1.0\x86\bin\LIBGSTAUDIO-1.0-0.DLL" at address 0x0000000064B80000.
Exited "c:\program files\mozilla research\servo tech demo\SERVO.EXE" (process 0x5170) with code -1073741701 (0xC000007B).

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Error: Modules with different CPU types were found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

servoerrors.txt

@jdm
Copy link
Member Author

@jdm jdm commented Dec 31, 2018

If I'm reading that log correctly, it looks like the spidermonkey symbols are a problem.

@the-rasmussen
Copy link

@the-rasmussen the-rasmussen commented Jan 2, 2019

Is there any test that could be written to catch this type of issue?

@Mart-Bogdan
Copy link

@Mart-Bogdan Mart-Bogdan commented Jan 3, 2019

For me it's crashing on start without displaying any error message, and exit code is -1073741701 (0xc000007b)

I believe it's panicking, but after changing it to console app via editbin /SUBSYSTEM:CONSOLE servo.exe nothing shows up in console :-(

@sheddup
Copy link

@sheddup sheddup commented Jan 28, 2019

is the reason for crashing understood yet?

@atouchet
Copy link
Contributor

@atouchet atouchet commented Feb 3, 2019

I am no longer able to reproduce the crashes with either the ZIP or installer version of Servo after #21968 and #22811 were merged. Could someone else confirm that this problem is fixed for them or not?

@Mardeg
Copy link

@Mardeg Mardeg commented Feb 4, 2019

Using the latest installer, after installing running it now brings up a blank window and immediately vanishes, presumably silently crashing with no dialog. Dependencywalker shows one less error than before so I guess that's progress.

Error: At least one required implicit or forwarded dependency was not found.
Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

The "Modules with different CPU types were found." error is no longer listed.

No idea if it's useful but inside servo.exe it lists

c:\program files\mozilla research\servo tech demo\LIBSSLMD.DLL

and inside that is the following with functions that have "not bound" listed for their entry point:

c:\program files\mozilla research\servo tech demo\VCRUNTIME140.DLL

API-MS-WIN-CRT-TIME-L1-1-0.DLL
_time64

API-MS-WIN-CRT-STRING-L1-1-0.DLL
_stricmp
_strnicmp
strncmp

API-MS-WIN-CRT-UTILITY-L1-1-0.DLL
qsort

@atouchet
Copy link
Contributor

@atouchet atouchet commented Feb 4, 2019

@Mardeg what version of Windows are you using?

@kavika13
Copy link

@kavika13 kavika13 commented Feb 4, 2019

I installed the nightly yesterday, directly over the other one, without uninstalling. It is now launching correctly for me, and not crashing when I try a few sites. Was not working for me before.

@the-rasmussen
Copy link

@the-rasmussen the-rasmussen commented Feb 4, 2019

Also working for me. Thanks!

@atouchet
Copy link
Contributor

@atouchet atouchet commented Feb 5, 2019

I think this can be closed now as it sounds like the issue has been fixed.

@Mardeg if you are still having issues with running the Windows build could you please open a new issue report as that doesn't appear to be the same issue that others were running into.

@atouchet atouchet closed this Feb 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
9 participants
You can’t perform that action at this time.