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

Server aborts when querying specific polygon/linestring intersections

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 2.8.0-rc1
    • 2.4.11, 2.6.4, 2.7.5
    • Geo
    • Fully Compatible
    • ALL

    Description

      This bug affects 2.4.11, 2.6.4, and master.

      Backtrace:

      2014-08-24T22:52:05.264-0400 F          [conn1] src/third_party/s2/s2polygon.cc:961:  Check failed: ((Contains(a1) ^ invert)) == (inside)
      2014-08-24T22:52:05.264-0400 I          [conn1] Fatal Assertion 0
       
      Program received signal SIGTRAP, Trace/breakpoint trap.
      [Switching to Thread 0x7ffff7fcd700 (LWP 9690)]
      0x00007ffff7bcc20b in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
      37	../nptl/sysdeps/unix/sysv/linux/pt-raise.c: No such file or directory.
       
      (gdb) bt
      #0  0x00007ffff7bcc20b in raise (sig=5) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
      #1  0x00000000017a842a in mongo::mongo_breakpoint () at src/mongo/util/debug_util.cpp:58
      #2  0x000000000179ec2c in mongo::breakpoint () at src/mongo/util/debug_util.h:73
      #3  0x000000000179db79 in mongo::fassertFailed (msgid=0) at src/mongo/util/assert_util.cpp:150
      #4  0x00000000018df264 in LogMessageFatal::~LogMessageFatal (this=0x7ffff7fcb890, __in_chrg=<optimized out>) at src/third_party/s2/base/logging.cc:29
      #5  0x000000000190fb83 in S2Polygon::InternalClipPolyline (this=0x2e60080, invert=false, a=0x3695960, out=0x7ffff7fcba00, merge_radius=...) at src/third_party/s2/s2polygon.cc:961
      #6  0x000000000190fff8 in S2Polygon::IntersectWithPolylineSloppy (this=0x2e60080, a=0x3695960, out=0x7ffff7fcba00, vertex_merge_radius=...) at src/third_party/s2/s2polygon.cc:1002
      #7  0x000000000190ffba in S2Polygon::IntersectWithPolyline (this=0x2e60080, a=0x3695960, out=0x7ffff7fcba00) at src/third_party/s2/s2polygon.cc:995
      #8  0x00000000012ff151 in mongo::polygonLineIntersection (line=..., poly=...) at src/mongo/db/geo/geometry_container.cpp:644
      #9  0x00000000012ff31f in mongo::GeometryContainer::intersects (this=0x2e911e0, otherLine=...) at src/mongo/db/geo/geometry_container.cpp:656
      #10 0x00000000012fe3ee in mongo::GeometryContainer::intersects (this=0x2e911e0, otherContainer=...) at src/mongo/db/geo/geometry_container.cpp:511
      #11 0x000000000136a388 in mongo::GeoMatchExpression::matchesSingleElement (this=0x2e86340, e=...) at src/mongo/db/matcher/expression_geo.cpp:364
      #12 0x000000000136bb3d in mongo::LeafMatchExpression::matches (this=0x2e86340, doc=0x7ffff7fcbcc0, details=0x0) at src/mongo/db/matcher/expression_leaf.cpp:55
      #13 0x000000000126eb86 in mongo::Filter::passes (wsm=0x2e91cc0, filter=0x2e86340) at src/mongo/db/exec/filter.h:157
      #14 0x00000000012823c9 in mongo::FetchStage::returnIfMatches (this=0x35644d0, member=0x2e91cc0, memberID=0, out=0x7ffff7fcbe50) at src/mongo/db/exec/fetch.cpp:133
      #15 0x000000000128215b in mongo::FetchStage::work (this=0x35644d0, out=0x7ffff7fcbe50) at src/mongo/db/exec/fetch.cpp:91
      #16 0x0000000001290e0c in mongo::KeepMutationsStage::work (this=0x56da1b0, out=0x7ffff7fcbe50) at src/mongo/db/exec/keep_mutations.cpp:64
      #17 0x000000000148bb4b in mongo::PlanExecutor::getNext (this=0x362e340, objOut=0x7ffff7fcc1b0, dlOut=0x0) at src/mongo/db/query/plan_executor.cpp:132
      #18 0x000000000146beef in mongo::newRunQuery (txn=0x7ffff7fccb70, m=..., q=..., curop=..., result=...) at src/mongo/db/query/new_find.cpp:664
      #19 0x000000000134ecfc in mongo::receivedQuery (txn=0x7ffff7fccb70, c=..., dbresponse=..., m=...) at src/mongo/db/instance.cpp:263
      #20 0x000000000134fdf9 in mongo::assembleResponse (txn=0x7ffff7fccb70, m=..., dbresponse=..., remote=...) at src/mongo/db/instance.cpp:437
      #21 0x000000000108a923 in mongo::MyMessageHandler::process (this=0x2e42190, m=..., port=0x2e5f180, le=0x2e5fb80) at src/mongo/db/db.cpp:198
      #22 0x00000000017c46e5 in mongo::PortMessageServer::handleIncomingMsg (arg=0x2e52540) at src/mongo/util/net/message_server_port.cpp:227
      #23 0x00007ffff7bc4182 in start_thread (arg=0x7ffff7fcd700) at pthread_create.c:312
      #24 0x00007ffff6cc538d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

      Attachments

        Activity

          People

            siyuan.zhou@mongodb.com Siyuan Zhou
            kamran.khan Kamran K.
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: