Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Crash in earcut #9148

Closed
bsudekum opened this issue May 30, 2017 · 8 comments
Closed

Crash in earcut #9148

bsudekum opened this issue May 30, 2017 · 8 comments
Labels
Core The cross-platform C++ core, aka mbgl crash

Comments

@bsudekum
Copy link

bsudekum commented May 30, 2017


22:38:07.016 +0000	
[Current thread is 1 (Thread 0x7fde69fef700 (LWP 26966))]
Thread 30 (Thread 0x7fde67feb700 (LWP 26970)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 29 (Thread 0x7fde687ec700 (LWP 26969)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 28 (Thread 0x7fde66fe9700 (LWP 26972)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 27 (Thread 0x7fde6d7f6700 (LWP 26959)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 26 (Thread 0x7fde677ea700 (LWP 26971)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 25 (Thread 0x7fde6a7f0700 (LWP 26965)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 24 (Thread 0x7fde6b7f2700 (LWP 26963)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 23 (Thread 0x7fde68fed700 (LWP 26968)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 22 (Thread 0x7fde6eff9700 (LWP 26956)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 21 (Thread 0x7fde6cff5700 (LWP 26960)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 20 (Thread 0x7fde697ee700 (LWP 26967)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 19 (Thread 0x7fde6dff7700 (LWP 26958)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 18 (Thread 0x7fde667e8700 (LWP 26973)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 17 (Thread 0x7fde6aff1700 (LWP 26964)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 16 (Thread 0x7fde6f7fa700 (LWP 26955)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 15 (Thread 0x7fde6bff3700 (LWP 26962)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 14 (Thread 0x7fde70ffd700 (LWP 26952)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 13 (Thread 0x7fde86810780 (LWP 26868)):
#0  0x00007fde8550c34a in __lll_unlock_wake () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fde8550753f in pthread_mutex_unlock () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x0000000000fb5129 in uv_mutex_unlock (mutex=<optimized out>) at ../deps/uv/src/unix/thread.c:173
#3  0x0000000000fae60b in uv_getaddrinfo (loop=0x1998e00 <default_loop_struct>, req=0x7fde283f2c58, cb=0xddb370 <node::cares_wrap::AfterGetAddrInfo(uv_getaddrinfo_s*, int, addrinfo*)>, hostname=0x7ffcfaa97e00 "localhost", service=0x0, hints=<optimized out>) at ../deps/uv/src/unix/getaddrinfo.c:186
#4  0x0000000000de1bb0 in node::cares_wrap::GetAddrInfo(v8::FunctionCallbackInfo<v8::Value> const&) ()
#5  0x00002b4328638d88 in ?? ()
#6  0x00007ffcfaa98288 in ?? ()
#7  0x00007ffcfaa982d8 in ?? ()
#8  0x0000000000000004 in ?? ()
#9  0x0000000000000000 in ?? ()
Thread 12 (Thread 0x7fde6fffb700 (LWP 26954)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 11 (Thread 0x7fde707fc700 (LWP 26953)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 10 (Thread 0x7fde6c7f4700 (LWP 26961)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 9 (Thread 0x7fde71fff700 (LWP 26950)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 8 (Thread 0x7fde717fe700 (LWP 26951)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 7 (Thread 0x7fde83ffe700 (LWP 26872)):
#0  0x00007fde8550b867 in do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fde8550b914 in __new_sem_wait_slow.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fde8550b9ba in sem_wait@@GLIBC_2.2.5 () from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x0000000000fbf128 in v8::base::Semaphore::Wait() ()
#4  0x0000000000e5b089 in v8::platform::TaskQueue::GetNext() ()
#5  0x0000000000e5b1dc in v8::platform::WorkerThread::Run() ()
#6  0x0000000000fc00e0 in v8::base::ThreadEntry(void*) ()
#7  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 6 (Thread 0x7fde6e7f8700 (LWP 26957)):
#0  0x00007fde855093a0 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x0000000000fb5469 in uv_cond_wait (cond=cond@entry=0x1998da0 <cond>, mutex=mutex@entry=0x1998d60 <mutex>) at ../deps/uv/src/unix/thread.c:443
#2  0x0000000000fa5e38 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:75
#3  0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#4  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 5 (Thread 0x7fde847ff700 (LWP 26871)):
#0  0x00007fde8550b867 in do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fde8550b914 in __new_sem_wait_slow.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fde8550b9ba in sem_wait@@GLIBC_2.2.5 () from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x0000000000fbf128 in v8::base::Semaphore::Wait() ()
#4  0x0000000000e5b089 in v8::platform::TaskQueue::GetNext() ()
#5  0x0000000000e5b1dc in v8::platform::WorkerThread::Run() ()
#6  0x0000000000fc00e0 in v8::base::ThreadEntry(void*) ()
#7  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 4 (Thread 0x7fde82ffc700 (LWP 26874)):
#0  0x00007fde8550b867 in do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fde8550b914 in __new_sem_wait_slow.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fde8550b9ba in sem_wait@@GLIBC_2.2.5 () from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x0000000000fbf128 in v8::base::Semaphore::Wait() ()
#4  0x0000000000e5b089 in v8::platform::TaskQueue::GetNext() ()
#5  0x0000000000e5b1dc in v8::platform::WorkerThread::Run() ()
#6  0x0000000000fc00e0 in v8::base::ThreadEntry(void*) ()
#7  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 3 (Thread 0x7fde837fd700 (LWP 26873)):
#0  0x00007fde8550b867 in do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fde8550b914 in __new_sem_wait_slow.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fde8550b9ba in sem_wait@@GLIBC_2.2.5 () from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x0000000000fbf128 in v8::base::Semaphore::Wait() ()
#4  0x0000000000e5b089 in v8::platform::TaskQueue::GetNext() ()
#5  0x0000000000e5b1dc in v8::platform::WorkerThread::Run() ()
#6  0x0000000000fc00e0 in v8::base::ThreadEntry(void*) ()
#7  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 2 (Thread 0x7fde8681f700 (LWP 26870)):
#0  0x00007fde8550b867 in do_futex_wait.constprop () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fde8550b914 in __new_sem_wait_slow.constprop.0 () from /lib/x86_64-linux-gnu/libpthread.so.0
#2  0x00007fde8550b9ba in sem_wait@@GLIBC_2.2.5 () from /lib/x86_64-linux-gnu/libpthread.so.0
#3  0x0000000000fb52f2 in uv_sem_wait (sem=0x1997220 <node::debug_semaphore>) at ../deps/uv/src/unix/thread.c:330
#4  0x0000000000de5b82 in node::DebugSignalThreadMain(void*) ()
#5  0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6
Thread 1 (Thread 0x7fde69fef700 (LWP 26966)):
#0  0x00007fde80f9acc3 in mapbox::detail::Earcut<unsigned int>::findHoleBridge(mapbox::detail::Earcut<unsigned int>::Node*, mapbox::detail::Earcut<unsigned int>::Node*) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#1  0x00007fde80f9a6f7 in mapbox::detail::Earcut<unsigned int>::eliminateHole(mapbox::detail::Earcut<unsigned int>::Node*, mapbox::detail::Earcut<unsigned int>::Node*) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#2  0x00007fde80f9a2c3 in mapbox::detail::Earcut<unsigned int>::Node* mapbox::detail::Earcut<unsigned int>::eliminateHoles<mbgl::GeometryCollection>(mbgl::GeometryCollection const&, mapbox::detail::Earcut<unsigned int>::Node*) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#3  0x00007fde80f99dab in void mapbox::detail::Earcut<unsigned int>::operator()<mbgl::GeometryCollection>(mbgl::GeometryCollection const&) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#4  0x00007fde80f99532 in std::vector<unsigned int, std::allocator<unsigned int> > mapbox::earcut<unsigned int, mbgl::GeometryCollection>(mbgl::GeometryCollection const&) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#5  0x00007fde80f99066 in mbgl::FillBucket::addFeature(mbgl::GeometryTileFeature const&, mbgl::GeometryCollection const&) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#6  0x00007fde8100b0b4 in mbgl::GeometryTileWorker::redoLayout() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#7  0x00007fde8100bb56 in mbgl::GeometryTileWorker::coalesced() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#8  0x00007fde80eced08 in mbgl::Mailbox::receive() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#9  0x00007fde80ecee76 in mbgl::Mailbox::maybeReceive(std::weak_ptr<mbgl::Mailbox>) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#10 0x00007fde80ecdd93 in node_mbgl::NodeThreadPool::Worker::Execute() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#11 0x0000000000fa5e91 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:95
#12 0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#13 0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Note, important part of this crash is in thread 1:

Thread 1 (Thread 0x7fde69fef700 (LWP 26966)):
#0  0x00007fde80f9acc3 in mapbox::detail::Earcut<unsigned int>::findHoleBridge(mapbox::detail::Earcut<unsigned int>::Node*, mapbox::detail::Earcut<unsigned int>::Node*) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#1  0x00007fde80f9a6f7 in mapbox::detail::Earcut<unsigned int>::eliminateHole(mapbox::detail::Earcut<unsigned int>::Node*, mapbox::detail::Earcut<unsigned int>::Node*) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#2  0x00007fde80f9a2c3 in mapbox::detail::Earcut<unsigned int>::Node* mapbox::detail::Earcut<unsigned int>::eliminateHoles<mbgl::GeometryCollection>(mbgl::GeometryCollection const&, mapbox::detail::Earcut<unsigned int>::Node*) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#3  0x00007fde80f99dab in void mapbox::detail::Earcut<unsigned int>::operator()<mbgl::GeometryCollection>(mbgl::GeometryCollection const&) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#4  0x00007fde80f99532 in std::vector<unsigned int, std::allocator<unsigned int> > mapbox::earcut<unsigned int, mbgl::GeometryCollection>(mbgl::GeometryCollection const&) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#5  0x00007fde80f99066 in mbgl::FillBucket::addFeature(mbgl::GeometryTileFeature const&, mbgl::GeometryCollection const&) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#6  0x00007fde8100b0b4 in mbgl::GeometryTileWorker::redoLayout() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#7  0x00007fde8100bb56 in mbgl::GeometryTileWorker::coalesced() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#8  0x00007fde80eced08 in mbgl::Mailbox::receive() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#9  0x00007fde80ecee76 in mbgl::Mailbox::maybeReceive(std::weak_ptr<mbgl::Mailbox>) () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#10 0x00007fde80ecdd93 in node_mbgl::NodeThreadPool::Worker::Execute() () from /usr/local/src/app/node_modules/@mapbox/mapbox-gl-native/lib/mapbox_gl_native.node
#11 0x0000000000fa5e91 in worker (arg=arg@entry=0x0) at ../deps/uv/src/threadpool.c:95
#12 0x0000000000fb4fc9 in uv__thread_start (arg=<optimized out>) at ../deps/uv/src/unix/thread.c:52
#13 0x00007fde855036fa in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00007fde85239b5d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Starting to see this crash quite often. Looks similar to #9002

Note, this is using node-v3.5.3

/cc @tmpsantos @brunoabinader @kkaefer @springmeyer @jfirebaugh @mourner

@springmeyer
Copy link
Contributor

Looks similar to #9002

Yes, looks like the same crash - although this was has a larger callstack, which is great. This is likely a bug in earcut - @bsudekum ideally you could either a) replicate with a debug build to get a line number and/or b) isolate the geometry that is causing this (hard, but maybe possible).

@springmeyer
Copy link
Contributor

This is likely a bug in earcut

Or the memory being passed to earcut is becoming invalid - which would likely be a mbgl bug.

@kkaefer kkaefer added Core The cross-platform C++ core, aka mbgl crash labels May 31, 2017
@springmeyer
Copy link
Contributor

@brunoabinader - my understanding is that you were trying to isolate/fix this crash. Any progress? //cc @kkaefer

@brunoabinader
Copy link
Member

We haven't been able to reproduce this issue again in the latest node release, have we @bsudekum?

@mourner
Copy link
Member

mourner commented Oct 16, 2017

This seems very likely mapbox/earcut.hpp#54. Fix pending there.

@springmeyer
Copy link
Contributor

Wow, fantastic lead @mourner

@springmeyer
Copy link
Contributor

Hopefully fixed by #10251

@brunoabinader
Copy link
Member

As mentioned by @springmeyer - closing after #10251, we can reopen it if the issue reappears.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Core The cross-platform C++ core, aka mbgl crash
Projects
None yet
Development

No branches or pull requests

5 participants