Esri / arcgis-maps-sdk-samples-qt

ArcGIS Maps SDK for Qt Samples
Apache License 2.0
146 stars 194 forks source link

example not working 'GraphicsOverlayDictionaryRenderer_3D' #367

Closed NorbertThoden closed 7 years ago

NorbertThoden commented 7 years ago

arcgis-runtime-samples-qt/ArcGISRuntimeSDKQt_CppSamples/DisplayInformation/GraphicsOverlayDictionaryRenderer_3D

Luke Smallwood gave access to the required xml file which is unfortunately NOT included in the github. Mil2525DMessages.xml (md5: 20d2386c92976eb43007e38f31d63795)

I build that example a) using the qtcreator b) on the cmdline: qmake, make

related to a) The example executes, but where are the objects?

related to b) on execution i got a seg fault: Using this the example crashed:

Program received signal SIGABRT, Aborted. 0x00007ffff4d6dcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56 56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt

0 0x00007ffff4d6dcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56

1 0x00007ffff4d710d8 in __GI_abort () at abort.c:89

2 0x00007ffff4d66b86 in __assert_fail_base (fmt=0x7ffff4eb7830 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",

assertion=assertion@entry=0x7ffff09cda45 "(-(e)) != 3 || !robust", file=file@entry=0x7ffff09cda28 "../nptl/pthread_mutex_lock.c", line=line@entry=350, function=function@entry=0x7ffff09cdb40 <__PRETTY_FUNCTION__.8671> "__pthread_mutex_lock_full") at assert.c:92

3 0x00007ffff4d66c32 in __GI___assert_fail (assertion=assertion@entry=0x7ffff09cda45 "(-(e)) != 3 || !robust",

file=file@entry=0x7ffff09cda28 "../nptl/pthread_mutex_lock.c", line=line@entry=350, function=function@entry=0x7ffff09cdb40 <__PRETTY_FUNCTION__.8671> "__pthread_mutex_lock_full") at assert.c:101

4 0x00007ffff09c0ce1 in __pthread_mutex_lock_full (mutex=0xc327d8) at ../nptl/pthread_mutex_lock.c:350

5 0x00007ffff37ca3c6 in std::__1::mutex::lock() () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

6 0x00007ffff1d43030 in ?? () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

7 0x00007ffff1f8dbc8 in ?? () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

8 0x00007ffff1b39738 in ?? () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

9 0x00007ffff1f74dcf in ?? () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

10 0x00007ffff1f832e0 in ?? () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

11 0x00007ffff1f8631f in ?? () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

12 0x00007ffff1a612c0 in ?? () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

13 0x00007ffff1a60b63 in RT_Vector_add () from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libruntimecore.so

14 0x00007ffff78f91c3 in ESRI::RuntimeCore::QRTVector::add(ESRI::RuntimeCore::QRTElement*) const ()

from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libEsriCommonQt.so

15 0x00007ffff7671a09 in QRTImpl::List::append(std::shared_ptr const&) ()

from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libEsriCommonQt.so

16 0x00007ffff770ac93 in QRTImpl::GraphicListImpl::append(std::shared_ptr const&) ()

from /home/quartzfinal/arcgis/runtime_sdk/qt100.0/sdk/linux/x64/lib/libEsriCommonQt.so

17 0x0000000000496bb5 in Esri::ArcGISRuntime::GraphicListModel::append(Esri::ArcGISRuntime::Graphic*) ()

18 0x000000000047293b in GraphicsOverlayDictionaryRenderer_3D::createGraphic (this=0x844780, rawAttributes=...)

at ../GraphicsOverlayDictionaryRenderer_3D_Symbology/GraphicsOverlayDictionaryRenderer_3D.cpp:174

19 0x0000000000472368 in GraphicsOverlayDictionaryRenderer_3D::parseXmlFile (this=0x844780)

ldanzinger commented 7 years ago

@NorbertThoden the samples here in github do not automatically download necessary data like the sample viewer does. However, the readme for each sample that requires offline data should highlight this. For example, in the 3D Military Symbol sample, the readme mentions this here

If I first download the data, and make sure it is in the proper location (~/ArcGIS/Runtime/Data/xml/Mil2525DMessages.xml), then it works for me. Can you confirm that your data is located here?

ldanzinger commented 7 years ago

@NorbertThoden each sample on GitHub has a README.md. At the bottom of each, there is a mention if the sample requires offline data or not. If you are building and running these samples on your own, you need to make sure to download the data it specifies, and place it where it specifies. The sample viewer does this all for you automatically. However, these samples all expect the you already have the data copied properly. I will go through each of the read me files and make sure they are correct in their casing for the local file path.

NorbertThoden commented 7 years ago

Hi Lucas! I haven`t seen that there are links at the README.md for the remaining files... But it seems to hard to make some of there example running....

NorbertThoden commented 7 years ago

Closing was NOT intended - sorry

ldanzinger commented 7 years ago

@NorbertThoden for example, the readme for the dictionary renderer 3d sample is here -https://github.com/Esri/arcgis-runtime-samples-qt/tree/master/ArcGISRuntimeSDKQt_CppSamples/DisplayInformation/GraphicsOverlayDictionaryRenderer_3D#offline-data

There is an offline data section. There is a hyperlink to each item, which is hosted in ArcGIS Online in the left column, and the spot that you need to download it to is in the right column.

Some more info about this can be found in the main readme of this repo - https://github.com/Esri/arcgis-runtime-samples-qt#use-offline-data-in-the-samples

Let me know if you have any more questions!

NorbertThoden commented 7 years ago

Thanks for pointing me to the README. (And sorry for the maybe stupid questions)

But do you still have in mind, that i can´t see the output of this example? I expect (as the screenshot shows) some military objects on the map. Is this correct? Thanks

ldanzinger commented 7 years ago

@NorbertThoden 2 questions:

The call stack looks like it is hitting the parseXml function, which requires those files to be present. Maybe it is crashing because there is no data to parse?

NorbertThoden commented 7 years ago

Hi Luke! Yes, i downloaded both files and they are accessible in the working directory now. (I dropped datapath because it is confusing in context of support calls - the only reason i work on the examples) Still just a globe :-(

I tried Static and Dynamic Rendering mode -> still just a globe :-(

And zoomToGraphics is called, but does not change anything.

Hopefully and can continue tomorrow ... I will add infos then.

ldanzinger commented 7 years ago

@NorbertThoden are you still having this issue?

NorbertThoden commented 7 years ago

Hi Luke! Sorry for not updating this issue. The time and the path of the callstack let me assume that this was during the beta phase. I didn´t found the time to verify this example with the V100. release. But: My own demo/example (based on V100) uses the Dictionary Renderer also. And don´t have a problem.

Therefore i assume that this bug is outdated and can be closes.

Thank you Norbert

ldanzinger commented 7 years ago

Great, thanks @NorbertThoden. I don't see the issue either but wanted to check with you. Closing...