Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segmentation fault #840

Open
stevage opened this issue Jan 31, 2020 · 19 comments
Open

Segmentation fault #840

stevage opened this issue Jan 31, 2020 · 19 comments

Comments

@stevage
Copy link
Contributor

stevage commented Jan 31, 2020

I have been processing a file which is 81GB of newline-delimited JSON. I have processed it a couple of times successfully on this machine. Just now I changed the parameters slightly:

tippecanoe --output=mbtiles/parcels.mbtiles --force --read-parallel --minimum-zoom=13 --maximum-zoom=15 --generate-ids --simplification=10 --detect-shared-borders --simplify-only-low-zooms --attribute-type='ATTOM ID:int' --include='ATTOM ID' --include=APN --include=CountyFIPS --coalesce-smallest-as-needed --base-zoom=14 --accumulate-attribute=APN:comma --accumulate-attribute='ATTOM ID:comma' --layer=parcels data/parcels.json

and got a seg fault:

...
Going to try keeping the biggest 19.34% of the features to make it fit
tile 13/2352/3121 size is 502684 with detail 12, >500000
Going to try keeping the biggest 17.31% of the features to make it fit
Segmentation fault (core dumped)

Now, following this I'll try running it again to actually get the core dump, which seems to not be written by default.

The changes between "worked" and "crashed" are:

// worked:
                    minimumZoom: 13,
                    maximumZoom: 15, 
                    generateIds: true,
                    simplification:10,
                    filename: `${options.datapath}/parcels${options.suffix}.json`,
                    detectSharedBorders: true,
                    dropSmallestAsNeeded: true,
                    simplifyOnlyLowZooms: true,
                    attributeType: 'ATTOM ID:int',
                    include: ['ATTOM ID', 'APN','CountyFIPS'],

// crashed (all the above, plus these:)
                    dropSmallestAsNeeded: false,
                    coalesceSmallestAsNeeded: true,
                    baseZoom: 14,
                    accumulateAttribute: ['APN:comma', 'ATTOM ID:comma'],

Somewhere in the log I also noticed there was one tile that tippecanoe couldn't make small enough. What does it actually do in that situation? Previously I thought I had seen it abort altogether.

I have also managed to process a subset of this dataset successfully, with these exact settings.

I'm not sure how to share the source file with you, given its size. Any ideas?

tippecanoe v1.32.12

@stevage
Copy link
Contributor Author

stevage commented Jan 31, 2020

Oh, I see I'm a couple of versions behind. Trying again with 1.34.6

@stevage
Copy link
Contributor Author

stevage commented Feb 2, 2020

Slightly different output but still crashed:

Going to try keeping the biggest 17.31% of the features to make it fit
Segmentation fault080

@springmeyer
Copy link
Contributor

@stevage thanks for reporting and helping narrow this down. Getting a backtrace out of the core dump would be ideal, since it should show where the crash is happening. That way we might be able to fix without replicating.

https://jvns.ca/blog/2018/04/28/debugging-a-segfault-on-linux/ looks good, but skip the valgrind step since that will slow down the program so much it might not be tenable. Also, you could use https://github.com/mapbox/logbt which does all the things in that blog post automatically.

@stevage
Copy link
Contributor Author

stevage commented Feb 4, 2020

Ah, great. Ok, I'm trying the logbt option.

$ ~/logbt/logbt -- ./4-make-tiles.js parcels
[logbt] using corefile location: /tmp/logbt-coredumps
[logbt] using core_pattern: core.%p.%E
4: Generating vector tiles
tippecanoe --output=mbtiles/parcels.mbtiles --force --read-parallel --minimum-zoom=13 --maximum-zoom=15 --generate-ids --simplification=10 --simplify-only-low-zooms --attribute-type='ATTOM ID:int' --include='ATTOM ID' --include=APN --include=CountyFIPS --coalesce-smallest-as-needed --base-zoom=14 --accumulate-attribute=APN:comma --accumulate-attribute='ATTOM ID:comma' --layer=parcels data/parcels.json
Read 1.64 million features

@stevage
Copy link
Contributor Author

stevage commented Feb 13, 2020

Ok, I have emailed you the dump.

@stevage
Copy link
Contributor Author

stevage commented Feb 14, 2020

Ok, finally got there.

tile 13/2352/3121 size is 506338 with detail 12, >500000
Going to try keeping the biggest 20.25% of the features to make it fit
Segmentation fault (core dumped)
Tiles for parcels:parcels failed in 4.02 h.
[logbt] saw './4-make-tiles.js' exit with code:139 (SEGV)
[logbt] Found corefile (non-tracked) at /tmp/logbt-coredumps/core.28612.!home!steve_bennett_cherre_com!tippecanoe!tippecanoe
[logbt] Processing cores...
[New LWP 30669]
[New LWP 30671]
[New LWP 30670]
[New LWP 30675]
[New LWP 30672]
[New LWP 30676]
[New LWP 30673]
[New LWP 30674]
[New LWP 28612]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `tippecanoe --output=mbtiles/parcels.mbtiles --force --read-parallel --minimum-z'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  deserialize_ulong_long (zigzag=<synthetic pointer>, f=<synthetic pointer>) at serial.cpp:97
97                      if ((**f & 0x80) == 0) {
[Current thread is 1 (Thread 0x7fc3a6d8a700 (LWP 30669))]

Thread 9 (Thread 0x7fc479cdbb80 (LWP 28612)):
#0  0x00007fc479386d2d in __GI___pthread_timedjoin_ex (threadid=140478294566656, thread_return=thread_return@entry=0x7ffe69de6bd8, abstime=abstime@entry=0x0, block=block@entry=true) at pthread_join_common.c:89
#1  0x00007fc479386b5c in __pthread_join (threadid=<optimized out>, thread_return=thread_return@entry=0x7ffe69de6bd8) at pthread_join.c:24
#2  0x00005645c7c7a394 in traverse_zooms (geomfd=<optimized out>, geom_size=<optimized out>, metabase=<optimized out>, stringpool=<optimized out>, midx=<optimized out>, midy=<optimized out>, maxzoom=<optimized out>, minzoom=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, tmpdir=<optimized out>, gamma=<optimized out>, full_detail=<optimized out>, low_detail=<optimized out>, min_detail=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, simplification=<optimized out>, layermaps=..., prefilter=<optimized out>, postfilter=<optimized out>, attribute_accum=<optimized out>, filter=<optimized out>) at tile.cpp:2857
#3  0x00005645c7cdf1f4 in read_input (sources=..., fname=<optimized out>, maxzoom=<optimized out>, minzoom=<optimized out>, basezoom=<optimized out>, basezoom_marker_width=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, exclude=<optimized out>, include=<optimized out>, exclude_all=<optimized out>, filter=<optimized out>, droprate=<optimized out>, buffer=<optimized out>, tmpdir=<optimized out>, gamma=<optimized out>, read_parallel=<optimized out>, forcetable=<optimized out>, attribution=<optimized out>, uses_gamma=<optimized out>, file_bbox=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, description=<optimized out>, guess_maxzoom=<optimized out>, attribute_types=<optimized out>, pgm=<optimized out>, attribute_accum=<optimized out>, attribute_descriptions=..., commandline=...) at main.cpp:2270
#4  0x00005645c7c6aa1e in main (argc=<optimized out>, argv=0x7ffe69de8de8) at main.cpp:3183

Thread 8 (Thread 0x7fc3a858d700 (LWP 30674)):
#0  0x00007fc4798a9050 in ?? () from /lib/x86_64-linux-gnu/libz.so.1
#1  0x00007fc4798aaf98 in ?? () from /lib/x86_64-linux-gnu/libz.so.1
#2  0x00007fc4798ac1ed in deflate () from /lib/x86_64-linux-gnu/libz.so.1
#3  0x00005645c7ccae78 in compress (input="\032\357\333\027x\002\n\aparcels(\200 \032\nCountyFIPS\032\bATTOM ID\032\003APN\"\a\n\005\061\067\060\063\061\"\324\003\n\321\003\061\067\065\063\071\067\071\071\070,175398001,38953317,175397945,175397946,175394271,175403029,176078222,175908302,155105428,39004835,174897369,174897370,174897371,49"..., output="\037\213\b\000\000\000\000\000\002\003l\275}\350\377\313r\037\304\071\347\236s\356\375\334$7\017m-\027J\313\347/ů\272\063\263\217\224\326\304\346\201H\215\001\373O\251\bR\202\265\212\212\017\324\374W\255\210P\020\305H\244 b\251\004\n\202i\323H\203QӦ-\242\064\066\372\207R\005\021\"\221j[\251\264\330bug\037f\367\065\357{\370q\276\063\237\367>\314\316\356\316\316\316\316\316~\363\257\374ſ\343_\376\364\365\345?\367\217\377\363\277\373\307\376\351\177\341\357\374\375\277雯\337\366\317\376K\377̿\370\343?\370\303?\372\217|\363\253\337\367;~\307?\374\017\375\246\037\376\376o~\366}?\372#\357/_\237S\tB"...) at mvt.cpp:100
#4  0x00005645c7c83e27 in write_tile (geoms=geoms@entry=0x7fb02800fb70, geompos_in=geompos_in@entry=0x7fc3a858ceb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:2422
#5  0x00005645c7c86046 in run_thread (vargs=0x5645c8dc9cb0) at tile.cpp:2585
#6  0x00007fc4793856db in start_thread (arg=0x7fc3a858d700) at pthread_create.c:463
#7  0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 7 (Thread 0x7fc3a8d8e700 (LWP 30673)):
#0  0x00007fc4786e520a in tcache_get (tc_idx=28) at malloc.c:2943
#1  __GI___libc_malloc (bytes=464) at malloc.c:3050
#2  0x00007fc479088258 in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00005645c7c86ecb in __gnu_cxx::new_allocator<draw>::allocate (this=0x7fb034537148, __n=29) at /usr/include/c++/7/ext/new_allocator.h:111
#4  std::allocator_traits<std::allocator<draw> >::allocate (__a=..., __n=29) at /usr/include/c++/7/bits/alloc_traits.h:436
#5  std::_Vector_base<draw, std::allocator<draw> >::_M_allocate (this=0x7fb034537148, __n=29) at /usr/include/c++/7/bits/stl_vector.h:172
#6  std::_Vector_base<draw, std::allocator<draw> >::_M_create_storage (__n=<optimized out>, this=0x7fb034537148) at /usr/include/c++/7/bits/stl_vector.h:187
#7  std::_Vector_base<draw, std::allocator<draw> >::_Vector_base (__a=..., __n=<optimized out>, this=0x7fb034537148) at /usr/include/c++/7/bits/stl_vector.h:138
#8  std::vector<draw, std::allocator<draw> >::vector (this=0x7fb034537148, __x=std::vector of length 29, capacity 29 = {...}) at /usr/include/c++/7/bits/stl_vector.h:328
#9  0x00005645c7c8d7b8 in coalesce::coalesce (this=0x7fb0345370e0) at tile.cpp:84
#10 0x00005645c7c8205c in __gnu_cxx::new_allocator<coalesce>::construct<coalesce, coalesce const&> (this=0x7fb034007000, __p=<optimized out>) at /usr/include/c++/7/ext/new_allocator.h:136
#11 std::allocator_traits<std::allocator<coalesce> >::construct<coalesce, coalesce const&> (__a=..., __p=<optimized out>) at /usr/include/c++/7/bits/alloc_traits.h:475
#12 std::vector<coalesce, std::allocator<coalesce> >::push_back (__x=..., this=0x7fb034007000) at /usr/include/c++/7/bits/stl_vector.h:943
#13 write_tile (geoms=geoms@entry=0x7fb0341fb4a0, geompos_in=geompos_in@entry=0x7fc3a8d8deb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:2169
#14 0x00005645c7c86046 in run_thread (vargs=0x5645c8dc9b50) at tile.cpp:2585
#15 0x00007fc4793856db in start_thread (arg=0x7fc3a8d8e700) at pthread_create.c:463
#16 0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 6 (Thread 0x7fc3a5d88700 (LWP 30676)):
#0  0x00005645c7cb745e in std::__adjacent_find<__gnu_cxx::__normal_iterator<long long*, std::vector<long long, std::allocator<long long> > >, __gnu_cxx::__ops::_Iter_equal_to_iter> (__last=..., __first=63, __binary_pred=...) at /usr/include/c++/7/bits/stl_algo.h:953
#1  std::__unique<__gnu_cxx::__normal_iterator<long long*, std::vector<long long, std::allocator<long long> > >, __gnu_cxx::__ops::_Iter_equal_to_iter> (__binary_pred=..., __last=681, __first=31) at /usr/include/c++/7/bits/stl_algo.h:966
#2  std::unique<__gnu_cxx::__normal_iterator<long long*, std::vector<long long, std::allocator<long long> > > > (__last=..., __first=...) at /usr/include/c++/7/bits/stl_algo.h:1005
#3  mapbox::geometry::wagyu::pop_from_scanbeam<long long> (Y=@0x7fc3a5d86cc0: 668, scanbeam=std::vector of length 74, capacity 256 = {...}) at ./mapbox/geometry/wagyu/scanbeam.hpp:21
#4  0x00005645c7cbdeb2 in mapbox::geometry::wagyu::build_hot_pixels<long long> (minima_list=std::deque with 156 elements = {...}, manager=...) at ./mapbox/geometry/wagyu/snap_rounding.hpp:181
#5  0x00005645c7ca3c5b in mapbox::geometry::wagyu::wagyu<long long>::execute<long long> (clip_fill_type=mapbox::geometry::wagyu::fill_type_positive, subject_fill_type=mapbox::geometry::wagyu::fill_type_positive, solution=..., cliptype=mapbox::geometry::wagyu::clip_type_union, this=0x7fc3a5d86e20) at ./mapbox/geometry/wagyu/wagyu.hpp:128
#6  clean_or_clip_poly (geom=std::vector of length 791, capacity 1024 = {...}, z=z@entry=0, buffer=buffer@entry=0, clip=clip@entry=false) at geometry.cpp:272
#7  0x00005645c7c7658c in partial_feature_worker (v=0x7fb01c0a84f0) at tile.cpp:501
#8  0x00005645c7c844ee in write_tile (geoms=geoms@entry=0x7fb01c03a2e0, geompos_in=geompos_in@entry=0x7fc3a5d87eb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:2115
#9  0x00005645c7c86046 in run_thread (vargs=0x5645c8dc9f70) at tile.cpp:2585
#10 0x00007fc4793856db in start_thread (arg=0x7fc3a5d88700) at pthread_create.c:463
#11 0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7fc3a958f700 (LWP 30672)):
#0  0x00005645c7caf95a in mapbox::geometry::wagyu::round_towards_min<long long> (val=1132.8500000000211) at ./mapbox/geometry/wagyu/ring_util.hpp:91
#1  mapbox::geometry::wagyu::get_edge_min_x<long long> (current_y=2974, edge=...) at ./mapbox/geometry/wagyu/ring_util.hpp:126
#2  mapbox::geometry::wagyu::hot_pixel_set_left_to_right<long long> (add_end_point=false, end=<synthetic pointer>{x = 954, y = 3299}, itr=Python Exception <class 'gdb.error'> value has been optimized out:
<synthetic pointer>, rings=..., bnd=..., end_x=1154, start_x=731, y=2974) at ./mapbox/geometry/wagyu/ring_util.hpp:171
#3  mapbox::geometry::wagyu::insert_hot_pixels_in_path<long long> (bnd=..., end_pt=..., rings=..., add_end_point=add_end_point@entry=false) at ./mapbox/geometry/wagyu/ring_util.hpp:296
#4  0x00005645c7cafc74 in mapbox::geometry::wagyu::add_point_to_ring<long long> (bnd=..., pt=..., rings=...) at ./mapbox/geometry/wagyu/ring_util.hpp:327
#5  0x00005645c7cbe985 in mapbox::geometry::wagyu::add_point<long long> (bnd=..., active_bounds=std::vector of length 2, capacity 4 = {...}, pt=..., rings=...) at ./mapbox/geometry/wagyu/ring_util.hpp:352
#6  0x00005645c7cbebb8 in mapbox::geometry::wagyu::add_local_maximum_point<long long> (b1=..., b2=..., pt=..., rings=..., active_bounds=std::vector of length 2, capacity 4 = {...}) at ./mapbox/geometry/wagyu/ring_util.hpp:623
#7  0x00005645c7cc0c7c in mapbox::geometry::wagyu::do_maxima<long long> (active_bounds=std::vector of length 2, capacity 4 = {...}, manager=..., clip_fill_type=mapbox::geometry::wagyu::fill_type_positive, subject_fill_type=mapbox::geometry::wagyu::fill_type_positive, cliptype=mapbox::geometry::wagyu::clip_type_union, bndMaxPair=Python Exception <class 'gdb.error'> value has been optimized out:
<synthetic pointer>, bnd=0x7fb02c01d920) at ./mapbox/geometry/wagyu/process_maxima.hpp:44
#8  mapbox::geometry::wagyu::process_edges_at_top_of_scanbeam<long long> (top_y=<optimized out>, active_bounds=std::vector of length 2, capacity 4 = {...}, scanbeam=std::vector of length 0, capacity 8, minima_sorted=std::vector of length 4, capacity 4 = {...}, current_lm=0xc040b33333333333, manager=..., cliptype=mapbox::geometry::wagyu::clip_type_union, subject_fill_type=mapbox::geometry::wagyu::fill_type_positive, clip_fill_type=mapbox::geometry::wagyu::fill_type_positive) at ./mapbox/geometry/wagyu/process_maxima.hpp:84
#9  0x00005645c7cc1016 in mapbox::geometry::wagyu::execute_vatti<long long> (minima_list=std::deque with 4 elements = {...}, manager=..., cliptype=cliptype@entry=mapbox::geometry::wagyu::clip_type_union, subject_fill_type=subject_fill_type@entry=mapbox::geometry::wagyu::fill_type_positive, clip_fill_type=clip_fill_type@entry=mapbox::geometry::wagyu::fill_type_positive) at ./mapbox/geometry/wagyu/vatti.hpp:53
#10 0x00005645c7ca3c7d in mapbox::geometry::wagyu::wagyu<long long>::execute<long long> (clip_fill_type=mapbox::geometry::wagyu::fill_type_positive, subject_fill_type=mapbox::geometry::wagyu::fill_type_positive, solution=..., cliptype=mapbox::geometry::wagyu::clip_type_union, this=0x7fc3a958de20) at ./mapbox/geometry/wagyu/wagyu.hpp:130
#11 clean_or_clip_poly (geom=std::vector of length 24, capacity 32 = {...}, z=z@entry=0, buffer=buffer@entry=0, clip=clip@entry=false) at geometry.cpp:272
#12 0x00005645c7c7658c in partial_feature_worker (v=0x7fb02c056b00) at tile.cpp:501
#13 0x00005645c7c844ee in write_tile (geoms=geoms@entry=0x7fb02c09b9c0, geompos_in=geompos_in@entry=0x7fc3a958eeb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:2115
#14 0x00005645c7c86046 in run_thread (vargs=0x5645c8dc99f0) at tile.cpp:2585
#15 0x00007fc4793856db in start_thread (arg=0x7fc3a958f700) at pthread_create.c:463
#16 0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7fc3a6589700 (LWP 30675)):
#0  std::__move_merge_adaptive_backward<__gnu_cxx::__normal_iterator<mapbox::geometry::wagyu::local_minimum<long long>**, std::vector<mapbox::geometry::wagyu::local_minimum<long long>*, std::allocator<mapbox::geometry::wagyu::local_minimum<long long>*> > >, mapbox::geometry::wagyu::local_minimum<long long>**, __gnu_cxx::__normal_iterator<mapbox::geometry::wagyu::local_minimum<long long>**, std::vector<mapbox::geometry::wagyu::local_minimum<long long>*, std::allocator<mapbox::geometry::wagyu::local_minimum<long long>*> > >, __gnu_cxx::__ops::_Iter_comp_iter<mapbox::geometry::wagyu::local_minimum_sorter<long long> > > (__comp=..., __result=0x7fb03c9ece80, __last2=0x7fb03c3c61a0, __first2=0x7fb03c3c6190, __last1=0x7fb03c1bbf60, __first1=...) at /usr/include/c++/7/bits/stl_algo.h:2362
#1  std::__merge_adaptive<__gnu_cxx::__normal_iterator<mapbox::geometry::wagyu::local_minimum<long long>**, std::vector<mapbox::geometry::wagyu::local_minimum<long long>*, std::allocator<mapbox::geometry::wagyu::local_minimum<long long>*> > >, long, mapbox::geometry::wagyu::local_minimum<long long>**, __gnu_cxx::__ops::_Iter_comp_iter<mapbox::geometry::wagyu::local_minimum_sorter<long long> > > (__first=0x7fb03c3c5680, __middle=..., __last=0x7fb03c223610, __len1=<optimized out>, __len2=12, __buffer=0x7fb03c3c6190, __buffer_size=25, __comp=...) at /usr/include/c++/7/bits/stl_algo.h:2431
#2  0x00005645c7cb2add in std::__stable_sort_adaptive<__gnu_cxx::__normal_iterator<mapbox::geometry::wagyu::local_minimum<long long>**, std::vector<mapbox::geometry::wagyu::local_minimum<long long>*, std::allocator<mapbox::geometry::wagyu::local_minimum<long long>*> > >, mapbox::geometry::wagyu::local_minimum<long long>**, long, __gnu_cxx::__ops::_Iter_comp_iter<mapbox::geometry::wagyu::local_minimum_sorter<long long> > > (__first=0x7fb03c9ece80, __last=<error reading variable: Cannot access memory at address 0x770>, __last@entry=0x7fb03c223610, __buffer=__buffer@entry=0x7fb03c3c6190, __buffer_size=__buffer_size@entry=25, __comp=...) at /usr/include/c++/7/bits/stl_algo.h:2751
#3  0x00005645c7cc18a8 in std::__stable_sort<__gnu_cxx::__normal_iterator<mapbox::geometry::wagyu::local_minimum<long long>**, std::vector<mapbox::geometry::wagyu::local_minimum<long long>*, std::allocator<mapbox::geometry::wagyu::local_minimum<long long>*> > >, __gnu_cxx::__ops::_Iter_comp_iter<mapbox::geometry::wagyu::local_minimum_sorter<long long> > > (__comp=..., __last=..., __first=...) at /usr/include/c++/7/bits/stl_algo.h:5008
#4  std::stable_sort<__gnu_cxx::__normal_iterator<mapbox::geometry::wagyu::local_minimum<long long>**, std::vector<mapbox::geometry::wagyu::local_minimum<long long>*, std::allocator<mapbox::geometry::wagyu::local_minimum<long long>*> > >, mapbox::geometry::wagyu::local_minimum_sorter<long long> > (__last=..., __first=..., __comp=...) at /usr/include/c++/7/bits/stl_algo.h:5077
#5  mapbox::geometry::wagyu::execute_vatti<long long> (minima_list=std::deque with 25 elements = {...}, manager=..., cliptype=cliptype@entry=mapbox::geometry::wagyu::clip_type_union, subject_fill_type=subject_fill_type@entry=mapbox::geometry::wagyu::fill_type_positive, clip_fill_type=clip_fill_type@entry=mapbox::geometry::wagyu::fill_type_positive) at ./mapbox/geometry/wagyu/vatti.hpp:36
#6  0x00005645c7ca3c7d in mapbox::geometry::wagyu::wagyu<long long>::execute<long long> (clip_fill_type=mapbox::geometry::wagyu::fill_type_positive, subject_fill_type=mapbox::geometry::wagyu::fill_type_positive, solution=..., cliptype=mapbox::geometry::wagyu::clip_type_union, this=0x7fc3a6587e20) at ./mapbox/geometry/wagyu/wagyu.hpp:130
#7  clean_or_clip_poly (geom=std::vector of length 120, capacity 128 = {...}, z=z@entry=0, buffer=buffer@entry=0, clip=clip@entry=false) at geometry.cpp:272
#8  0x00005645c7c7658c in partial_feature_worker (v=0x7fb03d494b70) at tile.cpp:501
#9  0x00005645c7c844ee in write_tile (geoms=geoms@entry=0x7fb03c27c710, geompos_in=geompos_in@entry=0x7fc3a6588eb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:2115
#10 0x00005645c7c86046 in run_thread (vargs=0x5645c8dc9e10) at tile.cpp:2585
#11 0x00007fc4793856db in start_thread (arg=0x7fc3a6589700) at pthread_create.c:463
#12 0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7fc3a758b700 (LWP 30670)):
#0  0x00007fc4798a907c in ?? () from /lib/x86_64-linux-gnu/libz.so.1
#1  0x00007fc4798aaf98 in ?? () from /lib/x86_64-linux-gnu/libz.so.1
#2  0x00007fc4798ac1ed in deflate () from /lib/x86_64-linux-gnu/libz.so.1
#3  0x00005645c7ccae78 in compress (input="\032\224\315\021x\002\n\aparcels(\200 \032\nCountyFIPS\032\bATTOM ID\032\003APN\"\a\n\005\064\070\063\067\065\"[\nY165089343,244128855,164887659,166242411,244128854,244569663,245221457,167882610,251930128\"\177\n}R065162012000,R065162011900,R065162045680,R065162"..., output="\037\213\b\000\000\000\000\000\002\003d\275K\250\377\301\222\330\005wfr\357=\367\225;w&\213\001\061\234\225\342Ytw\365s\031\024!\213h\320lĕ\210;Q\361\001\272\020EA\204\370\b\030P\f1&DF\006$\032\334J$\v%\276 00\340#F\207Ġ\213HF\023#\001\355\252\356\256\356\317?gq~]\337~W\277\252\252\253\252\177\345\017\376\267?\375g\277\363\361\335\177\342\037\372'\377\341\177\344\037\375\247\376\266\177\361w\376\312\307\337\371\217\377\063\377\330?\375\317\375ݿ\373\367\376\375\277\362\275\337\365\373~\337\337\373{~\347\357\376\273~\345\347~\327\357\375{>\277\373\361\v\271K+\237\377\340\307?\020k\t"...) at mvt.cpp:100
#4  0x00005645c7c83e27 in write_tile (geoms=geoms@entry=0x7fb0384ba820, geompos_in=geompos_in@entry=0x7fc3a758aeb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:2422
#5  0x00005645c7c86046 in run_thread (vargs=0x5645c8dc9730) at tile.cpp:2585
#6  0x00007fc4793856db in start_thread (arg=0x7fc3a758b700) at pthread_create.c:463
#7  0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fc3a7d8c700 (LWP 30671)):
#0  0x00007fc4786d5df2 in _IO_getc (fp=0x7fb0300737e0) at getc.c:39
#1  0x00005645c7cd3592 in deserialize_ulong_long_io (geompos=0x7fc3a7d8beb0, zigzag=<synthetic pointer>, f=0x7fb0300737e0) at serial.cpp:132
#2  deserialize_long_long_io (f=f@entry=0x7fb0300737e0, n=n@entry=0x7fc3a7d8aba0, geompos=geompos@entry=0x7fc3a7d8beb0) at serial.cpp:122
#3  0x00005645c7c9e4e8 in decode_geometry (meta=meta@entry=0x7fb0300737e0, geompos=geompos@entry=0x7fc3a7d8beb0, z=z@entry=13, tx=tx@entry=2401, ty=ty@entry=3076, bbox=0x7fc3a7d8afd8, initial_x=733864672, initial_y=1714676128) at geometry.cpp:51
#4  0x00005645c7cd4370 in deserialize_feature (geoms=0x7fb0300737e0, geompos_in=0x7fc3a7d8beb0, metabase=0x7fc477f7f000 <error: Cannot access memory at address 0x7fc477f7f000>, meta_off=0x7ffe69de6ff0, z=13, tx=2401, ty=3076, initial_x=0x7ffe69de7160, initial_y=0x7ffe69de7110) at serial.cpp:279
#5  0x00005645c7c76c0f in next_feature (geoms=geoms@entry=0x7fb0300737e0, geompos_in=geompos_in@entry=0x7fc3a7d8beb0, metabase=metabase@entry=0x7fc477f7f000 <error: Cannot access memory at address 0x7fc477f7f000>, meta_off=meta_off@entry=0x7ffe69de6ff0, z=z@entry=13, tx=<optimized out>, ty=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, original_features=<optimized out>, unclipped_features=<optimized out>, nextzoom=<optimized out>, maxzoom=<optimized out>, minzoom=<optimized out>, max_zoom_increment=<optimized out>, pass=<optimized out>, passes=<optimized out>, along=<optimized out>, alongminus=<optimized out>, buffer=<optimized out>, within=<optimized out>, first_time=<optimized out>, geomfile=<optimized out>, geompos=<optimized out>, oprogress=<optimized out>, todo=todo@entry=12998412398, fname=<optimized out>, child_shards=<optimized out>, filter=<optimized out>, stringpool=<optimized out>, pool_off=<optimized out>, layer_unmaps=<optimized out>) at tile.cpp:1317
#6  0x00005645c7c80c8d in write_tile (geoms=geoms@entry=0x7fb0300737e0, geompos_in=geompos_in@entry=0x7fc3a7d8beb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:1861
#7  0x00005645c7c86046 in run_thread (vargs=0x5645c8dc9890) at tile.cpp:2585
#8  0x00007fc4793856db in start_thread (arg=0x7fc3a7d8c700) at pthread_create.c:463
#9  0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fc3a6d8a700 (LWP 30669)):
#0  deserialize_ulong_long (zigzag=<synthetic pointer>, f=<synthetic pointer>) at serial.cpp:97
#1  deserialize_long_long (n=<synthetic pointer>, f=<synthetic pointer>) at serial.cpp:88
#2  deserialize_feature (geoms=0x7fb024138d70, geompos_in=0x7fc3a6d89eb0, metabase=0x7fc477f7f000 <error: Cannot access memory at address 0x7fc477f7f000>, meta_off=0x7ffe69de6ff0, z=4294967249, tx=2197946775, ty=33667841, initial_x=0x7ffe69de7160, initial_y=0x7ffe69de7110) at serial.cpp:295
#3  0x00005645c7c76c0f in next_feature (geoms=geoms@entry=0x7fb024138d70, geompos_in=geompos_in@entry=0x7fc3a6d89eb0, metabase=metabase@entry=0x7fc477f7f000 <error: Cannot access memory at address 0x7fc477f7f000>, meta_off=meta_off@entry=0x7ffe69de6ff0, z=z@entry=-47, tx=<optimized out>, ty=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, original_features=<optimized out>, unclipped_features=<optimized out>, nextzoom=<optimized out>, maxzoom=<optimized out>, minzoom=<optimized out>, max_zoom_increment=<optimized out>, pass=<optimized out>, passes=<optimized out>, along=<optimized out>, alongminus=<optimized out>, buffer=<optimized out>, within=<optimized out>, first_time=<optimized out>, geomfile=<optimized out>, geompos=<optimized out>, oprogress=<optimized out>, todo=todo@entry=12998412398, fname=<optimized out>, child_shards=<optimized out>, filter=<optimized out>, stringpool=<optimized out>, pool_off=<optimized out>, layer_unmaps=<optimized out>) at tile.cpp:1317
#4  0x00005645c7c80c8d in write_tile (geoms=geoms@entry=0x7fb024138d70, geompos_in=geompos_in@entry=0x7fc3a6d89eb0, metabase=<optimized out>, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, meta_off=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:1861
#5  0x00005645c7c86046 in run_thread (vargs=0x5645c8dc95d0) at tile.cpp:2585
#6  0x00007fc4793856db in start_thread (arg=0x7fc3a6d8a700) at pthread_create.c:463
#7  0x00007fc47876f88f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
s

With this command line the crash did not occur:

~/logbt/logbt -- tippecanoe --output=mbtiles/parcels.mbtiles --force --read-parallel --minimum-zoom=13 --maximum-zoom=15 --generate-ids --simplification=10 --simplify-only-low-zooms --include=APN --include=CountyFIPS --coalesce-smallest-as-needed --base-zoom=14 --accumulate-attribute=APN:comma --layer=parcels data/parcels.json

@springmeyer
Copy link
Contributor

Thanks @stevage - this is the key line that appears to be causing the segfault:

deserialize_ulong_long (zigzag=, f=) at serial.cpp:97

@ericfischer any idea how to fix this?

@stevage
Copy link
Contributor Author

stevage commented Feb 15, 2020

I'd also be interested to hear any possible workarounds.

@e-n-f
Copy link
Contributor

e-n-f commented Feb 17, 2020

Thanks. This must be indexing off the end of the buffer that encodes a variable-length number, either because it was encoded wrong in the first place, or because the metadata pointer is pointing to the wrong place.

I wish I had a workaround to offer immediately, but it looks like it's not as easy as I thought to substitute a different representation for serialized numbers. I'll keep investigating.

@e-n-f
Copy link
Contributor

e-n-f commented Feb 17, 2020

The workaround seems to be to insert inline_meta = true before this check:

if (inline_meta) {

but I'm still not sure what is causing the externalized metadata to be misencoded.

@stevage
Copy link
Contributor Author

stevage commented Feb 17, 2020

Is there anything more I can do to help?

@stevage
Copy link
Contributor Author

stevage commented Feb 17, 2020

OIC. I'll try patching that and see if it prevents the crash.

Sorry for the dumb question, but will there be side-effects from that change? I'm not really sure what "externalized metadata" is.

@e-n-f
Copy link
Contributor

e-n-f commented Feb 17, 2020

Sorry to be unclear. The "separate metadata" file is basically a holdover from an older version of Tippecanoe in which most of the characteristics of a feature were stored in a separate file so they wouldn't have to be duplicated across temporary files when a feature was clipped into many sub-features in different tiles. I gradually moved more and more things into the "geometry" file, so all it has in it now is a table of indices of key/value attribute pairs into the attribute pool, and is only populated when a feature is expected to span a large number of tiles.

I should probably just get rid of it, since it doesn't seem to work reliably and is another thing that has to be handled as a special case when it exists.

@e-n-f
Copy link
Contributor

e-n-f commented Feb 17, 2020

Could you please try #845 and see if it fixes the problem for you?

@stevage
Copy link
Contributor Author

stevage commented Feb 18, 2020

It crashed as before:

Going to try keeping the biggest 20.25% of the features to make it fit
Segmentation fault073035818/2695646785
Tiles for parcels:parcels failed in 4.14 h.

I forgot to use logbt, so will do that now.

@e-n-f
Copy link
Contributor

e-n-f commented Feb 18, 2020

Hmm, so much for that idea. Any chance you could share your data file so I can try to reproduce the exact circumstances?

@stevage
Copy link
Contributor Author

stevage commented Feb 18, 2020

Trying to find a way to do that. It's 81GB uncompressed, and also subject to licensing rules which I'm trying to get clarity on.

In the meantime, here's logbt:

mfile=0x7fff97437b60, fname=0x7fff9743bfda "mbtiles/parcels.mbtiles", t=<optimized out>, layer=<optimized out>, feature_minzoom=<optimized out>, child_shards=<optimized out>, max_zoom_increment=<optimized out>, seq=0, tippecanoe_minzoom=<optimized out>, tippecanoe_maxzoom=<optimized out>, segment=<optimized out>, initial_x=0x7fff97438240, initial_y=0x7fff974381f0, metakeys=std::vector of length 3, capacity 4 = {...}, metavals=std::vector of length 3, capacity 4 = {...}, has_id=true, id=21697592808, index=0, extent=9824) at tile.cpp:348
#6  0x00005594d9a1fa35 in next_feature (geoms=geoms@entry=0x7f41245b7100, geompos_in=geompos_in@entry=0x7f54a5ae2eb0, z=z@entry=13, tx=tx@entry=1416, ty=ty@entry=3285, initial_x=<optimized out>, initial_y=<optimized out>, original_features=<optimized out>, unclipped_features=<optimized out>, nextzoom=<optimized out>, maxzoom=<optimized out>, minzoom=<optimized out>, max_zoom_increment=<optimized out>, pass=<optimized out>, passes=<optimized out>, along=<optimized out>, alongminus=<optimized out>, buffer=<optimized out>, within=<optimized out>, first_time=<optimized out>, geomfile=<optimized out>, geompos=<optimized out>, oprogress=<optimized out>, todo=todo@entry=12849808566, fname=<optimized out>, child_shards=<optimized out>, filter=<optimized out>, stringpool=<optimized out>, pool_off=<optimized out>, layer_unmaps=<optimized out>) at tile.cpp:1343
#7  0x00005594d9a28930 in write_tile (geoms=geoms@entry=0x7f41245b7100, geompos_in=geompos_in@entry=0x7f54a5ae2eb0, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:1852
#8  0x00005594d9a2dd6a in run_thread (vargs=0x5594dad981d0) at tile.cpp:2576
#9  0x00007f5575c0f6db in start_thread (arg=0x7f54a5ae3700) at pthread_create.c:463
#10 0x00007f5574ff988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f54a32de700 (LWP 7280)):
#0  serialize_ulong_long (out=out@entry=0x5594dad96d50, zigzag=<optimized out>, fpos=fpos@entry=0x7f54a32dd330, fname=fname@entry=0x7fff9743bfda "mbtiles/parcels.mbtiles") at serial.cpp:68
#1  0x00005594d9a7bb46 in serialize_long_long (fname=0x7fff9743bfda "mbtiles/parcels.mbtiles", fpos=0x7f54a32dd330, n=<optimized out>, out=0x5594dad96d50) at serial.cpp:45
#2  write_geometry (wy=51470034, wx=38823941, fname=0x7fff9743bfda "mbtiles/parcels.mbtiles", out=0x5594dad96d50, fpos=0x7f54a32dd330, dv=std::vector of length 16, capacity 16 = {...}) at serial.cpp:180
#3  serialize_feature (geomfile=0x5594dad96d50, sf=sf@entry=0x7f54a32dccc0, geompos=geompos@entry=0x7f54a32dd330, fname=fname@entry=0x7fff9743bfda "mbtiles/parcels.mbtiles", wx=<optimized out>, wy=<optimized out>, include_minzoom=true) at serial.cpp:219
#4  0x00005594d9a1de65 in rewrite (geom=std::vector of length 16, capacity 16 = {...}, z=z@entry=13, nextzoom=14, maxzoom=<optimized out>, bbox=bbox@entry=0x7f54a32dd1a0, tx=tx@entry=2369, ty=<optimized out>, buffer=<optimized out>, within=0x7f54a32dd350, geompos=0x7f54a32dd320, geomfile=0x7fff97437ba0, fname=0x7fff9743bfda "mbtiles/parcels.mbtiles", t=<optimized out>, layer=<optimized out>, feature_minzoom=<optimized out>, child_shards=<optimized out>, max_zoom_increment=<optimized out>, seq=0, tippecanoe_minzoom=<optimized out>, tippecanoe_maxzoom=<optimized out>, segment=<optimized out>, initial_x=0x7fff97438240, initial_y=0x7fff974381f0, metakeys=std::vector of length 3, capacity 4 = {...}, metavals=std::vector of length 3, capacity 4 = {...}, has_id=true, id=10857074377, index=0, extent=42052) at tile.cpp:348
#5  0x00005594d9a1fa35 in next_feature (geoms=geoms@entry=0x7f41300084a0, geompos_in=geompos_in@entry=0x7f54a32ddeb0, z=z@entry=13, tx=tx@entry=2369, ty=ty@entry=3141, initial_x=<optimized out>, initial_y=<optimized out>, original_features=<optimized out>, unclipped_features=<optimized out>, nextzoom=<optimized out>, maxzoom=<optimized out>, minzoom=<optimized out>, max_zoom_increment=<optimized out>, pass=<optimized out>, passes=<optimized out>, along=<optimized out>, alongminus=<optimized out>, buffer=<optimized out>, within=<optimized out>, first_time=<optimized out>, geomfile=<optimized out>, geompos=<optimized out>, oprogress=<optimized out>, todo=todo@entry=12849808566, fname=<optimized out>, child_shards=<optimized out>, filter=<optimized out>, stringpool=<optimized out>, pool_off=<optimized out>, layer_unmaps=<optimized out>) at tile.cpp:1343
#6  0x00005594d9a28930 in write_tile (geoms=geoms@entry=0x7f41300084a0, geompos_in=geompos_in@entry=0x7f54a32ddeb0, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:1852
#7  0x00005594d9a2dd6a in run_thread (vargs=0x5594dad98470) at tile.cpp:2576
#8  0x00007f5575c0f6db in start_thread (arg=0x7f54a32de700) at pthread_create.c:463
#9  0x00007f5574ff988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f54a3adf700 (LWP 7274)):
#0  0x00005594d9a7c531 in deserialize_feature (geoms=0x7f41181e4650, geompos_in=0x7f54a3adeeb0, z=4294967292, tx=2736259840, ty=3397699503, initial_x=0x7fff97438240, initial_y=0x7fff974381f0) at serial.cpp:275
#1  0x00005594d9a1ebb6 in next_feature (geoms=geoms@entry=0x7f41181e4650, geompos_in=geompos_in@entry=0x7f54a3adeeb0, z=z@entry=-4, tx=tx@entry=2736259840, ty=ty@entry=3397699503, initial_x=<optimized out>, initial_y=<optimized out>, original_features=<optimized out>, unclipped_features=<optimized out>, nextzoom=<optimized out>, maxzoom=<optimized out>, minzoom=<optimized out>, max_zoom_increment=<optimized out>, pass=<optimized out>, passes=<optimized out>, along=<optimized out>, alongminus=<optimized out>, buffer=<optimized out>, within=<optimized out>, first_time=<optimized out>, geomfile=<optimized out>, geompos=<optimized out>, oprogress=<optimized out>, todo=todo@entry=12849808566, fname=<optimized out>, child_shards=<optimized out>, filter=<optimized out>, stringpool=<optimized out>, pool_off=<optimized out>, layer_unmaps=<optimized out>) at tile.cpp:1318
#2  0x00005594d9a28930 in write_tile (geoms=geoms@entry=0x7f41181e4650, geompos_in=geompos_in@entry=0x7f54a3adeeb0, stringpool=<optimized out>, z=<optimized out>, tx=<optimized out>, ty=<optimized out>, detail=<optimized out>, min_detail=<optimized out>, outdb=<optimized out>, outdir=<optimized out>, buffer=<optimized out>, fname=<optimized out>, geomfile=<optimized out>, minzoom=<optimized out>, maxzoom=<optimized out>, todo=<optimized out>, along=<optimized out>, alongminus=<optimized out>, gamma=<optimized out>, child_shards=<optimized out>, pool_off=<optimized out>, initial_x=<optimized out>, initial_y=<optimized out>, running=<optimized out>, simplification=<optimized out>, layermaps=<optimized out>, layer_unmaps=<optimized out>, tiling_seg=<optimized out>, pass=<optimized out>, passes=<optimized out>, mingap=<optimized out>, minextent=<optimized out>, fraction=<optimized out>, prefilter=<optimized out>, postfilter=<optimized out>, filter=<optimized out>, arg=<optimized out>) at tile.cpp:1852
#3  0x00005594d9a2dd6a in run_thread (vargs=0x5594dad97c90) at tile.cpp:2576
#4  0x00007f5575c0f6db in start_thread (arg=0x7f54a3adf700) at pthread_create.c:463
#5  0x00007f5574ff988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

@stevage
Copy link
Contributor Author

stevage commented Apr 21, 2020

@ericfischer Were you able to make any progress with the file I sent back in Feb? I emailed it to the address on your Github profile page.

@mcfwesh
Copy link

mcfwesh commented Dec 8, 2021

@stevage I am facing the exact problem. Did you get a solution over the past year and half now?

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

No branches or pull requests

4 participants