#4459 closed defect (fixed)
ST_Subdivide can't handle intermediate empties
Reported by: | komzpa | Owned by: | komzpa |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 3.0.0 |
Component: | postgis | Version: | master |
Keywords: | Cc: |
Description
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: файл ці тэчка ня йснуе. (gdb) bt full #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 set = {__val = {0, 140373678436727, 4222451712, 94891443462432, 94891443462533, 94891443462432, 94891443462432, 94891443462547, 94891443462732, 94891443462432, 94891443462732, 0, 0, 0, 0, 0}} pid = <optimized out> tid = <optimized out> ret = <optimized out> #1 0x00007fab4b36d535 in __GI_abort () at abort.c:79 save_stage = 1 act = {__sigaction_handler = {sa_handler = 0x564da2b995a0, sa_sigaction = 0x564da2b995a0}, sa_mask = {__val = {0, 94891443462432, 2, 0, 0, 0, 21474836480, 140720557150632, 140720557150480, 140373693094572, 140373693094572, 0, 8470279566131323136, 140373679634919, 0, 140373693094572}}, sa_flags = -1298734224, sa_restorer = 0x7fa9b296e3c6} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x00007fab4b36d40f in __assert_fail_base (fmt=0x7fab4c1cdaac <error: Cannot access memory at address 0x7fab4c1cdaac>, assertion=0x7fa9b296e3c6 "original", file=0x7fa9b296e370 "gbox.c", line=436, function=<optimized out>) at assert.c:92 str = 0x564da2b995a0 "\200T¢MV" total = 4096 #3 0x00007fab4b37d012 in __GI___assert_fail (assertion=assertion@entry=0x7fa9b296e3c6 "original", file=file@entry=0x7fa9b296e370 "gbox.c", line=line@entry=436, function=function@entry=0x7fa9b296e548 <__PRETTY_FUNCTION__.7057> "gbox_duplicate") at assert.c:101 No locals. #4 0x00007fa9b2928acb in gbox_duplicate (original=0x0, duplicate=0x7ffc0ed252c0) at gbox.c:436 __PRETTY_FUNCTION__ = "gbox_duplicate" #5 gbox_duplicate (original=<optimized out>, duplicate=duplicate@entry=0x7ffc0ed252c0) at gbox.c:433 __PRETTY_FUNCTION__ = "gbox_duplicate" #6 0x00007fa9b28ffc77 in lwgeom_subdivide_recursive (geom=0x564da2c5b288, dimension=dimension@entry=2 '\002', maxvertices=maxvertices@entry=100, depth=depth@entry=0, col=col@entry=0x564da2beccd0) at lwgeom.c:2232 clip = {flags = 4, xmin = 0, xmax = 0, ymin = 2.0158960018122612e-312, ymax = 2.5251749917921463e-312, zmin = 2.7373745709578427e-312, zmax = 0, mmin = 4.6882601095344916e-310, mmax = 6.9353812796376515e-310} subbox1 = {flags = 46352, xmin = 1.0113523770370317e-320, xmax = 1.0118464426828729e-320, ymin = 6.2746337021838311e-322, ymax = -nan(0xfffffffffff28), zmin = 4.3477776834029696e-322, zmax = 4.6882602236743276e-310, mmin = 6.9353812123444778e-310, mmax = 4.6882601265465552e-310} subbox2 = {flags = 21408, xmin = 4.6882601708978401e-310, xmax = 1.5810100666919889e-322, ymin = 4.6882584275899755e-310, ymax = 4.6882601708978401e-310, zmin = 1.1857575500189917e-322, zmax = 1.8774494541967369e-322, mmin = 4.6882602308038925e-310, mmax = 6.9525192952031863e-310} nvertices = 0 i = <optimized out> split_ordinate = <optimized out> width = <optimized out> height = <optimized out> pivot = 1.7976931348623157e+308 center = 1.7976931348623157e+308 lwpoly = 0x0 __func__ = "lwgeom_subdivide_recursive" #7 0x00007fa9b28ffdac in lwgeom_subdivide_recursive (geom=geom@entry=0x564da2b56920, dimension=<optimized out>, maxvertices=maxvertices@entry=100, depth=depth@entry=0, col=col@entry=0x564da2beccd0) at lwgeom.c:2266 incol = <optimized out> clip = {flags = 4, xmin = 3728985.5, xmax = 3732474.75, ymin = 7425804.5, ymax = 7429196, zmin = 4.6882601987840909e-310, zmax = 6.9350991781679939e-310, mmin = 4.6882601709112787e-310, mmax = 4.6882601897529661e-310} subbox1 = {flags = 128, xmin = 4.6882602236312451e-310, xmax = 4.6882601709168122e-310, ymin = 6.9350424646078807e-310, ymax = 4.6882601708978401e-310, zmin = 3.5572726500569751e-322, zmax = 6.9525192952213679e-310, mmin = 1.9762625833649862e-323, mmax = 4.6882601708978401e-310} subbox2 = {flags = 3857, xmin = 3.4584595208887258e-323, xmax = 6.9525192952189964e-310, ymin = 4.68825842874935e-310, ymax = 4.6882602013188453e-310, zmin = 0, zmax = 0, mmin = 6.9350424522132558e-310, mmax = 1.9056111960096879e-320} nvertices = 0 i = 0 split_ordinate = <optimized out> width = <optimized out> height = 3391.5 pivot = 1.7976931348623157e+308 center = 1.7976931348623157e+308 lwpoly = 0x0 __func__ = "lwgeom_subdivide_recursive" #8 0x00007fa9b2901921 in lwgeom_subdivide (geom=0x564da2b56920, maxvertices=100) at lwgeom.c:2414 col = 0x564da2beccd0 __func__ = "lwgeom_subdivide" #9 0x00007fa9b28a8e29 in ST_Subdivide (fcinfo=0x564da2be0468) at lwgeom_dump.c:372 geom = <optimized out> maxvertices = <optimized out> gser = <optimized out> col = <optimized out> rsi = <optimized out> funcctx = 0x564da2b568b0 fctx = <optimized out> oldcontext = 0x564da2bb3a60 #10 0x0000564da07047fc in ExecMakeFunctionResultSet (fcache=<optimized out>, econtext=econtext@entry=0x564da2bb2410, argContext=0x564da2c05c00, isNull=0x564da2bb39b0, isDone=isDone@entry=0x564da2bdf668) at ./build/../src/backend/executor/execSRF.c:606 arguments = <optimized out> result = <optimized out> fcinfo = 0x564da2be0468 fcusage = {fs = 0x0, save_f_total_time = {tv_sec = 94891442645620, tv_nsec = 94891442645784}, save_total = {tv_sec = 94891442645728, tv_nsec = 94891442645616}, f_start = {tv_sec = 94891442644624, tv_nsec = 94891442641488}} rsinfo = {type = T_ReturnSetInfo, econtext = 0x564da2bb2410, expectedDesc = 0x564da2bdf308, allowedModes = 3, returnMode = SFRM_ValuePerCall, isDone = ExprSingleResult, setResult = 0x0, setDesc = 0x0} callit = true i = <optimized out> __func__ = "ExecMakeFunctionResultSet" #11 0x0000564da07236ca in ExecProjectSRF (node=node@entry=0x564da2bb2530, continuing=continuing@entry=false) at ./build/../src/backend/executor/nodeProjectSet.c:175 elem = <optimized out> isdone = 0x564da2bdf668 result = 0x564da2bb3998 isnull = <optimized out> resultSlot = 0x564da2bb3950 econtext = 0x564da2bb2410 oldcontext = 0x564da2bb1a50 hassrf = <optimized out> hasresult = false argno = 0 #12 0x0000564da07237a4 in ExecProjectSet (pstate=0x564da2bb2530) at ./build/../src/backend/executor/nodeProjectSet.c:105 node = 0x564da2bb2530 outerTupleSlot = <optimized out> resultSlot = <optimized out> outerPlan = 0x564da2bb2690 econtext = 0x564da2bb2410 #13 0x0000564da0701ac9 in ExecProcNodeInstr (node=0x564da2bb2530) at ./build/../src/backend/executor/execProcnode.c:461 result = <optimized out> #14 0x0000564da06faeb3 in ExecProcNode (node=0x564da2bb2530) at ./build/../src/include/executor/executor.h:239 No locals. #15 ExecutePlan (execute_once=<optimized out>, dest=0x564da2b2d510, direction=<optimized out>, numberTuples=0, sendTuples=<optimized out>, operation=CMD_SELECT, use_parallel_mode=<optimized out>, planstate=0x564da2bb2530, estate=0x564da2bb1b60) at ./build/../src/backend/executor/execMain.c:1648 slot = <optimized out> current_tuple_count = 4 slot = <optimized out> current_tuple_count = <optimized out> #16 standard_ExecutorRun (queryDesc=0x564da2b2e458, direction=<optimized out>, count=0, execute_once=<optimized out>) at ./build/../src/backend/executor/execMain.c:365 estate = 0x564da2bb1b60 operation = CMD_SELECT dest = 0x564da2b2d510 sendTuples = <optimized out> oldcontext = 0x564da2b2caf0 __func__ = "standard_ExecutorRun" #17 0x00007fab4c1bb715 in explain_ExecutorRun (queryDesc=0x564da2b2e458, direction=ForwardScanDirection, count=0, execute_once=<optimized out>) at ./build/../contrib/auto_explain/auto_explain.c:322 save_exception_stack = 0x7ffc0ed25a30 save_context_stack = 0x0 local_sigjmp_buf = {{__jmpbuf = {140366884896768, -4010915758318949467, 140366885441632, 140366884906560, 94891442103384, 94891442099472, -4010915758285395035, -3965181094665917531}, __mask_was_saved = 0, __saved_mask = {__val = {94891404157904, 140720557152464, 94891404494067, 140366885441632, 140366884896768, 94891404157904, 140720557152608, 94891442644272, 94891442099696, 140720557152528, 94891404494161, 140366885441632, 140366884896768, 140366885441632, 140366884896768, 140366885441632}}}} #18 0x0000564da06ff5a6 in ParallelQueryMain (seg=seg@entry=0x564da2a54e20, toc=toc@entry=0x7fa9b6500000) at ./build/../src/backend/executor/execParallel.c:1399 fpes = <optimized out> buffer_usage = <optimized out> receiver = 0x564da2b2d510 --Type <RET> for more, q to quit, c to continue without paging-- queryDesc = 0x564da2b2e458 instrumentation = <optimized out> jit_instrumentation = 0x7fa9b65023e0 instrument_options = <optimized out> area_space = <optimized out> area = <optimized out> pwcxt = {seg = 0x564da2a54e20, toc = 0x7fa9b6500000} #19 0x0000564da05cccc7 in ParallelWorkerMain (main_arg=<optimized out>) at ./build/../src/backend/access/transam/parallel.c:1431 seg = 0x564da2a54e20 toc = 0x7fa9b6500000 fps = 0x7fa9b65a6440 error_queue_space = <optimized out> mq = <optimized out> mqh = <optimized out> libraryspace = <optimized out> entrypointstate = <optimized out> library_name = <optimized out> function_name = <optimized out> entrypt = 0x564da06ff390 <ParallelQueryMain> gucspace = <optimized out> combocidspace = <optimized out> tsnapspace = <optimized out> asnapspace = <optimized out> tstatespace = <optimized out> reindexspace = <optimized out> relmapperspace = <optimized out> enumblacklistspace = <optimized out> msgbuf = {data = 0x0, len = 8, maxlen = 1024, cursor = 75} session_dsm_handle_space = <optimized out> __func__ = "ParallelWorkerMain" #20 0x0000564da07d646e in StartBackgroundWorker () at ./build/../src/backend/postmaster/bgworker.c:834 local_sigjmp_buf = {{__jmpbuf = {94891441211920, -4010915758251840603, 7, 94891409541712, 94891441606768, 94891441608128, -4010915758224577627, -7262898823278367835}, __mask_was_saved = 1, __saved_mask = {__val = {18446744066192964103, 0, 94891441244880, 140720557152976, 94891406982373, 94891441244880, 94891441244880, 140720557152976, 94891407004545, 94891441606768, 0, 140720557153040, 94891406982373, 94891409541712, 0, 7}}}} worker = 0x564da2a54a10 entrypt = <optimized out> __func__ = "StartBackgroundWorker" #21 0x0000564da07e38a9 in do_start_bgworker (rw=<optimized out>) at ./build/../src/backend/postmaster/postmaster.c:5763 worker_pid = <optimized out> worker_pid = <optimized out> __func__ = "do_start_bgworker" __errno_location = <optimized out> __errno_location = <optimized out> #22 maybe_start_bgworkers () at ./build/../src/backend/postmaster/postmaster.c:5976 rw = <optimized out> num_launched = 7 now = 0 iter = {cur = 0x564da2ab55c0, next = 0x564da2aa7c20, prev = 0x564da2aae0e0} #23 0x0000564da07e424b in sigusr1_handler (postgres_signal_arg=<optimized out>) at ./build/../src/backend/postmaster/postmaster.c:5161 save_errno = 4 __func__ = "sigusr1_handler" #24 <signal handler called> No locals. #25 0x00007fab4b45c007 in __GI___select (nfds=nfds@entry=7, readfds=readfds@entry=0x7ffc0ed269b0, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0, timeout=timeout@entry=0x7ffc0ed26910) at ../sysdeps/unix/sysv/linux/select.c:41 resultvar = 18446744073709551612 sc_ret = <optimized out> #26 0x0000564da07e49a6 in ServerLoop () at ./build/../src/backend/postmaster/postmaster.c:1668 timeout = {tv_sec = 59, tv_usec = 998696} rmask = {fds_bits = {104, 0 <repeats 15 times>}} selres = <optimized out> now = <optimized out> readmask = {fds_bits = {104, 0 <repeats 15 times>}} nSockets = 7 last_lockfile_recheck_time = 1563436410 last_touch_time = 1563433829 __func__ = "ServerLoop" #27 0x0000564da07e652f in PostmasterMain (argc=5, argv=0x564da2a53c30) at ./build/../src/backend/postmaster/postmaster.c:1377 opt = <optimized out> status = <optimized out> userDoption = <optimized out> listen_addr_saved = <optimized out> i = <optimized out> output_config_variable = <optimized out> __func__ = "PostmasterMain" #28 0x0000564da054eefd in main (argc=5, argv=0x564da2a53c30) at ./build/../src/backend/main/main.c:228 No locals.
Note:
See TracTickets
for help on using tickets.
https://github.com/postgis/postgis/pull/456