Hi
I have an app working on Linux, tried to compile for windows and it is crashing as soon as I open qml page with maps.
I have compiled with Qt 5.10.1 and MSVC2017 64Bit on Windows 10 also I have Visual 2017 community and openssl 1.0.2g
The compiler in Qt kit is set for 15.0 x86_amd64. I know that in system requirements for windows there is 15.3 but this Visual Studio I have installed 2 days ago and this compiler is from VS
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat x86_amd64
What can be the problem ?
Below there is debug output.
Best Regards,
Marek
Stopped in thread 19 by Exception at 0x0 write access violation at 0x8
debug is:
1
2 RT_KMLDataset_destroy runtimecore 0x7ffa57f682eb
3 RT_KMLDataset_destroy runtimecore 0x7ffa57ec364a
4 RT_KMLDataset_destroy runtimecore 0x7ffa57f997ea
5 RT_KMLDataset_destroy runtimecore 0x7ffa57f16e5c
6 RT_KMLDataset_destroy runtimecore 0x7ffa57eb7f68
7 RT_KMLDataset_destroy runtimecore 0x7ffa57ef233d
8 RT_KMLDataset_destroy runtimecore 0x7ffa5ada4d8f
9 _C_specific_handler VCRUNTIME140D 0x7ffa927914f0
10 _BuildCatchObjectHelper VCRUNTIME140D 0x7ffa92795639
11 _unDNameEx VCRUNTIME140D 0x7ffa927a5bfe
12 _BuildCatchObjectHelper VCRUNTIME140D 0x7ffa92795912
13 _CxxFrameHandler3 VCRUNTIME140D 0x7ffa927a6107
14 RT_KMLDataset_destroy runtimecore 0x7ffa58c8cc00
15 _chkstk ntdll 0x7ffaaec6513d
16 RtlUnwindEx ntdll 0x7ffaaebde525
17 FindAndUnlinkFrame VCRUNTIME140D 0x7ffa927a6005
18 is_exception_typeof VCRUNTIME140D 0x7ffa92793c89
19 is_exception_typeof VCRUNTIME140D 0x7ffa92794306
20 _BuildCatchObjectHelper VCRUNTIME140D 0x7ffa92795b25
21 _CxxFrameHandler3 VCRUNTIME140D 0x7ffa927a6107
22 _chkstk ntdll 0x7ffaaec650bd
23 RtlWalkFrameChain ntdll 0x7ffaaebdd278
24 KiUserExceptionDispatcher ntdll 0x7ffaaec63fee
25 RaiseException KERNELBASE 0x7ffaab344008
26 CxxThrowException VCRUNTIME140D 0x7ffa92797e2d
27 RT_KMLDataset_destroy runtimecore 0x7ffa57fa92e8
28 RT_KMLDataset_destroy runtimecore 0x7ffa569a3aec
29 RT_KMLDataset_destroy runtimecore 0x7ffa5474176f
30 RT_KMLDataset_destroy runtimecore 0x7ffa53918dbe
31 QRTImpl::RendererImpl::toJson EsriCommonQtd 0x7ffa60ba7bad
32 QRTImpl::RendererImpl::toJson EsriCommonQtd 0x7ffa607beca7
33 qt_plugin_instance ArcGISRuntimePlugind 0x7ffa627f4386
34 QSGFramebufferObjectNode::render qquickframebufferobject.cpp 235 0x7ffa7623aa51
35 QSGFramebufferObjectNode::qt_static_metacall qquickframebufferobject.moc 74 0x7ffa762399aa
36 QMetaObject::activate qobject.cpp 3769 0x7ffa644c0648
37 QMetaObject::activate qobject.cpp 3630 0x7ffa644bfd98
38 QQuickWindow::beforeRendering moc_qquickwindow.cpp 507 0x7ffa7601a454
39 QQuickWindowPrivate::renderSceneGraph qquickwindow.cpp 457 0x7ffa76027255
40 QSGRenderThread::syncAndRender qsgthreadedrenderloop.cpp 646 0x7ffa75f80daf
41 QSGRenderThread::run qsgthreadedrenderloop.cpp 732 0x7ffa75f804f7
42 QThreadPrivate::start qthread_win.cpp 378 0x7ffa640afb3f
43 BaseThreadInitThunk KERNEL32 0x7ffaae091fe4
44 RtlUserThreadStart ntdll 0x7ffaaec2f061
application output is:
Esri.ArcGISRuntime.Plugin: void __cdecl ArcGISRuntimePlugin::registerTypes(const char *) Esri.ArcGISRuntime
Esri.ArcGISRuntime.Plugin: void __cdecl QmlUtils::registerTypes(const char *) Esri.ArcGISRuntime
Esri.ArcGISRuntime.Plugin: void __cdecl ArcGISRuntimePlugin::initializeEngine(class QQmlEngine *,const char *) Esri.ArcGISRuntime
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeRuntimeLicense(void) licenseStatus 3
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeRuntimeLicense(void) licenseLevel 0
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeRuntimeLicense(void) licenseType 0
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeImageProvider(class QQmlEngine *)
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeImageProvider(class QQmlEngine *) Setting global image provider QVariant(void*, 0x21a16d1ac40)
Esri.ArcGISExtras.Plugin: void __cdecl ArcGISExtrasPlugin::registerTypes(const char *) Esri.ArcGISExtras
Esri.ArcGISExtras.Plugin: void __cdecl ArcGISExtrasPlugin::registerTypes(const char *) Registering Singleton Types
Esri.ArcGISExtras.Core: void __cdecl TkTypes::registerTypes(const char *) Esri.ArcGISExtras
Esri.ArcGISExtras.Plugin: void __cdecl ArcGISExtrasPlugin::initializeEngine(class QQmlEngine *,const char *) Esri.ArcGISExtras
Exception at 0x7ffaab344008, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) in runtimecore!RT_KMLDataset_destroy
Solved! Go to Solution.
Hi Marek Florianczyk. Thanks for the small project, that helped a lot. The issue is that for Windows, we require ANGLE rendering instead of OpenGL. This code block should do the trick.
int main(int argc, char *argv[])
{
#ifdef Q_OS_WIN
// Force usage of OpenGL ES through ANGLE on Windows
QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);
#endif
...
That would normally be part of our SDK templates but it's missing from your project. Please give that a try and let us know if that helps.
Regards,
-James
Are you able to post any code snippets or a small sample project so we can get an idea of what your app is trying to do? It's difficult to troubleshoot without a reproducible test case.
Hi
In that case I'n using map display and geocode, I will prepare example, just need a bit more time.
Best,
Marek
Hi
I have prepared minimal example it is crashing in the same way.
I don't think this is code issue, example is simple, something with environment.
QML debugging is enabled. Only use this in a safe environment.
QML Debugger: Waiting for connection on port 50533...
Esri.ArcGISRuntime.Plugin: void __cdecl ArcGISRuntimePlugin::registerTypes(const char *) Esri.ArcGISRuntime
Esri.ArcGISRuntime.Plugin: void __cdecl QmlUtils::registerTypes(const char *) Esri.ArcGISRuntime
Esri.ArcGISRuntime.Plugin: void __cdecl ArcGISRuntimePlugin::initializeEngine(class QQmlEngine *,const char *) Esri.ArcGISRuntime
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeRuntimeLicense(void) licenseStatus 3
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeRuntimeLicense(void) licenseLevel 0
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeRuntimeLicense(void) licenseType 0
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeImageProvider(class QQmlEngine *)
Esri.ArcGISRuntime.Core: void __cdecl QmlUtils::initializeImageProvider(class QQmlEngine *) Setting global image provider QVariant(void*, 0x1c5d8b924a0)
Esri.ArcGISExtras.Plugin: void __cdecl ArcGISExtrasPlugin::registerTypes(const char *) Esri.ArcGISExtras
Esri.ArcGISExtras.Plugin: void __cdecl ArcGISExtrasPlugin::registerTypes(const char *) Registering Singleton Types
Esri.ArcGISExtras.Core: void __cdecl TkTypes::registerTypes(const char *) Esri.ArcGISExtras
Esri.ArcGISExtras.Plugin: void __cdecl ArcGISExtrasPlugin::initializeEngine(class QQmlEngine *,const char *) Esri.ArcGISExtras
Exception at 0x7ff993414008, code: 0xe06d7363: C++ exception, flags=0x1 (execution cannot be continued) (first chance) in runtimecore!RT_KMLDataset_destroy
1
2 RT_KMLDataset_destroy runtimecore 0x7ff946d882eb
3 RT_KMLDataset_destroy runtimecore 0x7ff946ce364a
4 RT_KMLDataset_destroy runtimecore 0x7ff946db97ea
5 RT_KMLDataset_destroy runtimecore 0x7ff946d36e5c
6 RT_KMLDataset_destroy runtimecore 0x7ff946cd7f68
7 RT_KMLDataset_destroy runtimecore 0x7ff946d1233d
8 RT_KMLDataset_destroy runtimecore 0x7ff949bc4d8f
9 _C_specific_handler VCRUNTIME140D 0x7ff97ef114f0
10 _BuildCatchObjectHelper VCRUNTIME140D 0x7ff97ef15639
11 _unDNameEx VCRUNTIME140D 0x7ff97ef25bfe
12 _BuildCatchObjectHelper VCRUNTIME140D 0x7ff97ef15912
13 _CxxFrameHandler3 VCRUNTIME140D 0x7ff97ef26107
14 RT_KMLDataset_destroy runtimecore 0x7ff947aacc00
15 _chkstk ntdll 0x7ff99624513d
16 RtlUnwindEx ntdll 0x7ff9961be525
17 FindAndUnlinkFrame VCRUNTIME140D 0x7ff97ef26005
18 is_exception_typeof VCRUNTIME140D 0x7ff97ef13c89
19 is_exception_typeof VCRUNTIME140D 0x7ff97ef14306
20 _BuildCatchObjectHelper VCRUNTIME140D 0x7ff97ef15b25
21 _CxxFrameHandler3 VCRUNTIME140D 0x7ff97ef26107
22 _chkstk ntdll 0x7ff9962450bd
23 RtlWalkFrameChain ntdll 0x7ff9961bd278
24 KiUserExceptionDispatcher ntdll 0x7ff996243fee
25 RaiseException KERNELBASE 0x7ff993414008
26 CxxThrowException VCRUNTIME140D 0x7ff97ef17e2d
27 RT_KMLDataset_destroy runtimecore 0x7ff946dc92e8
28 RT_KMLDataset_destroy runtimecore 0x7ff9457c3aec
29 RT_KMLDataset_destroy runtimecore 0x7ff94356176f
30 RT_KMLDataset_destroy runtimecore 0x7ff942738dbe
31 QRTImpl::RendererImpl::toJson EsriCommonQtd 0x7ff9579f7bad
32 QRTImpl::RendererImpl::toJson EsriCommonQtd 0x7ff95760eca7
33 qt_plugin_instance ArcGISRuntimePlugind 0x7ff959644386
34 QSGFramebufferObjectNode::render qquickframebufferobject.cpp 235 0x7ff95a60aa51
35 QSGFramebufferObjectNode::qt_static_metacall qquickframebufferobject.moc 74 0x7ff95a6099aa
36 QMetaObject::activate qobject.cpp 3769 0x7ff95b030648
37 QMetaObject::activate qobject.cpp 3630 0x7ff95b02fd98
38 QQuickWindow::beforeRendering moc_qquickwindow.cpp 507 0x7ff95a3ea454
39 QQuickWindowPrivate::renderSceneGraph qquickwindow.cpp 457 0x7ff95a3f7255
40 QSGRenderThread::syncAndRender qsgthreadedrenderloop.cpp 646 0x7ff95a350daf
41 QSGRenderThread::run qsgthreadedrenderloop.cpp 732 0x7ff95a3504f7
42 QThreadPrivate::start qthread_win.cpp 378 0x7ff95ac1fb3f
43 BaseThreadInitThunk KERNEL32 0x7ff994311fe4
44 RtlUserThreadStart ntdll 0x7ff99620f061
Best,
Marek
Hi Marek Florianczyk. Thanks for the small project, that helped a lot. The issue is that for Windows, we require ANGLE rendering instead of OpenGL. This code block should do the trick.
int main(int argc, char *argv[])
{
#ifdef Q_OS_WIN
// Force usage of OpenGL ES through ANGLE on Windows
QCoreApplication::setAttribute(Qt::AA_UseOpenGLES);
#endif
...
That would normally be part of our SDK templates but it's missing from your project. Please give that a try and let us know if that helps.
Regards,
-James
Hi.
Many thanks, it works.
I'm not sure about templates, because I'm using runtime integration so it might be useful to put this information here
https://developers.arcgis.com/qt/latest/qml/guide/arcgis-runtime-sdk-for-qt-system-requirements.htm
or here
Best Regards,
Marek
Marek Florianczyk, yes, you're right. Thank you for pointing this out. We'll make sure this is better documented in the future.