Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

crash in SpriteTest.LoadingFail #2819

Merged
merged 1 commit into from
Oct 28, 2015
Merged

crash in SpriteTest.LoadingFail #2819

merged 1 commit into from
Oct 28, 2015

Conversation

jfirebaugh
Copy link
Contributor

https://travis-ci.org/mapbox/mapbox-gl-native/jobs/87673343

[ RUN      ] SpriteTest.LoadingFail
*** glibc detected *** build/linux-x86_64/Release/test: double free or corruption (out): 0x000000000212f840 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7e846)[0x2b815d16f846]
build/linux-x86_64/Release/test[0x57d472]
build/linux-x86_64/Release/test[0x57ddd3]
build/linux-x86_64/Release/test[0x6c7753]
build/linux-x86_64/Release/test[0x6b6321]
build/linux-x86_64/Release/test[0x69e0f5]
build/linux-x86_64/Release/test[0x69ed7b]
build/linux-x86_64/Release/test[0x69f4c7]
build/linux-x86_64/Release/test(_ZN7testing8internal12UnitTestImpl11RunAllTestsEv+0x2f2)[0x6a6d72]
build/linux-x86_64/Release/test[0x6c3743]
build/linux-x86_64/Release/test[0x6b8901]
build/linux-x86_64/Release/test[0x6a6a2b]
build/linux-x86_64/Release/test[0x43077f]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed)[0x2b815d11276d]
build/linux-x86_64/Release/test[0x439069]
======= Memory map: ========
00400000-0093b000 r-xp 00000000 fc:06 1267754                            /home/travis/build/mapbox/mapbox-gl-native/build/linux-x86_64/Release/test
00b3a000-00b46000 r--p 0053a000 fc:06 1267754                            /home/travis/build/mapbox/mapbox-gl-native/build/linux-x86_64/Release/test
00b46000-00b4a000 rw-p 00546000 fc:06 1267754                            /home/travis/build/mapbox/mapbox-gl-native/build/linux-x86_64/Release/test
00b4a000-00b4d000 rw-p 00000000 00:00 0 
020f9000-02368000 rw-p 00000000 00:00 0                                  [heap]
2b815b0c5000-2b815b0e7000 r-xp 00000000 fc:06 46137564                   /lib/x86_64-linux-gnu/ld-2.15.so
2b815b0e7000-2b815b0eb000 rw-p 00000000 00:00 0 
2b815b0f9000-2b815b10e000 rw-p 00000000 00:00 0 
2b815b2e7000-2b815b2e8000 r--p 00022000 fc:06 46137564                   /lib/x86_64-linux-gnu/ld-2.15.so
2b815b2e8000-2b815b2ea000 rw-p 00023000 fc:06 46137564                   /lib/x86_64-linux-gnu/ld-2.15.so
2b815b2ea000-2b815b302000 r-xp 00000000 fc:06 46137672                   /lib/x86_64-linux-gnu/libpthread-2.15.so
2b815b302000-2b815b501000 ---p 00018000 fc:06 46137672                   /lib/x86_64-linux-gnu/libpthread-2.15.so
2b815b501000-2b815b502000 r--p 00017000 fc:06 46137672                   /lib/x86_64-linux-gnu/libpthread-2.15.so
2b815b502000-2b815b503000 rw-p 00018000 fc:06 46137672                   /lib/x86_64-linux-gnu/libpthread-2.15.so
2b815b503000-2b815b507000 rw-p 00000000 00:00 0 
2b815b507000-2b815b50e000 r-xp 00000000 fc:06 46137678                   /lib/x86_64-linux-gnu/librt-2.15.so
2b815b50e000-2b815b70d000 ---p 00007000 fc:06 46137678                   /lib/x86_64-linux-gnu/librt-2.15.so
2b815b70d000-2b815b70e000 r--p 00006000 fc:06 46137678                   /lib/x86_64-linux-gnu/librt-2.15.so
2b815b70e000-2b815b70f000 rw-p 00007000 fc:06 46137678                   /lib/x86_64-linux-gnu/librt-2.15.so
2b815b70f000-2b815b711000 r-xp 00000000 fc:06 46137591                   /lib/x86_64-linux-gnu/libdl-2.15.so
2b815b711000-2b815b911000 ---p 00002000 fc:06 46137591                   /lib/x86_64-linux-gnu/libdl-2.15.so
2b815b911000-2b815b912000 r--p 00002000 fc:06 46137591                   /lib/x86_64-linux-gnu/libdl-2.15.so
2b815b912000-2b815b913000 rw-p 00003000 fc:06 46137591                   /lib/x86_64-linux-gnu/libdl-2.15.so
2b815b913000-2b815be86000 r-xp 00000000 fc:06 9200830                    /home/travis/build/mapbox/mapbox-gl-native/mason_packages/linux-x86_64/mesa/10.4.3/lib/libGL.so.1.6.0
2b815be86000-2b815c086000 ---p 00573000 fc:06 9200830                    /home/travis/build/mapbox/mapbox-gl-native/mason_packages/linux-x86_64/mesa/10.4.3/lib/libGL.so.1.6.0
2b815c086000-2b815c0a4000 r--p 00573000 fc:06 9200830                    /home/travis/build/mapbox/mapbox-gl-native/mason_packages/linux-x86_64/mesa/10.4.3/lib/libGL.so.1.6.0
2b815c0a4000-2b815c0ae000 rw-p 00591000 fc:06 9200830                    /home/travis/build/mapbox/mapbox-gl-native/mason_packages/linux-x86_64/mesa/10.4.3/lib/libGL.so.1.6.0
2b815c0ae000-2b815c0b8000 rw-p 00000000 00:00 0 
2b815c0b8000-2b815c1e8000 r-xp 00000000 fc:06 46138194                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2b815c1e8000-2b815c3e8000 ---p 00130000 fc:06 46138194                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2b815c3e8000-2b815c3e9000 r--p 00130000 fc:06 46138194                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2b815c3e9000-2b815c3ed000 rw-p 00131000 fc:06 46138194                   /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0
2b815c3ed000-2b815c403000 r-xp 00000000 fc:06 46137699                   /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b815c403000-2b815c602000 ---p 00016000 fc:06 46137699                   /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b815c602000-2b815c603000 r--p 00015000 fc:06 46137699                   /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b815c603000-2b815c604000 rw-p 00016000 fc:06 46137699                   /lib/x86_64-linux-gnu/libz.so.1.2.3.4
2b815c604000-2b815c65e000 r-xp 00000000 fc:06 46294783                   /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0
2b815c65e000-2b815c85e000 ---p 0005a000 fc:06 46294783                   /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0
2b815c85e000-2b815c860000 r--p 0005a000 fc:06 46294783                   /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0
2b815c860000-2b815c861000 rw-p 0005c000 fc:06 46294783                   /usr/lib/x86_64-linux-gnu/libcurl.so.4.2.0
2b815c861000-2b815c9ce000 r-xp 00000000 fc:06 48920602                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2b815c9ce000-2b815cbce000 ---p 0016d000 fc:06 48920602                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2b815cbce000-2b815cbd8000 r--p 0016d000 fc:06 48920602                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2b815cbd8000-2b815cbda000 rw-p 00177000 fc:06 48920602                   /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
2b815cbda000-2b815cbde000 rw-p 00000000 00:00 0 
2b815cbde000-2b815ccd9000 r-xp 00000000 fc:06 46137634                   /lib/x86_64-linux-gnu/libm-2.15.so
2b815ccd9000-2b815ced8000 ---p 000fb000 fc:06 46137634                   /lib/x86_64-linux-gnu/libm-2.15.so
2b815ced8000-2b815ced9000 r--p 000fa000 fc:06 46137634                   /lib/x86_64-linux-gnu/libm-2.15.so
2b815ced9000-2b815ceda000 rw-p 000fb000 fc:06 46137634                   /lib/x86_64-linux-gnu/libm-2.15.so
2b815ceda000-2b815cef0000 r-xp 00000000 fc:06 48920599                   /lib/x86_64-linux-gnu/libgcc_s.so.1
2b815cef0000-2b815d0ef000 ---p 00016000 fc:06 48920599                   /lib/x86_64-linux-gnu/libgcc_s.so.1
2b815d0ef000-2b815d0f0000 r--p 00015000 fc:06 48920599                   /lib/x86_64-linux-gnu/libgcc_s.so.1
2b815d0f0000-2b815d0f1000 rw-p 00016000 fc:06 48920599                   /lib/x86_64-linux-gnu/libgcc_s.so.1
2b815d0f1000-2b815d2a6000 r-xp 00000000 fc:06 46137580                   /lib/x86_64-linux-gnu/libc-2.15.so
2b815d2a6000-2b815d4a5000 ---p 001b5000 fc:06 46137580                   /lib/x86_64-linux-gnu/libc-2.15.so
2b815d4a5000-2b815d4a9000 r--p 001b4000 fc:06 46137580                   /lib/x86_64-linux-gnu/libc-2.15.so
2b815d4a9000-2b815d4ab000 rw-p 001b8000 fc:06 46137580                   /lib/x86_64-linux-gnu/libc-2.15.so
2b815d4ab000-2b815d4b0000 rw-p 00000000 00:00 0 
2b815d4b0000-2b815d4c0000 r-xp 00000000 fc:06 46138200                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2b815d4c0000-2b815d6bf000 ---p 00010000 fc:06 46138200                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2b815d6bf000-2b815d6c0000 r--p 0000f000 fc:06 46138200                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2b815d6c0000-2b815d6c1000 rw-p 00010000 fc:06 46138200                   /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0
2b815d6c1000-2b815d6de000 r-xp 00000000 fc:06 46138216                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2b815d6de000-2b815d8dd000 ---p 0001d000 fc:06 46138216                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2b815d8dd000-2b815d8de000 r--p 0001c000 fc:06 46138216                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2b815d8de000-2b815d8df000 rw-p 0001d000 fc:06 46138216                   /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0
2b815d8df000-2b815d911000 r-xp 00000000 fc:06 46138208                   /usr/lib/x86_64-linux-gnu/libidn.so.11.6.6
2b815d911000-2b815db10000 ---p 00032000 fc:06 46138208                   /usr/lib/x86_64-linux-gnu/libidn.so.11.6.6
2b815db10000-2b815db11000 r--p 00031000 fc:06 46138208                   /usr/lib/x86_64-linux-gnu/libidn.so.11.6.6
2b815db11000-2b815db12000 rw-p 00032000 fc:06 46138208                   /usr/lib/x86_64-linux-gnu/libidn.so.11.6.6
2b815db12000-2b815db1f000 r-xp 00000000 fc:06 46295072                   /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.8.1
2b815db1f000-2b815dd1e000 ---p 0000d000 fc:06 46295072                   /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.8.1
2b815dd1e000-2b815dd1f000 r--p 0000c000 fc:06 46295072                   /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.8.1
2b815dd1f000-2b815dd20000 rw-p 0000d000 fc:06 46295072                   /usr/lib/x86_64-linux-gnu/liblber-2.4.so.2.8.1
2b815dd20000-2b815dd6b000 r-xp 00000000 fc:06 46295086                   /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.8.1
2b815dd6b000-2b815df6a000 ---p 0004b000 fc:06 46295086                   /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.8.1
2b815df6a000-2b815df6c000 r--p 0004a000 fc:06 46295086                   /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.8.1
2b815df6c000-2b815df6d000 rw-p 0004c000 fc:06 46295086                   /usr/lib/x86_64-linux-gnu/libldap_r-2.4.so.2.8.1
2b815df6d000-2b815df6f000 rw-p 00000000 00:00 0 
2b815df6f000-2b815dfaa000 r-xp 00000000 fc:06 46138206                   /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
2b815dfaa000-2b815e1aa000 ---p 0003b000 fc:06 46138206                   /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
2b815e1aa000-2b815e1ab000 r--p 0003b000 fc:06 46138206                   /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
2b815e1ab000-2b815e1ad000 rw-p 0003c000 fc:06 46138206                   /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2
2b815e1ad000-2b815e201000 r-xp 00000000 fc:06 46137685                   /lib/x86_64-linux-gnu/libssl.so.1.0.0
2b815e201000-2b815e401000 ---p 00054000 fc:06 46137685                   /lib/x86_64-linux-gnu/libssl.so.1.0.0
2b815e401000-2b815e404000 r--p 00054000 fc:06 46137685                   /lib/x86_64-linux-gnu/libssl.so.1.0.0
2b815e404000-2b815e40b000 rw-p 00057000 fc:06 46137685                   /lib/x86_64-linux-gnu/libssl.so.1.0.0
2b815e40b000-2b815e5bd000 r-xp 00000000 fc:06 46137588                   /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
2b815e5bd000-2b815e7bc000 ---p 001b2000 fc:06 46137588                   /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
2b815e7bc000-2b815e7d7000 r--p 001b1000 fc:06 46137588                   /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
2b815e7d7000-2b815e7e2000 rw-p 001cc000 fc:06 46137588                   /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
2b815e7e2000-2b815e7e6000 rw-p 00000000 00:00 0 
2b815e7e6000-2b815e7fe000 r-xp 00000000 fc:06 46295260                   /usr/lib/x86_64-linux-gnu/librtmp.so.0
2b815e7fe000-2b815e9fe000 ---p 00018000 fc:06 46295260                   /usr/lib/x86_64-linux-gnu/librtmp.so.0
2b815e9fe000-2b815e9ff000 r--p 00018000 fc:06 46295260                   /usr/lib/x86_64-linux-gnu/librtmp.so.0
2b815e9ff000-2b815ea00000 rw-p 00019000 fc:06 46295260                   /usr/lib/x86_64-linux-gnu/librtmp.so.0
2b815ea00000-2b815ea02000 r-xp 00000000 fc:06 46138196                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2b815ea02000-2b815ec01000 ---p 00002000 fc:06 46138196                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2b815ec01000-2b815ec02000 r--p 00001000 fc:06 46138196                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2b815ec02000-2b815ec03000 rw-p 00002000 fc:06 46138196                   /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0
2b815ec03000-2b815ec08000 r-xp 00000000 fc:06 46138198                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2b815ec08000-2b815ee07000 ---p 00005000 fc:06 46138198                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2b815ee07000-2b815ee08000 r--p 00004000 fc:06 46138198                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2b815ee08000-2b815ee09000 rw-p 00005000 fc:06 46138198                   /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0
2b815ee09000-2b815ee21000 r-xp 00000000 fc:06 46137676                   /lib/x86_64-linux-gnu/libresolv-2.15.so
2b815ee21000-2b815f021000 ---p 00018000 fc:06 46137676                   /lib/x86_64-linux-gnu/libresolv-2.15.so
2b815f021000-2b815f022000 r--p 00018000 fc:06 46137676                   /lib/x86_64-linux-gnu/libresolv-2.15.so
2b815f022000-2b815f023000 rw-p 00019000 fc:06 46137676                   /lib/x86_64-linux-gnu/libresolv-2.15.so
2b815f023000-2b815f025000 rw-p 00000000 00:00 0 
2b815f025000-2b815f03f000 r-xp 00000000 fc:06 46295264                   /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
2b815f03f000-2b815f23e000 ---p 0001a000 fc:06 46295264                   /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
2b815f23e000-2b815f23f000 r--p 00019000 fc:06 46295264                   /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
2b815f23f000-2b815f240000 rw-p 0001a000 fc:06 46295264                   /usr/lib/x86_64-linux-gnu/libsasl2.so.2.0.25
2b815f240000-2b815f27a000 r-xp 00000000 fc:06 46294914                   /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
2b815f27a000-2b815f47a000 ---p 0003a000 fc:06 46294914                   /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
2b815f47a000-2b815f47b000 r--p 0003a000 fc:06 46294914                   /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
2b815f47b000-2b815f47e000 rw-p 0003b000 fc:06 46294914                   /usr/lib/x86_64-linux-gnu/libgssapi.so.3.0.0
2b815f47e000-2b815f532000 r-xp 00000000 fc:06 46294901                   /usr/lib/x86_64-linux-gnu/libgnutls.so.26.21.8
2b815f532000-2b815f732000 ---p 000b4000 fc:06 46294901                   /usr/lib/x86_64-linux-gnu/libgnutls.so.26.21.8
2b815f732000-2b815f738000 r--p 000b4000 fc:06 46294901                   /usr/lib/x86_64-linux-gnu/libgnutls.so.26.21.8
2b815f738000-2b815f739000 rw-p 000ba000 fc:06 46294901                   /usr/lib/x86_64-linux-gnu/libgnutls.so.26.21.8
2b815f739000-2b815f73a000 rw-p 00000000 00:00 0 
2b815f73a000-2b815f7b5000 r-xp 00000000 fc:06 46246134                   /lib/x86_64-linux-gnu/libgcrypt.so.11.7.0
2b815f7b5000-2b815f9b5000 ---p 0007b000 fc:06 46246134                   /lib/x86_64-linux-gnu/libgcrypt.so.11.7.0
2b815f9b5000-2b815f9b6000 r--p 0007b000 fc:06 46246134                   /lib/x86_64-linux-gnu/libgcrypt.so.11.7.0
2b815f9b6000-2b815f9b9000 rw-p 0007c000 fc:06 46246134                   /lib/x86_64-linux-gnu/libgcrypt.so.11.7.0
2b815f9b9000-2b815fa7d000 r-xp 00000000 fc:06 46138212                   /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
2b815fa7d000-2b815fc7c000 ---p 000c4000 fc:06 46138212                   /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
2b815fc7c000-2b815fc86000 r--p 000c3000 fc:06 46138212                   /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
2b815fc86000-2b815fc87000 rw-p 000cd000 fc:06 46138212                   /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3
2b815fc87000-2b815fcac000 r-xp 00000000 fc:06 46138210                   /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
2b815fcac000-2b815feac000 ---p 00025000 fc:06 46138210                   /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
2b815feac000-2b815fead000 r--p 00025000 fc:06 46138210                   /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
2b815fead000-2b815feae000 rw-p 00026000 fc:06 46138210                   /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1
2b815feae000-2b815feaf000 rw-p 00000000 00:00 0 
2b815feaf000-2b815feb2000 r-xp 00000000 fc:06 46137585                   /lib/x86_64-linux-gnu/libcom_err.so.2.1
2b815feb2000-2b81600b1000 ---p 00003000 fc:06 46137585                   /lib/x86_64-linux-gnu/libcom_err.so.2.1
2b81600b1000-2b81600b2000 r--p 00002000 fc:06 46137585                   /lib/x86_64-linux-gnu/libcom_err.so.2.1
2b81600b2000-2b81600b3000 rw-p 00003000 fc:06 46137585                   /lib/x86_64-linux-gnu/libcom_err.so.2.1
2b81600b3000-2b81600ba000 r-xp 00000000 fc:06 46138214                   /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
2b81600ba000-2b81602b9000 ---p 00007000 fc:06 46138214                   /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
2b81602b9000-2b81602ba000 r--p 00006000 fc:06 46138214                   /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
2b81602ba000-2b81602bb000 rw-p 00007000 fc:06 46138214                   /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1
2b81602bb000-2b81602c1000 r-xp 00000000 fc:06 46294972                   /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
2b81602c1000-2b81604c0000 ---p 00006000 fc:06 46294972                   /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
2b81604c0000-2b81604c1000 r--p 00005000 fc:06 46294972                   /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
2b81604c1000-2b81604c2000 rw-p 00006000 fc:06 46294972                   /usr/lib/x86_64-linux-gnu/libheimntlm.so.0.1.0
2b81604c2000-2b8160542000 r-xp 00000000 fc:06 46295004                   /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
2b8160542000-2b8160742000 ---p 00080000 fc:06 46295004                   /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
2b8160742000-2b8160744000 r--p 00080000 fc:06 46295004                   /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
2b8160744000-2b8160748000 rw-p 00082000 fc:06 46295004                   /usr/lib/x86_64-linux-gnu/libkrb5.so.26.0.0
2b8160748000-2b81607e3000 r-xp 00000000 fc:06 46294694                   /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
2b81607e3000-2b81609e2000 ---p 0009b000 fc:06 46294694                   /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
2b81609e2000-2b81609e4000 r--p 0009a000 fc:06 46294694                   /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
2b81609e4000-2b81609e8000 rw-p 0009c000 fc:06 46294694                   /usr/lib/x86_64-linux-gnu/libasn1.so.8.0.0
2b81609e8000-2b8160a19000 r-xp 00000000 fc:06 46294968                   /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
2b8160a19000-2b8160c19000 ---p 00031000 fc:06 46294968                   /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
2b8160c19000-2b8160c1a000 r--p 00031000 fc:06 46294968                   /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
2b8160c1a000-2b8160c1b000 rw-p 00032000 fc:06 46294968                   /usr/lib/x86_64-linux-gnu/libhcrypto.so.4.1.0
2b8160c1b000-2b8160c1c000 rw-p 00000000 00:00 0 
2b8160c1c000-2b8160c30000 r-xp 00000000 fc:06 46295250                   /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
2b8160c30000-2b8160e2f000 ---p 00014000 fc:06 46295250                   /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
2b8160e2f000-2b8160e30000 r--p 00013000 fc:06 46295250                   /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
2b8160e30000-2b8160e31000 rw-p 00014000 fc:06 46295250                   /usr/lib/x86_64-linux-gnu/libroken.so.18.1.0
2b8160e31000-2b8160e41000 r-xp 00000000 fc:06 46295315                   /usr/lib/x86_64-linux-gnu/libtasn1.so.3.1.12
2b8160e41000-2b8161040000 ---p 00010000 fc:06 46295315                   /usr/lib/x86_64-linux-gnu/libtasn1.so.3.1.12
2b8161040000-2b8161041000 r--p 0000f000 fc:06 46295315                   /usr/lib/x86_64-linux-gnu/libtasn1.so.3.1.12
2b8161041000-2b8161042000 rw-p 00010000 fc:06 46295315                   /usr/lib/x86_64-linux-gnu/libtasn1.so.3.1.12
2b8161042000-2b8161053000 r-xp 00000000 fc:06 46295154                   /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
2b8161053000-2b8161252000 ---p 00011000 fc:06 46295154                   /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
2b8161252000-2b8161253000 r--p 00010000 fc:06 46295154                   /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
2b8161253000-2b8161254000 rw-p 00011000 fc:06 46295154                   /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.0.0
2b8161254000-2b8161257000 r-xp 00000000 fc:06 46246136                   /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
2b8161257000-2b8161456000 ---p 00003000 fc:06 46246136                   /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
2b8161456000-2b8161457000 r--p 00002000 fc:06 46246136                   /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
2b8161457000-2b8161458000 rw-p 00003000 fc:06 46246136                   /lib/x86_64-linux-gnu/libgpg-error.so.0.8.0
2b8161458000-2b816145b000 r-xp 00000000 fc:06 46138189                   /lib/x86_64-linux-gnu/libkeyutils.so.1.4
2b816145b000-2b816165a000 ---p 00003000 fc:06 46138189                   /lib/x86_64-linux-gnu/libkeyutils.so.1.4
2b816165a000-2b816165b000 r--p 00002000 fc:06 46138189                   /lib/x86_64-linux-gnu/libkeyutils.so.1.4
2b816165b000-2b816165c000 rw-p 00003000 fc:06 46138189                   /lib/x86_64-linux-gnu/libkeyutils.so.1.4
2b816165c000-2b8161684000 r-xp 00000000 fc:06 46295350                   /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
2b8161684000-2b8161883000 ---p 00028000 fc:06 46295350                   /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
2b8161883000-2b8161884000 r--p 00027000 fc:06 46295350                   /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
2b8161884000-2b8161885000 rw-p 00028000 fc:06 46295350                   /usr/lib/x86_64-linux-gnu/libwind.so.0.0.0
2b8161885000-2b8161893000 r-xp 00000000 fc:06 46294970                   /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
2b8161893000-2b8161a92000 ---p 0000e000 fc:06 46294970                   /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
2b8161a92000-2b8161a93000 r--p 0000d000 fc:06 46294970                   /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
2b8161a93000-2b8161a94000 rw-p 0000e000 fc:06 46294970                   /usr/lib/x86_64-linux-gnu/libheimbase.so.1.0.0
2b8161a94000-2b8161ad9000 r-xp 00000000 fc:06 46294976                   /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
2b8161ad9000-2b8161cd9000 ---p 00045000 fc:06 46294976                   /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
2b8161cd9000-2b8161cdb000 r--p 00045000 fc:06 46294976                   /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
2b8161cdb000-2b8161cdd000 rw-p 00047000 fc:06 46294976                   /usr/lib/x86_64-linux-gnu/libhx509.so.5.0.0
2b8161cdd000-2b8161cde000 rw-p 00000000 00:00 0 
2b8161cde000-2b8161d7c000 r-xp 00000000 fc:06 46295271                   /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
2b8161d7c000-2b8161f7c000 ---p 0009e000 fc:06 46295271                   /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
2b8161f7c000-2b8161f7e000 r--p 0009e000 fc:06 46295271                   /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
2b8161f7e000-2b8161f80000 rw-p 000a0000 fc:06 46295271                   /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6
2b8161f80000-2b8161f81000 rw-p 00000000 00:00 0 
2b8161f81000-2b8161f8a000 r-xp 00000000 fc:06 46137586                   /lib/x86_64-linux-gnu/libcrypt-2.15.so
2b8161f8a000-2b816218a000 ---p 00009000 fc:06 46137586                   /lib/x86_64-linux-gnu/libcrypt-2.15.so
2b816218a000-2b816218b000 r--p 00009000 fc:06 46137586                   /lib/x86_64-linux-gnu/libcrypt-2.15.so
2b816218b000-2b816218c000 rw-p 0000a000 fc:06 46137586                   /lib/x86_64-linux-gnu/libcrypt-2.15.so
2b816218c000-2b81621ba000 rw-p 00000000 00:00 0 
2b81621ba000-2b81621bb000 ---p 00000000 00:00 0 
2b81621bb000-2b81623bb000 rw-p 00000000 00:00 0                          [stack:7034]
2b81623bb000-2b81623bc000 ---p 00000000 00:00 0 
2b81623bc000-2b81625bc000 rw-p 00000000 00:00 0 
2b816385b000-2b816385c000 ---p 00000000 00:00 0 
2b816385c000-2b8163a5c000 rw-p 00000000 00:00 0 
2b8163a5c000-2b8163a5d000 ---p 00000000 00:00 0 
2b8163a5d000-2b8163c5d000 rw-p 00000000 00:00 0 
2b8163c5d000-2b8163c5e000 ---p 00000000 00:00 0 
2b8163c5e000-2b8163e5e000 rw-p 00000000 00:00 0 
2b8164000000-2b8164227000 rw-p 00000000 00:00 0 
2b8164227000-2b8168000000 ---p 00000000 00:00 0 
2b8168000000-2b816a105000 rw-p 00000000 00:00 0 
2b816a105000-2b816c000000 ---p 00000000 00:00 0 
2b816c000000-2b816c021000 rw-p 00000000 00:00 0 
2b816c021000-2b8170000000 ---p 00000000 00:00 0 
2b8170000000-2b8170234000 rw-p 00000000 00:00 0 
2b8170234000-2b8174000000 ---p 00000000 00:00 0 
2b8174000000-2b8174021000 rw-p 00000000 00:00 0 
2b8174021000-2b8178000000 ---p 00000000 00:00 0 
2b8178000000-2b8178001000 ---p 00000000 00:00 0 
2b8178001000-2b8178201000 rw-p 00000000 00:00 0 
2b8178201000-2b8178202000 ---p 00000000 00:00 0 
2b8178202000-2b8178402000 rw-p 00000000 00:00 0                          [stack:3365]
2b8178402000-2b8178403000 ---p 00000000 00:00 0 
2b8178403000-2b8178603000 rw-p 00000000 00:00 0                          [stack:3366]
2b8178603000-2b8178604000 ---p 00000000 00:00 0 
2b8178604000-2b8178804000 rw-p 00000000 00:00 0                          [stack:3367]
2b8178804000-2b8178805000 ---p 00000000 00:00 0 
2b8178805000-2b8178a05000 rw-p 00000000 00:00 0                          [stack:3368]
2b817c000000-2b817c183000 rw-p 00000000 00:00 0 
2b817c183000-2b8180000000 ---p 00000000 00:00 0 
7ffff8fbc000-7ffff8fde000 rw-p 00000000 00:00 0                          [stack]
7ffff8ffe000-7ffff9000000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
./scripts/run_tests.sh: line 32: 13016 Aborted                 (core dumped) ${CMD}

@jfirebaugh
Copy link
Contributor Author

Another job in the same build hung in the same suite:

https://travis-ci.org/mapbox/mapbox-gl-native/jobs/87673344

@jfirebaugh
Copy link
Contributor Author

A third job in the same build crashed in HTTP tests:

[ RUN      ] Storage.HTTPReading
./scripts/run_tests.sh: line 32: 12888 Segmentation fault      (core dumped) ${CMD}
make[1]: *** [test-*] Error 139
make[1]: Leaving directory `/home/travis/build/mapbox/mapbox-gl-native'
make: *** [test-*] Error 2

https://travis-ci.org/mapbox/mapbox-gl-native/jobs/87673345

@jfirebaugh
Copy link
Contributor Author

Got debug backtraces for the HTTPReading crash:

Program received signal SIGSEGV, Segmentation fault.
0x000000000100db88 in ?? ()
Thread 123 (Thread 0x2aaab1da0700 (LWP 13322)):
#0  0x00002aaaaacde9fa in __lll_unlock_wake () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00002aaaaacdb104 in _L_unlock_644 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00002aaaaacdb063 in pthread_mutex_unlock () from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x000000000042e44e in __gthread_mutex_unlock(pthread_mutex_t*) () at /usr/include/x86_64-linux-gnu/c++/4.9/bits/gthr-default.h:778
#4  0x000000000042fc4f in std::mutex::unlock() () at /usr/include/c++/4.9/mutex:153
#5  0x0000000000432162 in std::lock_guard<std::mutex>::~lock_guard() () at /usr/include/c++/4.9/mutex:383
#6  0x00000000007797df in mbgl::Request::notify(std::shared_ptr<mbgl::Response const> const&) () at ../../src/mbgl/storage/request.cpp:52
#7  0x0000000000768584 in mbgl::DefaultFileSource::Impl::notify(mbgl::DefaultFileRequest*, std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint) () at ../../src/mbgl/storage/default_file_source.cpp:228
#8  0x00000000007680da in mbgl::DefaultFileSource::Impl::startRealRequest(mbgl::DefaultFileRequest*, std::shared_ptr<mbgl::Response const>)::{lambda(std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint)#1}::operator()(std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint) const () at ../../src/mbgl/storage/default_file_source.cpp:184
#9  0x0000000000768e0a in std::_Function_handler<void (std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint), mbgl::DefaultFileSource::Impl::startRealRequest(mbgl::DefaultFileRequest*, std::shared_ptr<mbgl::Response const>)::{lambda(std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint) () at /usr/include/c++/4.9/functional:2039
#10 0x0000000000911c37 in std::function<void (std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint)>::operator()(std::shared_ptr<mbgl::Response const>, mbgl::FileCache::Hint) const () at /usr/include/c++/4.9/functional:2439
#11 0x0000000000910490 in mbgl::HTTPCURLRequest::finish(mbgl::ResponseStatus) () at ../../platform/default/http_request_curl.cpp:620
#12 0x000000000091098c in mbgl::HTTPCURLRequest::handleResult(CURLcode) () at ../../platform/default/http_request_curl.cpp:686
#13 0x000000000090e9ec in mbgl::HTTPCURLContext::checkMultiInfo() () at ../../platform/default/http_request_curl.cpp:238
#14 0x000000000090ebd9 in mbgl::HTTPCURLContext::perform(uv_poll_s*, int, int) () at ../../platform/default/http_request_curl.cpp:266
#15 0x000000000097543e in uv__io_poll (loop=0x2aaab4001930, timeout=1000) at src/unix/linux-core.c:345
#16 0x0000000000969523 in uv_run (loop=0x2aaab4001930, mode=UV_RUN_DEFAULT) at src/unix/core.c:341
#17 0x0000000000431129 in uv::loop::run() () at ../../src/mbgl/util/uv_detail.hpp:70
#18 0x000000000076db33 in _ZN4mbgl4util6ThreadINS_17DefaultFileSource4ImplEE3runISt5tupleIJRPNS_9FileCacheERKSsEEJLm0ELm1EEEEvNS0_13ThreadContextEOT_St16integer_sequenceImJXspT0_EEE () at ../../src/mbgl/util/thread.hpp:125
#19 0x000000000076b889 in _ZZN4mbgl4util6ThreadINS_17DefaultFileSource4ImplEEC4IIRPNS_9FileCacheERKSsEEERKNS0_13ThreadContextEDpOT_ENKUlvE_clEv () at ../../src/mbgl/util/thread.hpp:104
#20 0x0000000000776b38 in _ZNSt12_Bind_simpleIFZN4mbgl4util6ThreadINS0_17DefaultFileSource4ImplEEC4IJRPNS0_9FileCacheERKSsEEERKNS1_13ThreadContextEDpOT_EUlvE_vEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE () at /usr/include/c++/4.9/functional:1700
#21 0x0000000000776706 in _ZNSt12_Bind_simpleIFZN4mbgl4util6ThreadINS0_17DefaultFileSource4ImplEEC4IJRPNS0_9FileCacheERKSsEEERKNS1_13ThreadContextEDpOT_EUlvE_vEEclEv () at /usr/include/c++/4.9/functional:1688
#22 0x000000000077629d in _ZNSt6thread5_ImplISt12_Bind_simpleIFZN4mbgl4util6ThreadINS2_17DefaultFileSource4ImplEEC4IJRPNS2_9FileCacheERKSsEEERKNS3_13ThreadContextEDpOT_EUlvE_vEEE6_M_runEv () at /usr/include/c++/4.9/thread:115
#23 0x00002aaaac2ff490 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#24 0x00002aaaaacd7e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#25 0x00002aaaacbcb2ed in clone () from /lib/x86_64-linux-gnu/libc.so.6
#26 0x0000000000000000 in ?? ()
Thread 11 (Thread 0x2aaacc401700 (LWP 13018)):
#0  0x00002aaaaacdbd84 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000972fa9 in uv_cond_wait (cond=<optimized out>, mutex=<optimized out>) at src/unix/thread.c:380
#2  0x0000000000966ebc in worker (arg=<optimized out>) at src/threadpool.c:75
#3  0x0000000000972a8f in uv__thread_start (arg=<optimized out>) at src/unix/thread.c:49
#4  0x00002aaaaacd7e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00002aaaacbcb2ed in clone () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 10 (Thread 0x2aaacc200700 (LWP 13017)):
#0  0x00002aaaaacdbd84 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000972fa9 in uv_cond_wait (cond=<optimized out>, mutex=<optimized out>) at src/unix/thread.c:380
#2  0x0000000000966ebc in worker (arg=<optimized out>) at src/threadpool.c:75
#3  0x0000000000972a8f in uv__thread_start (arg=<optimized out>) at src/unix/thread.c:49
#4  0x00002aaaaacd7e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00002aaaacbcb2ed in clone () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 9 (Thread 0x2aaab3e46700 (LWP 13016)):
#0  0x00002aaaaacdbd84 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000972fa9 in uv_cond_wait (cond=<optimized out>, mutex=<optimized out>) at src/unix/thread.c:380
#2  0x0000000000966ebc in worker (arg=<optimized out>) at src/threadpool.c:75
#3  0x0000000000972a8f in uv__thread_start (arg=<optimized out>) at src/unix/thread.c:49
#4  0x00002aaaaacd7e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00002aaaacbcb2ed in clone () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 8 (Thread 0x2aaab3c45700 (LWP 13015)):
#0  0x00002aaaaacdbd84 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000972fa9 in uv_cond_wait (cond=<optimized out>, mutex=<optimized out>) at src/unix/thread.c:380
#2  0x0000000000966ebc in worker (arg=<optimized out>) at src/threadpool.c:75
#3  0x0000000000972a8f in uv__thread_start (arg=<optimized out>) at src/unix/thread.c:49
#4  0x00002aaaaacd7e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00002aaaacbcb2ed in clone () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000000000000000 in ?? ()
Thread 1 (Thread 0x2aaaaaaf35c0 (LWP 13005)):
#0  0x000000000100db88 in ?? ()
#1  0x00000000005c90d9 in Storage_HTTPReading_Test::TestBody()::{lambda(mbgl::Response const&)#2}::operator()(mbgl::Response const&) const () at ../../test/storage/http_reading.cpp:38
#2  0x00000000005cb47f in std::_Function_handler<void (mbgl::Response const&), Storage_HTTPReading_Test::TestBody()::{lambda(mbgl::Response const&)#2}>::_M_invoke(std::_Any_data const&, mbgl::Response const&) () at /usr/include/c++/4.9/functional:2039
#3  0x000000000077a050 in std::function<void (mbgl::Response const&)>::operator()(mbgl::Response const&) const () at /usr/include/c++/4.9/functional:2439
#4  0x0000000000779637 in mbgl::Request::notifyCallback() () at ../../src/mbgl/storage/request.cpp:34
#5  0x0000000000779416 in _ZZN4mbgl7RequestC4ERKNS_8ResourceEP9uv_loop_sSt8functionIFvRKNS_8ResponseEEEENKUlvE_clEv () at ../../src/mbgl/storage/request.cpp:15
#6  0x0000000000779c21 in _ZNSt17_Function_handlerIFvvEZN4mbgl7RequestC4ERKNS1_8ResourceEP9uv_loop_sSt8functionIFvRKNS1_8ResponseEEEEUlvE_E9_M_invokeERKSt9_Any_data () at /usr/include/c++/4.9/functional:2039
#7  0x0000000000433a3d in std::function<void ()>::operator()() const () at /usr/include/c++/4.9/functional:2439
#8  0x00000000005d4689 in uv::async::async_cb(uv_async_s*) () at ../../src/mbgl/util/uv_detail.hpp:131
#9  0x0000000000968acd in uv__async_event (loop=0xfd7b60, w=<optimized out>, nevents=<optimized out>) at src/unix/async.c:92
#10 0x0000000000968c29 in uv__async_io (loop=0xfd7b60, w=0xfd7d28, events=<optimized out>) at src/unix/async.c:132
#11 0x000000000097543e in uv__io_poll (loop=0xfd7b60, timeout=-1) at src/unix/linux-core.c:345
#12 0x0000000000969523 in uv_run (loop=0xfd7b60, mode=UV_RUN_DEFAULT) at src/unix/core.c:341
#13 0x00000000005ca693 in Storage_HTTPReading_Test::TestBody() () at ../../test/storage/http_reading.cpp:66
#14 0x000000000095ff63 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#15 0x000000000094ff71 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#16 0x0000000000938745 in testing::Test::Run() ()
#17 0x00000000009393cb in testing::TestInfo::Run() ()
#18 0x0000000000939b17 in testing::TestCase::Run() ()
#19 0x00000000009413c2 in testing::internal::UnitTestImpl::RunAllTests() ()
#20 0x000000000095bff3 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#21 0x00000000009522f1 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#22 0x000000000094107b in testing::UnitTest::Run() ()
#23 0x000000000042e294 in RUN_ALL_TESTS() () at /home/travis/build/mapbox/mapbox-gl-native/mason_packages/linux-x86_64/gtest/1.7.0/include/gtest/gtest.h:20058
#24 0x000000000042e1be in main () at ../../test/fixtures/main.cpp:5
make[1]: *** [test-*] Error 255
make[1]: Leaving directory `/home/travis/build/mapbox/mapbox-gl-native'
make: *** [test-*] Error 2

@jfirebaugh
Copy link
Contributor Author

I'm able to reproduce this in a 12.04 VM. Valgrind says:

==17083== Use of uninitialised value of size 8
==17083==    at 0x5C90D7: _ZZN24Storage_HTTPReading_Test8TestBodyEvENKUlRKN4mbgl8ResponseEE0_clES3_ (http_reading.cpp:38)
==17083==    by 0x5CB47E: _ZNSt17_Function_handlerIFvRKN4mbgl8ResponseEEZN24Storage_HTTPReading_Test8TestBodyEvEUlS3_E0_E9_M_invokeERKSt9_Any_dataS3_ (functional:2039)
==17083==    by 0x66A89B: std::function<void ()(mbgl::Response const&)>::operator()(mbgl::Response const&) const (functional:2439)
==17083==    by 0x669E82: mbgl::Request::notifyCallback() (request.cpp:34)
==17083==    by 0x669C61: _ZZN4mbgl7RequestC4ERKNS_8ResourceEP9uv_loop_sSt8functionIFvRKNS_8ResponseEEEENKUlvE_clEv (request.cpp:15)
==17083==    by 0x66A46C: _ZNSt17_Function_handlerIFvvEZN4mbgl7RequestC4ERKNS1_8ResourceEP9uv_loop_sSt8functionIFvRKNS1_8ResponseEEEEUlvE_E9_M_invokeERKSt9_Any_data (functional:2039)
==17083==    by 0x433A3C: std::function<void ()()>::operator()() const (functional:2439)
==17083==    by 0x5D4688: uv::async::async_cb(uv_async_s*) (uv_detail.hpp:131)
==17083==    by 0x968AEC: uv__async_event (async.c:92)
==17083==    by 0x968C48: uv__async_io (async.c:132)
==17083==    by 0x97545D: uv__io_poll (linux-core.c:345)
==17083==    by 0x969542: uv_run (core.c:341)
==17083==    by 0x5CA692: Storage_HTTPReading_Test::TestBody() (http_reading.cpp:66)
==17083==    by 0x95FF82: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x94FF90: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x938764: testing::Test::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x9393EA: testing::TestInfo::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x939B36: testing::TestCase::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x9413E1: testing::internal::UnitTestImpl::RunAllTests() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x95C012: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x952310: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x94109A: testing::UnitTest::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x42E293: RUN_ALL_TESTS() (gtest.h:20058)
==17083==    by 0x42E1BD: main (main.cpp:5)
==17083== 
==17083== Jump to the invalid address stated on the next line
==17083==    at 0x0: ???
==17083==    by 0x5CB47E: _ZNSt17_Function_handlerIFvRKN4mbgl8ResponseEEZN24Storage_HTTPReading_Test8TestBodyEvEUlS3_E0_E9_M_invokeERKSt9_Any_dataS3_ (functional:2039)
==17083==    by 0x66A89B: std::function<void ()(mbgl::Response const&)>::operator()(mbgl::Response const&) const (functional:2439)
==17083==    by 0x669E82: mbgl::Request::notifyCallback() (request.cpp:34)
==17083==    by 0x669C61: _ZZN4mbgl7RequestC4ERKNS_8ResourceEP9uv_loop_sSt8functionIFvRKNS_8ResponseEEEENKUlvE_clEv (request.cpp:15)
==17083==    by 0x66A46C: _ZNSt17_Function_handlerIFvvEZN4mbgl7RequestC4ERKNS1_8ResourceEP9uv_loop_sSt8functionIFvRKNS1_8ResponseEEEEUlvE_E9_M_invokeERKSt9_Any_data (functional:2039)
==17083==    by 0x433A3C: std::function<void ()()>::operator()() const (functional:2439)
==17083==    by 0x5D4688: uv::async::async_cb(uv_async_s*) (uv_detail.hpp:131)
==17083==    by 0x968AEC: uv__async_event (async.c:92)
==17083==    by 0x968C48: uv__async_io (async.c:132)
==17083==    by 0x97545D: uv__io_poll (linux-core.c:345)
==17083==    by 0x969542: uv_run (core.c:341)
==17083==    by 0x5CA692: Storage_HTTPReading_Test::TestBody() (http_reading.cpp:66)
==17083==    by 0x95FF82: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x94FF90: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x938764: testing::Test::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x9393EA: testing::TestInfo::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x939B36: testing::TestCase::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x9413E1: testing::internal::UnitTestImpl::RunAllTests() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x95C012: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x952310: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x94109A: testing::UnitTest::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x42E293: RUN_ALL_TESTS() (gtest.h:20058)
==17083==    by 0x42E1BD: main (main.cpp:5)
==17083==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==17083== 
==17083== 
==17083== Process terminating with default action of signal 11 (SIGSEGV)
==17083==  Bad permissions for mapped region at address 0x0
==17083==    at 0x0: ???
==17083==    by 0x5CB47E: _ZNSt17_Function_handlerIFvRKN4mbgl8ResponseEEZN24Storage_HTTPReading_Test8TestBodyEvEUlS3_E0_E9_M_invokeERKSt9_Any_dataS3_ (functional:2039)
==17083==    by 0x66A89B: std::function<void ()(mbgl::Response const&)>::operator()(mbgl::Response const&) const (functional:2439)
==17083==    by 0x669E82: mbgl::Request::notifyCallback() (request.cpp:34)
==17083==    by 0x669C61: _ZZN4mbgl7RequestC4ERKNS_8ResourceEP9uv_loop_sSt8functionIFvRKNS_8ResponseEEEENKUlvE_clEv (request.cpp:15)
==17083==    by 0x66A46C: _ZNSt17_Function_handlerIFvvEZN4mbgl7RequestC4ERKNS1_8ResourceEP9uv_loop_sSt8functionIFvRKNS1_8ResponseEEEEUlvE_E9_M_invokeERKSt9_Any_data (functional:2039)
==17083==    by 0x433A3C: std::function<void ()()>::operator()() const (functional:2439)
==17083==    by 0x5D4688: uv::async::async_cb(uv_async_s*) (uv_detail.hpp:131)
==17083==    by 0x968AEC: uv__async_event (async.c:92)
==17083==    by 0x968C48: uv__async_io (async.c:132)
==17083==    by 0x97545D: uv__io_poll (linux-core.c:345)
==17083==    by 0x969542: uv_run (core.c:341)
==17083==    by 0x5CA692: Storage_HTTPReading_Test::TestBody() (http_reading.cpp:66)
==17083==    by 0x95FF82: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x94FF90: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x938764: testing::Test::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x9393EA: testing::TestInfo::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x939B36: testing::TestCase::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x9413E1: testing::internal::UnitTestImpl::RunAllTests() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x95C012: bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x952310: bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x94109A: testing::UnitTest::Run() (in /home/john/mapbox-gl-native/build/linux-x86_64/Debug/test)
==17083==    by 0x42E293: RUN_ALL_TESTS() (gtest.h:20058)
==17083==    by 0x42E1BD: main (main.cpp:5)

@jfirebaugh
Copy link
Contributor Author

The vtable for the DefaultFileSource is being corrupted. Using a watchpoint, I was able to tell where:

#0  0x0000000000969030 in uv_async_init (loop=0xfd8c60, handle=0x100a340, async_cb=0x5d48b3 <uv::async::async_cb(uv_async_s*)>) at src/unix/async.c:49
#1  0x00000000005d47c8 in uv::async::async(uv_loop_s*, std::function<void ()>) () at ../../src/mbgl/util/uv_detail.hpp:118
#2  0x000000000066a5c4 in _ZSt11make_uniqueIN2uv5asyncEIRP9uv_loop_sZN4mbgl7RequestC4ERKNS5_8ResourceES3_St8functionIFvRKNS5_8ResponseEEEEUlvE_EENSt9_MakeUniqIT_E15__single_objectEDpOT0_ ()
    at /usr/include/c++/4.9/bits/unique_ptr.h:765
#3  0x000000000066a063 in mbgl::Request::Request(mbgl::Resource const&, uv_loop_s*, std::function<void (mbgl::Response const&)>) () at ../../src/mbgl/storage/request.cpp:17
#4  0x0000000000659f55 in mbgl::DefaultFileSource::request(mbgl::Resource const&, uv_loop_s*, std::function<void (mbgl::Response const&)>) () at ../../src/mbgl/storage/default_file_source.cpp:73
#5  0x00000000005ca5ed in Storage_HTTPReading_Test::TestBody() () at ../../test/storage/http_reading.cpp:39
#6  0x0000000000960303 in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#7  0x0000000000950311 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) ()
#8  0x0000000000938ae5 in testing::Test::Run() ()
#9  0x000000000093976b in testing::TestInfo::Run() ()
#10 0x0000000000939eb7 in testing::TestCase::Run() ()
#11 0x0000000000941762 in testing::internal::UnitTestImpl::RunAllTests() ()
#12 0x000000000095c393 in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#13 0x0000000000952691 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) ()
#14 0x000000000094141b in testing::UnitTest::Run() ()
#15 0x000000000042e2e4 in RUN_ALL_TESTS() () at /home/john/mapbox-gl-native/mason_packages/linux-x86_64/gtest/1.7.0/include/gtest/gtest.h:20058
#16 0x000000000042e20e in main () at ../../test/fixtures/main.cpp:5

Possibly a libuv header / library mismatch or something. I'm going to try bisecting.

@mikemorris
Copy link
Contributor

I was seeing a libuv header mismatch in #2688 if that's relevant.

@jfirebaugh
Copy link
Contributor Author

Bisect lands on 32c0fb4.

@jfirebaugh
Copy link
Contributor Author

This was indeed caused by 32c0fb4.

The test added there creates some uv_timer handles on the stack that are never closed with uv_close. Therefore they remain in the default loop's handle queue into the next test, and cause stack corruption when new handles are created in the next test. libuv uses a linked list of handles internally, and tries to update prev/next pointers on the old locations of the timers, memory which is now used for other stack data.

We should always use the uv::* wrappers, and avoid raw uv_* handles or functions because they are difficult to use correctly.

cc @kkaefer

@jfirebaugh jfirebaugh merged commit 4ef2bcc into master Oct 28, 2015
@jfirebaugh jfirebaugh deleted the debug-crash branch October 28, 2015 01:15
@kkaefer
Copy link
Member

kkaefer commented Oct 28, 2015

D'oh, thought about that but totally missed that I have to call uv_close... Thanks!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants