[SERVER-15014] Server aborts when querying specific polygon/linestring intersections Created: 25/Aug/14  Updated: 24/Nov/14  Resolved: 12/Nov/14

Status: Closed
Project: Core Server
Component/s: Geo
Affects Version/s: 2.4.11, 2.6.4, 2.7.5
Fix Version/s: 2.8.0-rc1

Type: Bug Priority: Major - P3
Reporter: Kamran K. Assignee: Siyuan Zhou
Resolution: Done Votes: 0
Labels: 28qa
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Tested
Backwards Compatibility: Fully Compatible
Operating System: ALL
Participants:

 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



 Comments   
Comment by Githook User [ 12/Nov/14 ]

Author:

{u'username': u'visualzhou', u'name': u'Siyuan Zhou', u'email': u'siyuan.zhou@mongodb.com'}

Message: SERVER-15014 Server aborts when querying specific polygon/linestring intersections
Branch: master
https://github.com/mongodb/mongo/commit/abb646af87f18ff222eb9684bd4e04ccf61987b8

Generated at Thu Feb 08 03:36:40 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.