QT deployed executable crashes on some computers
-
wrote on 24 Nov 2019, 00:59 last edited by
Hi, just guessing but try to turn off Windows Defender runtime protection and see if it makes a difference.
-
wrote on 24 Nov 2019, 12:26 last edited by
Thanks for your response. All computers have Kaspersky installed hence Windows Defender is disabled.
-
Hei,
I have a strange issue QT deployed executables which I have been trying to solve since few days. I created an application using QT creator 4.10.2 on QT 5.11.1, using MSVC2015 (OS is Windows 10 Pro, 64 bit). When I deploy the application, executable runs on the development computer without any issue. Then I zip the whole deployment folder and test the same executable (together with the necessary libraries) on 6 different computers. Strangely, executable runs on 3 of them without any issue but crashes on 3 of them (all computers have Windows 10 Pro, 64 bit).
On the computers where it crashes, I get no error when I double click to run the executable, just crashes without any indication and I only see the executable crashes on the Windows event viewer. There is also no sign about the issue in the event viewer logs.
Just to be sure, I installed the same vc++ runtime libraries on all computers including the development computer.
I even tested on 2 different computers which have the same graphic card (though have different driver versions) and same c++ runtime libraries. And executable is running one of them and not running on another.
What might be the issue here or how can I find out the problem what causes the crash?
- Did you deploy using windeployqt?
- Does your app rely on 3rd-party libraries?
@Lati said in QT deployed executable crashes on some computers:
What might be the issue here or how can I find out the problem what causes the crash?
Your different PCs might have different (external) DLLs that get loaded into your app. Try using Dependency Walker to load your app on different PCs (one that crashes and one that doesn't crash) and compare the full list of DLLs.
-
- Did you deploy using windeployqt?
- Does your app rely on 3rd-party libraries?
@Lati said in QT deployed executable crashes on some computers:
What might be the issue here or how can I find out the problem what causes the crash?
Your different PCs might have different (external) DLLs that get loaded into your app. Try using Dependency Walker to load your app on different PCs (one that crashes and one that doesn't crash) and compare the full list of DLLs.
wrote on 24 Nov 2019, 13:51 last edited by Lati@JKSH
1-Yes, I used windeployqt
2-There are 3rd party libraries but all of them are provided in the deployment folder at all computers.I tried both Dependeny Walker and Dependencies. Both give error on all computers which executable runs and crashes.
I doubt if it is related to the graphic cards?
-
wrote on 24 Nov 2019, 15:31 last edited by hskoglund
Are all of the computers running the same version of Windows 10?
Also, try building your app in Debug mode instead of Release and try that on the crashing PCs (this means you'll have to copy the vc++ debug flavored runtime dlls as well) -
Are all of the computers running the same version of Windows 10?
Also, try building your app in Debug mode instead of Release and try that on the crashing PCs (this means you'll have to copy the vc++ debug flavored runtime dlls as well)wrote on 24 Nov 2019, 16:21 last edited by@hskoglund Yes, they all have Windows 10 Pro with the latest update.
I tried the Debug mode already and have the same results. -
wrote on 24 Nov 2019, 16:37 last edited by
Have you tried running your app on the crashing PCs using the Remote Desktop? I.e. turning on the switch "Enable Remote Desktop" in Settings and then remotely running those PCs from your development PC using the Remote Desktop Client
-
In addition to my fellows, did you compare the hardware of these machines ? Especially on the graphical card side.
-
Have you tried running your app on the crashing PCs using the Remote Desktop? I.e. turning on the switch "Enable Remote Desktop" in Settings and then remotely running those PCs from your development PC using the Remote Desktop Client
wrote on 24 Nov 2019, 21:19 last edited by Lati@hskoglund I use remote desktop at all computers :) (though I tried directly using the computers as well)
@SGaist , as I mentioned I also doubt about the graphic cards initially. But I tried on two computers with same specifications including graphic cards (GeForce 605) and both have now same nVidia drivers. And executable crashes only on one of them.
Following is the event viewer log of the crash, maybe someone can take a hint:
"Faulting application name: svchost.exe_TermService, version: 10.0.18362.1, time stamp: 0x32d6c210
Faulting module name: ntdll.dll, version: 10.0.18362.267, time stamp: 0xc00f8a30
Exception code: 0xc0000008
Fault offset: 0x000000000009fe8a
Faulting process ID: 0x5b8
Faulting application start time: 0x01d5a2cd25825160
Faulting application path: C:\WINDOWS\System32\svchost.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report ID: 9b7e234e-f934-4cd5-8ad2-6910fae80b34
Faulting package full name:
Faulting package-relative application ID: " -
@Lati said in QT deployed executable crashes on some computers:
Faulting application name: svchost.exe_TermService
From a quick look that might be network related. Are these computer configured exactly the same ? Connected on the same network ? Is your application using the network ?
-
If possible you should enable minidump creation on one of the computers so you can analyze it later on your system. See e.g. here on how to create them
-
@Lati said in QT deployed executable crashes on some computers:
Faulting application name: svchost.exe_TermService
From a quick look that might be network related. Are these computer configured exactly the same ? Connected on the same network ? Is your application using the network ?
wrote on 24 Nov 2019, 21:28 last edited by Lati@SGaist, all computers are connected to the company network through LAN.
I am using "webkit" and "webkitwidgets" might be related to the crash?
@Christian-Ehrlicher, I will try that but it is not an easy process since I need permission from our system admin :/
-
wrote on 24 Nov 2019, 22:37 last edited by hskoglund
"Faulting application name: svchost.exe_TermService,.." means as @SGaist says, it's smells network related.
Try walking up to the crashing PCs, pulling out the network plug and then test your app (but don't tell your system admin about the pulled plug :-)
Edit: Exception code: 0xc0000008 I've seen that when remote debugging across a network, but you get that code also on a Release build?
-
"Faulting application name: svchost.exe_TermService,.." means as @SGaist says, it's smells network related.
Try walking up to the crashing PCs, pulling out the network plug and then test your app (but don't tell your system admin about the pulled plug :-)
Edit: Exception code: 0xc0000008 I've seen that when remote debugging across a network, but you get that code also on a Release build?
wrote on 25 Nov 2019, 08:00 last edited by@hskoglund I plugged out the network cable, no change (admin is on vacation, he will not realise that :))
I tried again debug executable and I have now following error on the computer where it normally crashes:
-
@hskoglund I plugged out the network cable, no change (admin is on vacation, he will not realise that :))
I tried again debug executable and I have now following error on the computer where it normally crashes:
wrote on 25 Nov 2019, 09:28 last edited by@Lati
Suggestion then is that your app does indeed attempt to load something off the network?Meanwhile, I don't understand why your program causes
svchost.exe_TermService,.
.svchost
is to do with Windows Services, I wonder why these are involved in running this application? -
@Lati
Suggestion then is that your app does indeed attempt to load something off the network?Meanwhile, I don't understand why your program causes
svchost.exe_TermService,.
.svchost
is to do with Windows Services, I wonder why these are involved in running this application?wrote on 25 Nov 2019, 10:12 last edited by Lati@JonB Yes, it loads a website from internet to a *QWebView * control (it is a small website with few kilobytes).
App has nothing to do with Windows Services; at least nothing intentionally coded in the app which uses the Windows Services.
-
wrote on 25 Nov 2019, 10:52 last edited by
Hmm error 0xc0000007b means there's a mixup of 32-bits and 64-bits .dlls. If your app is 32-bit, perhaps you've copied the msvc runtime library .dlls from C:\Windows\System32?
Note that in Windows the 32-bits MSVC runtime .dlls are found in C:\Windows\SysWOW64 and instead C:\Windows\System32 houses the 64-bits one. -
Hmm error 0xc0000007b means there's a mixup of 32-bits and 64-bits .dlls. If your app is 32-bit, perhaps you've copied the msvc runtime library .dlls from C:\Windows\System32?
Note that in Windows the 32-bits MSVC runtime .dlls are found in C:\Windows\SysWOW64 and instead C:\Windows\System32 houses the 64-bits one.wrote on 25 Nov 2019, 11:27 last edited by@hskoglund
I noted that too. But users says only happens when network cable unplugged! Normally he gets a0xc0000008
rather than a0xc0000007b
. Strange how that could lead to 32-/64-bit issue?! -
@hskoglund
I noted that too. But users says only happens when network cable unplugged! Normally he gets a0xc0000008
rather than a0xc0000007b
. Strange how that could lead to 32-/64-bit issue?!wrote on 25 Nov 2019, 11:37 last edited by@JonB No no, I haven't said it happens only when network cable is unplugged. It happens always with or without internet connection.
@hskoglund I wonder if this is the reason because I use the same deployment on all computers. But, I will check that again.
I hope I can solve this "mystery" soon :/
-
@JonB No no, I haven't said it happens only when network cable is unplugged. It happens always with or without internet connection.
@hskoglund I wonder if this is the reason because I use the same deployment on all computers. But, I will check that again.
I hope I can solve this "mystery" soon :/
wrote on 25 Nov 2019, 11:40 last edited by JonB@JonB No no, I haven't said it happens only when network cable is unplugged. It happens always with or without internet connection.
Read what you have posted and you do seem to say what I wrote. First earlier:
Exception code: 0xc0000008
then later screenshot
0xc0000007b
It's what you have pasted!
Anyway, if you Google for the
0xc0000007b
you will come across 32-/64-bit mis-match. I am not certain whether that always applies, but worth investigating.
11/42