ARM-software / armnn

Arm NN ML Software. The code here is a read-only mirror of https://review.mlplatform.org/admin/repos/ml/armnn
https://developer.arm.com/products/processors/machine-learning/arm-nn
MIT License
1.15k stars 308 forks source link

Running ArmNN UnitTests on STM32MP1 Yocto build #392

Closed TheodoreRTG closed 4 years ago

TheodoreRTG commented 4 years ago

Hello we've been working towards getting a Yocto ArmNN build running on various boards for CI purposes. When running the UnitTests on the stm32mp1 board there are errors. I'm not exactly sure how to resolve these errors so any help would be appreciated.

This is the log from when the UnitTests are run:

root@stm32mp1:/usr/local/bin/armnn-20.02/tools/UnitTests# ./UnitTests Running 2523 test cases... /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/backends/backendsCommon/test/BackendProfilingTests.cpp(502): error: in "BackendProfilingTestSuite/GetProfilingGuidGenerator": check firstGuid has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTestUtils.cpp(967): error: in "NeonRuntime/ProfilingPostOptimisationStructureCpuAcc": check size == 2020 has failed terminate called without an active exception unknown location(0): fatal error: in "ExternalProfiling/CheckProfilingServiceCounterValues": signal: SIGABRT (application abort requested) /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(686): last checkpoint unknown location(0): fatal error: in "ExternalProfiling/CheckPeriodicCounterCaptureThread": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2114): last checkpoint: "CheckPeriodicCounterCaptureThread" test entry unknown location(0): fatal error: in "ExternalProfiling/CheckProfilingServiceGoodConnectionAcknowledgedPacket": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.hpp(220): last checkpoint unknown location(0): fatal error: in "ExternalProfiling/CheckProfilingServiceGoodRequestCounterDirectoryPacket": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.hpp(220): last checkpoint /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2557): error: in "ExternalProfiling/CheckProfilingServiceBadPeriodicCounterSelectionPacketInvalidCounterUid": check helper.WaitForPacketsSent(mockProfilingConnection, PacketType::PeriodicCounterSelection, 14) == 1 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2558): error: in "ExternalProfiling/CheckProfilingServiceBadPeriodicCounterSelectionPacketInvalidCounterUid": check helper.WaitForPacketsSent(mockProfilingConnection, PacketType::PeriodicCounterCapture, 22) >= 1 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2619): error: in "ExternalProfiling/CheckProfilingServiceGoodPeriodicCounterSelectionPacketNoCounters": check helper.WaitForPacketsSent(mockProfilingConnection, PacketType::PeriodicCounterSelection, 12) == 1 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2698): error: in "ExternalProfiling/CheckProfilingServiceGoodPeriodicCounterSelectionPacketSingleCounter": check helper.WaitForPacketsSent(mockProfilingConnection, PacketType::PeriodicCounterSelection, 14) == 1 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2699): error: in "ExternalProfiling/CheckProfilingServiceGoodPeriodicCounterSelectionPacketSingleCounter": check helper.WaitForPacketsSent(mockProfilingConnection, PacketType::PeriodicCounterCapture, 22) >= 1 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2776): error: in "ExternalProfiling/CheckProfilingServiceGoodPeriodicCounterSelectionPacketMultipleCounters": check helper.WaitForPacketsSent(mockProfilingConnection, PacketType::PeriodicCounterSelection, 16) == 1 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(2777): error: in "ExternalProfiling/CheckProfilingServiceGoodPeriodicCounterSelectionPacketMultipleCounters": check helper.WaitForPacketsSent(mockProfilingConnection, PacketType::PeriodicCounterCapture, 28) >= 1 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(3060): fatal error: in "ExternalProfiling/CheckProfilingServiceBadConnectionAcknowledgedPacket": Expected string not found. /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(3123): fatal error: in "ExternalProfiling/CheckProfilingServiceBadRequestCounterDirectoryPacket": Expected string not found. /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTests.cpp(3186): fatal error: in "ExternalProfiling/CheckProfilingServiceBadPeriodicCounterSelectionPacket": Expected string not found. unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadTest0": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(1767): last checkpoint: "SendThreadTest0" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadTest1": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(1791): last checkpoint: "SendThreadTest1" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadTest2": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(1903): last checkpoint: "SendThreadTest2" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadTest3": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(2025): last checkpoint: "SendThreadTest3" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendCounterPacketTestWithSendThread": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(2132): last checkpoint: "SendCounterPacketTestWithSendThread" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadBufferTest": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(2181): last checkpoint: "SendThreadBufferTest" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadSendStreamMetadataPacket1": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(2242): last checkpoint: "SendThreadSendStreamMetadataPacket1" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadSendStreamMetadataPacket2": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(2256): last checkpoint: "SendThreadSendStreamMetadataPacket2" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadSendStreamMetadataPacket3": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(2271): last checkpoint: "SendThreadSendStreamMetadataPacket3" test entry unknown location(0): fatal error: in "SendCounterPacketTests/SendThreadSendStreamMetadataPacket4": std::system_error: Resource temporarily unavailable /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendCounterPacketTests.cpp(2299): last checkpoint: "SendThreadSendStreamMetadataPacket4" test entry /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/SendTimelinePacketTests.cpp(355): error: in "SendTimelinePacketTests/SendTimelinePacketTests1": check eventBinaryPacketDataLength == 28 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/TimelinePacketTests.cpp(876): error: in "TimelinePacketTests/TimelineEventPacketTest4": check numberOfBytesWritten == 36 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/TimelinePacketTests.cpp(899): error: in "TimelinePacketTests/TimelineEventPacketTest4": check dataLength == 28 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/TimelineUtilityMethodsTests.cpp(414): error: in "TimelineUtilityMethodsTests/RecordEventTest": check size == 116 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/armnn/test/RuntimeTests.cpp(836): error: in "Runtime/ProfilingEnableCpuRef": check size == 1608 has failed /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/profiling/test/ProfilingTestUtils.cpp(967): error: in "Runtime/ProfilingPostOptimisationStructureCpuRef": check size == 2020 has failed pure virtual method called terminate called recursively unknown location(0): fatal error: in "TensorflowLiteParser/LoadFileNotFound": signal: SIGABRT (application abort requested) /local/home/frq08927/views/openstlinux-20-02-19_v1.2.0_github/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.02-r0/armnn-20.02/src/armnnTfLiteParser/test/LoadModel.cpp(232): last checkpoint

Colm-in-Arm commented 4 years ago

Hi Theodore,

Some of those errors look familiar, in particular the ExternalProfiling ones. They were causing problems on some types of Raspberry Pi's. We have fixed them since 20.02. Would be it possible for you to compile against master and see what errors you encounter? Failing that 20.05 is due out before the end of the month. Can you also tell me if your build included Valgrind (VALGRIND_FOUND:INTERNAL=1 in the CMakeCache.txt file)?

Colm.

TheodoreRTG commented 4 years ago

Hey Colm,

That's great news, I'll rebuild with the master branch and see if that resolves or at least reduces the errors. I don't believe that the build currently includes Valgrind; however, I'll see if I can get it added for the rebuild if that would be useful.

Theodore

TheodoreRTG commented 4 years ago

Hey Colm, Switching to the master branch resolved all errors except two of them. Unfortunately it was not built with Valgrind. I've found simil

Logs run through Valgrind:

valgrind '--leak-check=full' '--show-leak-kinds=all' '--track-origins=yes' --verbose '--log-file=valgrind-out.txt' ./UnitTests Running 2873 test cases... /home/theodore/Yocto/openstlinux-20-02-19/build-openstlinuxweston-stm32mp1/tmp-glibc/work/cortexa7t2hf-neon-vfpv4-ostl-linux-gnueabi/armnn/20.05-r0/git/src/backends/backendsCommon/test/BackendProfilingTests.cpp(504): [1;31;49merror: in \"BackendProfilingTestSuite/GetProfilingGuidGenerator\": check firstGuid has failed[0;39;49m --1276:0: aspacem <<< SHOW_SEGMENTS: out_of_memory (129 segments) --1276:0: aspacem 35 segment names in 36 slots --1276:0: aspacem freelist begins at 281 --1276:0: aspacem (0,4,5) /usr/lib/valgrind/memcheck-arm-linux --1276:0: aspacem (1,45,4) /usr/local/bin/armnn-20.05/tools/UnitTests/UnitTests --1276:0: aspacem (2,102,4) /lib/ld-2.28.so --1276:0: aspacem (3,122,1) /tmp/vgdb-pipe-shared-mem-vgdb-1276-by-root-on-??? --1276:0: aspacem (4,177,5) /usr/lib/valgrind/vgpreload_core-arm-linux.so --1276:0: aspacem (5,227,5) /usr/lib/valgrind/vgpreload_memcheck-arm-linux.so --1276:0: aspacem (6,281,0) [free slot: size=17 next=0] --1276:0: aspacem (7,302,5) /lib/libpthread-2.28.so --1276:0: aspacem (8,330,5) /usr/lib/libtimelineDecoder.so.21.0 --1276:0: aspacem (9,370,5) /usr/lib/libarmnnTfLiteParser.so.21.0 --1276:0: aspacem (10,412,5) /usr/lib/libarmnnBasePipeServer.so.21.0 --1276:0: aspacem (11,456,5) /usr/lib/libarmnn.so.21.0 --1276:0: aspacem (12,486,5) /lib/libdl-2.28.so --1276:0: aspacem (13,509,5) /usr/lib/libstdc++.so.6.0.25 --1276:0: aspacem (14,542,5) /lib/libm-2.28.so --1276:0: aspacem (15,564,5) /lib/libgcc_s.so.1 --1276:0: aspacem (16,587,5) /lib/libc-2.28.so --1276:0: aspacem (17,609,9) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testSharedObject/libTestSharedObject.so --1276:0: aspacem (18,729,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libValidTestDynamicBackend.so --1276:0: aspacem (19,858,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libInvalidTestDynamicBackend1.so --1276:0: aspacem (20,990,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libInvalidTestDynamicBackend2.so --1276:0: aspacem (21,1122,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libInvalidTestDynamicBackend3.so --1276:0: aspacem (22,1254,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libInvalidTestDynamicBackend4.so --1276:0: aspacem (23,1386,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libInvalidTestDynamicBackend5.so --1276:0: aspacem (24,1518,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libInvalidTestDynamicBackend6.so --1276:0: aspacem (25,1650,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/testDynamicBackend/libInvalidTestDynamicBackend7.so --1276:0: aspacem (26,1782,7) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath5/Arm_TestInvalid8_backend.so --1276:0: aspacem (27,1908,11) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath5/Arm_TestValid2_backend.so --1276:0: aspacem (28,2032,7) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath5/Arm_TestValid3_backend.so --1276:0: aspacem (29,2156,7) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath6/Arm_TestInvalid9_backend.so --1276:0: aspacem (30,2282,5) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath6/Arm_TestValid2_backend.so --1276:0: aspacem (31,2406,5) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath6/Arm_TestValid4_backend.so --1276:0: aspacem (32,2530,7) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath6/Arm_TestValid5_backend.so --1276:0: aspacem (33,2654,5) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath9/Arm_TestInvalid10_backend.so --1276:0: aspacem (34,2781,5) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/backendsCommon/test/backendsTestPath9/Arm_TestInvalid11_backend.so --1276:0: aspacem (35,2908,1) /usr/local/bin/armnn-20.05/tools/UnitTests/src/backends/dynamic/reference/Arm_CpuRef_backend.so --1276:0: aspacem 0: RSVN 0000000000-000000ffff 65536 ----- SmFixed --1276:0: aspacem 1: file 0000010000-0000c0bfff 11m r-xT- d=0xb30a i=1419015 o=0 (1,45) --1276:0: aspacem 2: RSVN 0000c0c000-0000c1afff 61440 ----- SmFixed --1276:0: aspacem 3: file 0000c1b000-0000c2bfff 69632 r---- d=0xb30a i=1419015 o=12562432 (1,45) --1276:0: aspacem 4: file 0000c2c000-0000c35fff 40960 rw--- d=0xb30a i=1419015 o=12632064 (1,45) --1276:0: aspacem 5: anon 0000c36000-0000c3dfff 32768 rw--- --1276:0: aspacem 6: RSVN 0000c3e000-0003ffffff 51m ----- SmFixed --1276:0: aspacem 7: file 0004000000-0004017fff 98304 r-xT- d=0xb309 i=24021 o=0 (2,102) --1276:0: aspacem 8: anon 0004018000-0004019fff 8192 rw--- --1276:0: aspacem 9: 000401a000-0004022fff 36864 --1276:0: aspacem 10: anon 0004023000-0004026fff 16384 rw--- --1276:0: aspacem 11: file 0004027000-0004027fff 4096 r---- d=0xb309 i=24021 o=94208 (2,102) --1276:0: aspacem 12: file 0004028000-0004028fff 4096 rw--- d=0xb309 i=24021 o=98304 (2,102) --1276:0: aspacem 13: anon 0004029000-0004029fff 4096 rwx-- --1276:0: aspacem 14: RSVN 000402a000-0004828fff 8384512 ----- SmLower --1276:0: aspacem 15: file 0004829000-0004829fff 4096 r-xT- d=0xb309 i=16631 o=0 (4,177) --1276:0: aspacem 16: file 000482a000-0004838fff 61440 ----- d=0xb309 i=16631 o=4096 (4,177) --1276:0: aspacem 17: file 0004839000-0004839fff 4096 r---- d=0xb309 i=16631 o=0 (4,177) --1276:0: aspacem 18: file 000483a000-000483afff 4096 rw--- d=0xb309 i=16631 o=4096 (4,177) --1276:0: aspacem 19: file 000483b000-0004848fff 57344 r-xT- d=0xb309 i=16681 o=0 (5,227) --1276:0: aspacem 20: file 0004849000-0004857fff 61440 ----- d=0xb309 i=16681 o=57344 (5,227) --1276:0: aspacem 21: file 0004858000-0004858fff 4096 r---- d=0xb309 i=16681 o=53248 (5,227) --1276:0: aspacem 22: file 0004859000-0004859fff 4096 rw--- d=0xb309 i=16681 o=57344 (5,227) --1276:0: aspacem 23: file 000485a000-000486afff 69632 r-xT- d=0xb309 i=23454 o=0 (7,302) --1276:0: aspacem 24: file 000486b000-0004879fff 61440 ----- d=0xb309 i=23454 o=69632 (7,302) --1276:0: aspacem 25: file 000487a000-000487afff 4096 r---- d=0xb309 i=23454 o=65536 (7,302) --1276:0: aspacem 26: file 000487b000-000487bfff 4096 rw--- d=0xb309 i=23454 o=69632 (7,302) --1276:0: aspacem 27: anon 000487c000-000487dfff 8192 rw--- --1276:0: aspacem 28: file 000487e000-000488efff 69632 r-xT- d=0xb309 i=22282 o=0 (8,330) --1276:0: aspacem 29: file 000488f000-000489dfff 61440 ----- d=0xb309 i=22282 o=69632 (8,330) --1276:0: aspacem 30: file 000489e000-000489efff 4096 r---- d=0xb309 i=22282 o=65536 (8,330) --1276:0: aspacem 31: file 000489f000-000489ffff 4096 rw--- d=0xb309 i=22282 o=69632 (8,330) --1276:0: aspacem 32: file 00048a0000-00048e3fff 278528 r-xT- d=0xb309 i=22278 o=0 (9,370) --1276:0: aspacem 33: file 00048e4000-00048f2fff 61440 ----- d=0xb309 i=22278 o=278528 (9,370) --1276:0: aspacem 34: file 00048f3000-00048f3fff 4096 r---- d=0xb309 i=22278 o=274432 (9,370) --1276:0: aspacem 35: file 00048f4000-00048f4fff 4096 rw--- d=0xb309 i=22278 o=278528 (9,370) --1276:0: aspacem 36: file 00048f5000-00048f9fff 20480 r-xT- d=0xb309 i=16378 o=0 (10,412) --1276:0: aspacem 37: file 00048fa000-0004908fff 61440 ----- d=0xb309 i=16378 o=20480 (10,412) --1276:0: aspacem 38: file 0004909000-0004909fff 4096 r---- d=0xb309 i=16378 o=16384 (10,412) --1276:0: aspacem 39: file 000490a000-000490afff 4096 rw--- d=0xb309 i=16378 o=20480 (10,412) --1276:0: aspacem 40: file 000490b000-0004e62fff 5603328 r-xT- d=0xb309 i=16387 o=0 (11,456) --1276:0: aspacem 41: file 0004e63000-0004e71fff 61440 ----- d=0xb309 i=16387 o=5603328 (11,456) --1276:0: aspacem 42: file 0004e72000-0004e81fff 65536 r---- d=0xb309 i=16387 o=5599232 (11,456) --1276:0: aspacem 43: file 0004e82000-0004e86fff 20480 rw--- d=0xb309 i=16387 o=5664768 (11,456) --1276:0: aspacem 44: anon 0004e87000-0004e8afff 16384 rw--- --1276:0: aspacem 45: file 0004e8b000-0004e8cfff 8192 r-xT- d=0xb309 i=24775 o=0 (12,486) --1276:0: aspacem 46: file 0004e8d000-0004e9bfff 61440 ----- d=0xb309 i=24775 o=8192 (12,486) --1276:0: aspacem 47: file 0004e9c000-0004e9cfff 4096 r---- d=0xb309 i=24775 o=4096 (12,486) --1276:0: aspacem 48: file 0004e9d000-0004e9dfff 4096 rw--- d=0xb309 i=24775 o=8192 (12,486) --1276:0: aspacem 49: file 0004e9e000-0004f8ffff 991232 r-xT- d=0xb309 i=15718 o=0 (13,509) --1276:0: aspacem 50: file 0004f90000-0004f9ffff 65536 ----- d=0xb309 i=15718 o=991232 (13,509) --1276:0: aspacem 51: file 0004fa0000-0004fa4fff 20480 r---- d=0xb309 i=15718 o=991232 (13,509) --1276:0: aspacem 52: file 0004fa5000-0004fa6fff 8192 rw--- d=0xb309 i=15718 o=1011712 (13,509) --1276:0: aspacem 53: anon 0004fa7000-0004fa8fff 8192 rw--- --1276:0: aspacem 54: file 0004fa9000-000500ffff 421888 r-xT- d=0xb309 i=23427 o=0 (14,542) --1276:0: aspacem 55: file 0005010000-000501efff 61440 ----- d=0xb309 i=23427 o=421888 (14,542) --1276:0: aspacem 56: file 000501f000-000501ffff 4096 r---- d=0xb309 i=23427 o=417792 (14,542) --1276:0: aspacem 57: file 0005020000-0005020fff 4096 rw--- d=0xb309 i=23427 o=421888 (14,542) --1276:0: aspacem 58: file 0005021000-0005039fff 102400 r-xT- d=0xb309 i=24786 o=0 (15,564) --1276:0: aspacem 59: file 000503a000-0005048fff 61440 ----- d=0xb309 i=24786 o=102400 (15,564) --1276:0: aspacem 60: file 0005049000-0005049fff 4096 r---- d=0xb309 i=24786 o=98304 (15,564) --1276:0: aspacem 61: file 000504a000-000504afff 4096 rw--- d=0xb309 i=24786 o=102400 (15,564) --1276:0: aspacem 62: file 000504b000-0005127fff 905216 r-xT- d=0xb309 i=24782 o=0 (16,587) --1276:0: aspacem 63: file 0005128000-0005137fff 65536 ----- d=0xb309 i=24782 o=905216 (16,587) --1276:0: aspacem 64: file 0005138000-0005139fff 8192 r---- d=0xb309 i=24782 o=905216 (16,587) --1276:0: aspacem 65: file 000513a000-000513afff 4096 rw--- d=0xb309 i=24782 o=913408 (16,587) --1276:0: aspacem 66: anon 000513b000-0005140fff 24576 rw--- --1276:0: aspacem 67: anon 0005141000-0005540fff 4194304 rwx-H --1276:0: aspacem 68: anon 0005541000-0005541fff 4096 ----- --1276:0: aspacem 69: anon 0005542000-0005d41fff 8388608 rw--- --1276:0: aspacem 70: anon 0005d42000-0005d42fff 4096 ----- --1276:0: aspacem 71: anon 0005d43000-0006542fff 8388608 rw--- --1276:0: aspacem 72: anon 0006543000-0008142fff 28m rwx-H --1276:0: aspacem 73: 0008143000-0057ffffff 1278m --1276:0: aspacem 74: FILE 0058000000-00580c7fff 819200 r-x-- d=0xb309 i=16679 o=0 (0,4) --1276:0: aspacem 75: file 00580c8000-00580c8fff 4096 r-xT- d=0xb309 i=16679 o=819200 (0,4) --1276:0: aspacem 76: FILE 00580c9000-0058227fff 1437696 r-x-- d=0xb309 i=16679 o=823296 (0,4) --1276:0: aspacem 77: 0058228000-0058236fff 61440 --1276:0: aspacem 78: FILE 0058237000-0058238fff 8192 rw--- d=0xb309 i=16679 o=2256896 (0,4) --1276:0: aspacem 79: ANON 0058239000-0058ba4fff 9879552 rw--- --1276:0: aspacem 80: 0058ba5000-006147cfff 136m --1276:0: aspacem 81: RSVN 006147d000-006147dfff 4096 ----- SmFixed --1276:0: aspacem 82: ANON 006147e000-0067828fff 99m rwx-- --1276:0: aspacem 83: 0067829000-006782bfff 12288 --1276:0: aspacem 84: FILE 006782c000-006782cfff 4096 rw--- d=0x020 i=20791 o=0 (3,122) --1276:0: aspacem 85: ANON 006782d000-00679f8fff 1884160 rwx-- --1276:0: aspacem 86: ANON 00679f9000-00679fafff 8192 ----- --1276:0: aspacem 87: ANON 00679fb000-0067afafff 1048576 rwx-- --1276:0: aspacem 88: ANON 0067afb000-0067afcfff 8192 ----- --1276:0: aspacem 89: ANON 0067afd000-0069cd1fff 33m rwx-- --1276:0: aspacem 90: ANON 0069cd2000-0069cd3fff 8192 ----- --1276:0: aspacem 91: ANON 0069cd4000-0069dd3fff 1048576 rwx-- --1276:0: aspacem 92: ANON 0069dd4000-0069dd5fff 8192 ----- --1276:0: aspacem 93: ANON 0069dd6000-0069e81fff 704512 rwx-- --1276:0: aspacem 94: 0069e82000-0069e84fff 12288 --1276:0: aspacem 95: ANON 0069e85000-0069f04fff 524288 rwx-- --1276:0: aspacem 96: 0069f05000-0069f05fff 4096 --1276:0: aspacem 97: ANON 0069f06000-006a17dfff 2588672 rwx-- --1276:0: aspacem 98: 006a17e000-006a17efff 4096 --1276:0: aspacem 99: ANON 006a17f000-006a202fff 540672 rwx-- --1276:0: aspacem 100: 006a203000-006a205fff 12288 --1276:0: aspacem 101: ANON 006a206000-006a705fff 5242880 rwx-- --1276:0: aspacem 102: ANON 006a706000-006a707fff 8192 ----- --1276:0: aspacem 103: ANON 006a708000-006a807fff 1048576 rwx-- --1276:0: aspacem 104: ANON 006a808000-006a809fff 8192 ----- --1276:0: aspacem 105: ANON 006a80a000-006ee41fff 70m rwx-- --1276:0: aspacem 106: 006ee42000-006ee43fff 8192 --1276:0: aspacem 107: ANON 006ee44000-006ef27fff 933888 rwx-- --1276:0: aspacem 108: 006ef28000-006ef28fff 4096 --1276:0: aspacem 109: ANON 006ef29000-006f038fff 1114112 rwx-- --1276:0: aspacem 110: 006f039000-006f039fff 4096 --1276:0: aspacem 111: ANON 006f03a000-0071103fff 32m rwx-- --1276:0: aspacem 112: 0071104000-0071105fff 8192 --1276:0: aspacem 113: ANON 0071106000-0071185fff 524288 rwx-- --1276:0: aspacem 114: 0071186000-0071186fff 4096 --1276:0: aspacem 115: ANON 0071187000-00711fafff 475136 rwx-- --1276:0: aspacem 116: 00711fb000-007125bfff 397312 --1276:0: aspacem 117: ANON 007125c000-0071393fff 1277952 rwx-- --1276:0: aspacem 118: 0071394000-00bd0f9fff 1213m --1276:0: aspacem 119: RSVN 00bd0fa000-00bd8f1fff 8355840 ----- SmUpper --1276:0: aspacem 120: anon 00bd8f2000-00bd8f9fff 32768 rw--- --1276:0: aspacem 121: 00bd8fa000-00be8d8fff 15m --1276:0: aspacem 122: ANON 00be8d9000-00be8f9fff 135168 rw--- --1276:0: aspacem 123: RSVN 00be8fa000-00beb28fff 2289664 ----- SmFixed --1276:0: aspacem 124: ANON 00beb29000-00beb29fff 4096 r-x-- --1276:0: aspacem 125: ANON 00beb2a000-00beb2afff 4096 r---- --1276:0: aspacem 126: RSVN 00beb2b000-00fffeffff 1044m ----- SmFixed --1276:0: aspacem 127: anon 00ffff0000-00ffff0fff 4096 r-x-- --1276:0: aspacem 128: RSVN 00ffff1000-00ffffffff 61440 ----- SmFixed --1276:0: aspacem >>>

Colm-in-Arm commented 4 years ago

Hi Theodore,

I'm stumped... I presume we can discount the second error as the first one is catastrophic enough to mess up the runtime.

A "pure virtual method called" - I've not seen that failure in our own 32bit A7 environment. Are you in a position to debug this? At runtime firstGuid should be an instance of armnn::profiling::ProfilingDynamicGuid with a m_Guid value of 0.

Colm.

vinceab commented 4 years ago

Hi Theo, Colm,

Here is an update from my side. By updating the gcc version to gcc 9.3 and building armnn 20.05, I only reproduce the second issue:

root@stm32mp1:/usr/local/bin/armnn-20.05/tools/UnitTests# ./UnitTests Running 2873 test cases... /usr/src/debug/armnn/20.05-r0/git/src/backends/backendsCommon/test/BackendProfilingTests.cpp(504): error: in "BackendProfilingTestSuite/GetProfilingGuidGenerator": check firstGuid has failed

*** 1 failure is detected in the test module "UnitTests" root@stm32mp1:/usr/local/bin/armnn-20.05/tools/UnitTests#

All the other test seems to work fine.

Vincent

MatthewARM commented 4 years ago

Hang on, if firstGuid should be an armnn::profiling::ProfilingDynamicGuid with a m_Guid value of 0, why does the unit test do BOOST_CHECK(firstGuid);?

I think that's an invalid test.

vinceab commented 4 years ago

By enabling some log here is what is executed:

BackendProfilingTests.cpp(483): Entering test case "GetProfilingGuidGenerator" BackendProfilingTests.cpp(495): info: check mockBackEndProfilingContext has passed BackendProfilingTests.cpp(498): info: check backendProfilingIface has passed BackendProfilingTests.cpp(502): info: check backendProfilingIface has passed BackendProfilingTests.cpp(504): error: in "BackendProfilingTestSuite/GetProfilingGuidGenerator": check firstGuid has failed BackendProfilingTests.cpp(506): info: check secondGuid > firstGuid has passed BackendProfilingTests.cpp(483): Leaving test case "GetProfilingGuidGenerator"; testing time: 3730us

firstGuid failed SecondGuid passed

vinceab commented 4 years ago

By the way, it is strange that backendProfilingIface is checked twice. I think guidGenerator should be checked instead for BackendProfilingTests.cpp(502).

MatthewARM commented 4 years ago

Hi @vinceab did d0aa456dae928d54fb68eeac2ae75198b9f8e2d6 fix these problems?

vinceab commented 4 years ago

Hi @MatthewARM, d0aa456 is effectively fixing the UnitTest issue. UnitTest is running without any issue now on the STM32MP1.

MatthewARM commented 4 years ago

Awesome, thanks Vincent.