Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-17626

Crash when importing with an invalid geojson object

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.0.1
    • Component/s: Geo
    • Labels:
      None
    • Fully Compatible
    • ALL

      When inserting an invalid object (sorry, I haven't had the time yet to find which one), I am getting a crash, and mongod shutdown with the following log:

      2015-03-17T00:07:02.460+0000 I QUERY    [conn1] getmore cache_demo.nodecache cursorid:567361649848 ntoreturn:0 keyUpdates:0 writeConflicts:0 numYields:69 nreturned:7645 reslen:366980 locks:{} 820ms
      2015-03-17T00:07:05.523+0000 I CONTROL  [conn1]
       0xf42359 0xeec481 0xfe9e89 0x100c644 0x100c938 0x100ca87 0xa57d2a 0xa596ef 0xa500c9 0xa51d91 0xa8bc1d 0xa8d8b1 0xa7126c 0x90552e 0x905875 0x8f34f0 0x8f3c6c 0xa9d40e 0xa9d978 0xa9e872 0xaa11c0 0x7e7590 0xf0040b 0x7f690972b0a4 0x7f6908831ccd
      ----- BEGIN BACKTRACE -----
      {"backtrace":[{"b":"400000","o":"B42359"},{"b":"400000","o":"AEC481"},{"b":"400000","o":"BE9E89"},{"b":"400000","o":"C0C644"},{"b":"400000","o":"C0C938"},{"b":"400000","o":"C0CA87"},{"b":"400000","o":"657D2A"},{"b":"400000","o":"6596EF"},{"b":"400000","o":"6500C9"},{"b":"400000","o":"651D91"},{"b":"400000","o":"68BC1D"},{"b":"400000","o":"68D8B1"},{"b":"400000","o":"67126C"},{"b":"400000","o":"50552E"},{"b":"400000","o":"505875"},{"b":"400000","o":"4F34F0"},{"b":"400000","o":"4F3C6C"},{"b":"400000","o":"69D40E"},{"b":"400000","o":"69D978"},{"b":"400000","o":"69E872"},{"b":"400000","o":"6A11C0"},{"b":"400000","o":"3E7590"},{"b":"400000","o":"B0040B"},{"b":"7F6909723000","o":"80A4"},{"b":"7F690874C000","o":"E5CCD"}],"processInfo":{ "mongodbVersion" : "3.0.0", "gitVersion" : "a841fd6394365954886924a35076691b4d149168", "uname" : { "sysname" : "Linux", "release" : "3.16.0-4-amd64", "version" : "#1 SMP Debian 3.16.7-2 (2014-11-06)", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000" }, { "b" : "7FFF501A5000", "path" : "linux-vdso.so.1", "elfType" : 3 }, { "b" : "7F6909723000", "path" : "/lib/x86_64-linux-gnu/libpthread.so.0", "elfType" : 3 }, { "b" : "7F690951B000", "path" : "/lib/x86_64-linux-gnu/librt.so.1", "elfType" : 3 }, { "b" : "7F6909317000", "path" : "/lib/x86_64-linux-gnu/libdl.so.2", "elfType" : 3 }, { "b" : "7F690900C000", "path" : "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", "elfType" : 3 }, { "b" : "7F6908D0B000", "path" : "/lib/x86_64-linux-gnu/libm.so.6", "elfType" : 3 }, { "b" : "7F6908AF5000", "path" : "/lib/x86_64-linux-gnu/libgcc_s.so.1", "elfType" : 3 }, { "b" : "7F690874C000", "path" : "/lib/x86_64-linux-gnu/libc.so.6", "elfType" : 3 }, { "b" : "7F6909940000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3 } ] }}
       mongod(_ZN5mongo15printStackTraceERSo+0x29) [0xf42359]
       mongod(_ZN5mongo10logContextEPKc+0xE1) [0xeec481]
       mongod(_ZN17LogMessageWarningD1Ev+0x19) [0xfe9e89]
       mongod(_ZN6S2Loop10InitOriginEv+0x1D4) [0x100c644]
       mongod(_ZN6S2Loop4InitERKSt6vectorI7Vector3IdESaIS2_EE+0x138) [0x100c938]
       mongod(_ZN6S2LoopC2ERKSt6vectorI7Vector3IdESaIS2_EE+0x117) [0x100ca87]
       mongod(+0x657D2A) [0xa57d2a]
       mongod(_ZN5mongo9GeoParser19parseGeoJSONPolygonERKNS_7BSONObjEPNS_14PolygonWithCRSE+0x2DF) [0xa596ef]
       mongod(_ZN5mongo17GeometryContainer16parseFromGeoJSONERKNS_7BSONObjE+0xBB9) [0xa500c9]
       mongod(_ZN5mongo17GeometryContainer16parseFromStorageERKNS_11BSONElementE+0x181) [0xa51d91]
       mongod(+0x68BC1D) [0xa8bc1d]
       mongod(_ZN5mongo21ExpressionKeysPrivate9getS2KeysERKNS_7BSONObjES3_RKNS_16S2IndexingParamsEPSt3setIS1_NS_10BSONObjCmpESaIS1_EE+0x2A1) [0xa8d8b1]
       mongod(_ZN5mongo22BtreeBasedAccessMethod6insertEPNS_16OperationContextERKNS_7BSONObjERKNS_8RecordIdERKNS_19InsertDeleteOptionsEPl+0xAC) [0xa7126c]
       mongod(_ZN5mongo12IndexCatalog12_indexRecordEPNS_16OperationContextEPNS_17IndexCatalogEntryERKNS_7BSONObjERKNS_8RecordIdE+0x6E) [0x90552e]
       mongod(_ZN5mongo12IndexCatalog11indexRecordEPNS_16OperationContextERKNS_7BSONObjERKNS_8RecordIdE+0x85) [0x905875]
       mongod(_ZN5mongo10Collection15_insertDocumentEPNS_16OperationContextERKNS_7BSONObjEb+0xB0) [0x8f34f0]
       mongod(_ZN5mongo10Collection14insertDocumentEPNS_16OperationContextERKNS_7BSONObjEb+0x8C) [0x8f3c6c]
       mongod(_ZN5mongo14checkAndInsertEPNS_16OperationContextERNS_6Client7ContextEPKcRNS_7BSONObjE+0x13E) [0xa9d40e]
       mongod(_ZN5mongo11insertMultiEPNS_16OperationContextERNS_6Client7ContextEbPKcRSt6vectorINS_7BSONObjESaIS8_EERNS_5CurOpE+0x58) [0xa9d978]
       mongod(_ZN5mongo14receivedInsertEPNS_16OperationContextERNS_7MessageERNS_5CurOpE+0x522) [0xa9e872]
       mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortEb+0x16A0) [0xaa11c0]
       mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0xE0) [0x7e7590]
       mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x32B) [0xf0040b]
       libpthread.so.0(+0x80A4) [0x7f690972b0a4]
       libc.so.6(clone+0x6D) [0x7f6908831ccd]
      -----  END BACKTRACE  -----
      2015-03-17T00:07:05.523+0000 W GEO      [conn1] src/third_party/s2/s2loop.h:117:  Check failed: (i) < ((2 * num_vertices_))
      2015-03-17T00:07:05.523+0000 F -        [conn1] Invalid access at address: 0x18
      2015-03-17T00:07:05.535+0000 F -        [conn1] Got signal: 11 (Segmentation fault).
      
       0xf42359 0xf419d2 0xf41d2e 0x7f69097328d0 0x10046dc 0x1005ec1 0x100c4ba 0x100c938 0x100ca87 0xa57d2a 0xa596ef 0xa500c9 0xa51d91 0xa8bc1d 0xa8d8b1 0xa7126c 0x90552e 0x905875 0x8f34f0 0x8f3c6c 0xa9d40e 0xa9d978 0xa9e872 0xaa11c0 0x7e7590 0xf0040b 0x7f690972b0a4 0x7f6908831ccd
      ----- BEGIN BACKTRACE -----
      {"backtrace":[{"b":"400000","o":"B42359"},{"b":"400000","o":"B419D2"},{"b":"400000","o":"B41D2E"},{"b":"7F6909723000","o":"F8D0"},{"b":"400000","o":"C046DC"},{"b":"400000","o":"C05EC1"},{"b":"400000","o":"C0C4BA"},{"b":"400000","o":"C0C938"},{"b":"400000","o":"C0CA87"},{"b":"400000","o":"657D2A"},{"b":"400000","o":"6596EF"},{"b":"400000","o":"6500C9"},{"b":"400000","o":"651D91"},{"b":"400000","o":"68BC1D"},{"b":"400000","o":"68D8B1"},{"b":"400000","o":"67126C"},{"b":"400000","o":"50552E"},{"b":"400000","o":"505875"},{"b":"400000","o":"4F34F0"},{"b":"400000","o":"4F3C6C"},{"b":"400000","o":"69D40E"},{"b":"400000","o":"69D978"},{"b":"400000","o":"69E872"},{"b":"400000","o":"6A11C0"},{"b":"400000","o":"3E7590"},{"b":"400000","o":"B0040B"},{"b":"7F6909723000","o":"80A4"},{"b":"7F690874C000","o":"E5CCD"}],"processInfo":{ "mongodbVersion" : "3.0.0", "gitVersion" : "a841fd6394365954886924a35076691b4d149168", "uname" : { "sysname" : "Linux", "release" : "3.16.0-4-amd64", "version" : "#1 SMP Debian 3.16.7-2 (2014-11-06)", "machine" : "x86_64" }, "somap" : [ { "elfType" : 2, "b" : "400000" }, { "b" : "7FFF501A5000", "path" : "linux-vdso.so.1", "elfType" : 3 }, { "b" : "7F6909723000", "path" : "/lib/x86_64-linux-gnu/libpthread.so.0", "elfType" : 3 }, { "b" : "7F690951B000", "path" : "/lib/x86_64-linux-gnu/librt.so.1", "elfType" : 3 }, { "b" : "7F6909317000", "path" : "/lib/x86_64-linux-gnu/libdl.so.2", "elfType" : 3 }, { "b" : "7F690900C000", "path" : "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", "elfType" : 3 }, { "b" : "7F6908D0B000", "path" : "/lib/x86_64-linux-gnu/libm.so.6", "elfType" : 3 }, { "b" : "7F6908AF5000", "path" : "/lib/x86_64-linux-gnu/libgcc_s.so.1", "elfType" : 3 }, { "b" : "7F690874C000", "path" : "/lib/x86_64-linux-gnu/libc.so.6", "elfType" : 3 }, { "b" : "7F6909940000", "path" : "/lib64/ld-linux-x86-64.so.2", "elfType" : 3 } ] }}
       mongod(_ZN5mongo15printStackTraceERSo+0x29) [0xf42359]
       mongod(+0xB419D2) [0xf419d2]
       mongod(+0xB41D2E) [0xf41d2e]
       libpthread.so.0(+0xF8D0) [0x7f69097328d0]
       mongod(_ZN8S2LatLngC1ERK7Vector3IdE+0xC) [0x10046dc]
       mongod(_ZNK12S2LatLngRect8ContainsERK7Vector3IdE+0x11) [0x1005ec1]
       mongod(_ZN6S2Loop10InitOriginEv+0x4A) [0x100c4ba]
       mongod(_ZN6S2Loop4InitERKSt6vectorI7Vector3IdESaIS2_EE+0x138) [0x100c938]
       mongod(_ZN6S2LoopC2ERKSt6vectorI7Vector3IdESaIS2_EE+0x117) [0x100ca87]
       mongod(+0x657D2A) [0xa57d2a]
       mongod(_ZN5mongo9GeoParser19parseGeoJSONPolygonERKNS_7BSONObjEPNS_14PolygonWithCRSE+0x2DF) [0xa596ef]
       mongod(_ZN5mongo17GeometryContainer16parseFromGeoJSONERKNS_7BSONObjE+0xBB9) [0xa500c9]
       mongod(_ZN5mongo17GeometryContainer16parseFromStorageERKNS_11BSONElementE+0x181) [0xa51d91]
       mongod(+0x68BC1D) [0xa8bc1d]
       mongod(_ZN5mongo21ExpressionKeysPrivate9getS2KeysERKNS_7BSONObjES3_RKNS_16S2IndexingParamsEPSt3setIS1_NS_10BSONObjCmpESaIS1_EE+0x2A1) [0xa8d8b1]
       mongod(_ZN5mongo22BtreeBasedAccessMethod6insertEPNS_16OperationContextERKNS_7BSONObjERKNS_8RecordIdERKNS_19InsertDeleteOptionsEPl+0xAC) [0xa7126c]
       mongod(_ZN5mongo12IndexCatalog12_indexRecordEPNS_16OperationContextEPNS_17IndexCatalogEntryERKNS_7BSONObjERKNS_8RecordIdE+0x6E) [0x90552e]
       mongod(_ZN5mongo12IndexCatalog11indexRecordEPNS_16OperationContextERKNS_7BSONObjERKNS_8RecordIdE+0x85) [0x905875]
       mongod(_ZN5mongo10Collection15_insertDocumentEPNS_16OperationContextERKNS_7BSONObjEb+0xB0) [0x8f34f0]
       mongod(_ZN5mongo10Collection14insertDocumentEPNS_16OperationContextERKNS_7BSONObjEb+0x8C) [0x8f3c6c]
       mongod(_ZN5mongo14checkAndInsertEPNS_16OperationContextERNS_6Client7ContextEPKcRNS_7BSONObjE+0x13E) [0xa9d40e]
       mongod(_ZN5mongo11insertMultiEPNS_16OperationContextERNS_6Client7ContextEbPKcRSt6vectorINS_7BSONObjESaIS8_EERNS_5CurOpE+0x58) [0xa9d978]
       mongod(_ZN5mongo14receivedInsertEPNS_16OperationContextERNS_7MessageERNS_5CurOpE+0x522) [0xa9e872]
       mongod(_ZN5mongo16assembleResponseEPNS_16OperationContextERNS_7MessageERNS_10DbResponseERKNS_11HostAndPortEb+0x16A0) [0xaa11c0]
       mongod(_ZN5mongo16MyMessageHandler7processERNS_7MessageEPNS_21AbstractMessagingPortEPNS_9LastErrorE+0xE0) [0x7e7590]
       mongod(_ZN5mongo17PortMessageServer17handleIncomingMsgEPv+0x32B) [0xf0040b]
       libpthread.so.0(+0x80A4) [0x7f690972b0a4]
       libc.so.6(clone+0x6D) [0x7f6908831ccd]
      -----  END BACKTRACE  -----
      

      It seems of a similar nature as /SERVER-17241

            Assignee:
            ramon.fernandez@mongodb.com Ramon Fernandez Marina
            Reporter:
            derick Derick Rethans
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: