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

Fix crash. #13

Closed
wants to merge 1 commit into from
Closed

Fix crash. #13

wants to merge 1 commit into from

Conversation

fire
Copy link

@fire fire commented Oct 10, 2020

At your option you can re-license this code under any license.

@fire
Copy link
Author

fire commented Oct 10, 2020

Are the builds stored anywhere I can use?

@huxingyi
Copy link
Owner

Hi @fire Thanks for the PR, there is no build distributed for pull request. The CI only do the build and discard.
The check you added for relative height result looks like should not be the cause for crash, unless there is not enough memory. Could you show the crash stack please?

@fire
Copy link
Author

fire commented Oct 11, 2020

Process:               autoremesher [6523]
Path:                  /Users/USER/Downloads/*/autoremesher.app/Contents/MacOS/autoremesher
Identifier:            com.yourcompany.autoremesher
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           autoremesher [6523]
User ID:               1701750949

Date/Time:             2020-10-10 13:00:47.023 -0700
OS Version:            Mac OS X 10.15.7 (19H2)
Report Version:        12
Bridge OS Version:     4.6 (17P6610)
Anonymous UUID:        46377E5D-2430-C73A-F5C7-17197E0620CC


Time Awake Since Boot: 420000 seconds

System Integrity Protection: enabled

Crashed Thread:        8

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

ID   Vend/Dev
7005 67df1002
ec76 1e0710de
7005 67df1002
Seconds Ago   ID   Type
   420000.0   7005 Attach
   330000.0   7005 Detach
     4600.0   ec76 Detach
     4500.0   7005 Attach

Application Specific Information:
abort() called
autoremesher(6523,0x70000feb1000) malloc: *** error for object 0x7ff893c57810: pointer being freed was not allocated
 

Thread 0:: Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	0x00007fff695dbdfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff695dc170 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff2f42aef5 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation      	0x00007fff2f4299c2 __CFRunLoopRun + 1319
4   com.apple.CoreFoundation      	0x00007fff2f428e3e CFRunLoopRunSpecific + 462
5   com.apple.HIToolbox           	0x00007fff2e055abd RunCurrentEventLoopInMode + 292
6   com.apple.HIToolbox           	0x00007fff2e0557d5 ReceiveNextEventCommon + 584
7   com.apple.HIToolbox           	0x00007fff2e055579 _BlockUntilNextEventMatchingListInModeWithFilter + 64
8   com.apple.AppKit              	0x00007fff2c69b039 _DPSNextEvent + 883
9   com.apple.AppKit              	0x00007fff2c699880 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1352
10  com.apple.AppKit              	0x00007fff2c68b58e -[NSApplication run] + 658
11  libqcocoa.dylib               	0x000000010dc0e2c4 0x10dbd6000 + 230084
12  org.qt-project.QtCore         	0x000000010bb17d97 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 439
13  org.qt-project.QtCore         	0x000000010bb1c162 QCoreApplication::exec() + 130
14  com.yourcompany.autoremesher  	0x0000000109ea4f0b main + 1275
15  libdyld.dylib                 	0x00007fff6949acc9 start + 1

Thread 1:
0   libsystem_pthread.dylib       	0x00007fff6969ab68 start_wqthread + 0

Thread 2:
0   libsystem_pthread.dylib       	0x00007fff6969ab68 start_wqthread + 0

Thread 3:
0   libsystem_pthread.dylib       	0x00007fff6969ab68 start_wqthread + 0

Thread 4:
0   libsystem_pthread.dylib       	0x00007fff6969ab68 start_wqthread + 0

Thread 5:: com.apple.NSEventThread
0   libsystem_kernel.dylib        	0x00007fff695dbdfa mach_msg_trap + 10
1   libsystem_kernel.dylib        	0x00007fff695dc170 mach_msg + 60
2   com.apple.CoreFoundation      	0x00007fff2f42aef5 __CFRunLoopServiceMachPort + 247
3   com.apple.CoreFoundation      	0x00007fff2f4299c2 __CFRunLoopRun + 1319
4   com.apple.CoreFoundation      	0x00007fff2f428e3e CFRunLoopRunSpecific + 462
5   com.apple.AppKit              	0x00007fff2c83c954 _NSEventThread + 132
6   libsystem_pthread.dylib       	0x00007fff6969f109 _pthread_start + 148
7   libsystem_pthread.dylib       	0x00007fff6969ab8b thread_start + 15

Thread 6:: QThread
0   com.yourcompany.autoremesher  	0x000000010a023522 AutoRemesher::RelativeHeight::calculateVertexNormals(std::__1::vector<AutoRemesher::Vector3, std::__1::allocator<AutoRemesher::Vector3> > const&, std::__1::vector<std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >, std::__1::allocator<std::__1::vector<unsigned long, std::__1::allocator<unsigned long> > > > const&, std::__1::vector<AutoRemesher::Vector3, std::__1::allocator<AutoRemesher::Vector3> >*) + 530
1   com.yourcompany.autoremesher  	0x000000010a02429d AutoRemesher::RelativeHeight::calculate() + 269
2   com.yourcompany.autoremesher  	0x000000010a00a273 AutoRemesher::Parameterizer::parameterize() + 67
3   com.yourcompany.autoremesher  	0x0000000109ed8adb tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::run_body(tbb::blocked_range<unsigned long>&) + 411
4   com.yourcompany.autoremesher  	0x0000000109ed8850 tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::execute() + 1136
5   com.yourcompany.autoremesher  	0x000000010a33b7da tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) + 762
6   com.yourcompany.autoremesher  	0x000000010a338fae tbb::internal::generic_scheduler::local_spawn_root_and_wait(tbb::task&, tbb::task*&) + 222
7   com.yourcompany.autoremesher  	0x0000000109ed64a5 AutoRemesher::AutoRemesher::remesh() + 5029
8   com.yourcompany.autoremesher  	0x0000000109ed2e4a QuadMeshGenerator::generate() + 154
9   com.yourcompany.autoremesher  	0x0000000109ed2cef QuadMeshGenerator::process() + 47
10  org.qt-project.QtCore         	0x000000010bb4e252 0x10b92b000 + 2241106
11  org.qt-project.QtCore         	0x000000010b94bb68 QThread::started(QThread::QPrivateSignal) + 56
12  org.qt-project.QtCore         	0x000000010b94c37f 0x10b92b000 + 136063
13  libsystem_pthread.dylib       	0x00007fff6969f109 _pthread_start + 148
14  libsystem_pthread.dylib       	0x00007fff6969ab8b thread_start + 15

Thread 7:
0   com.yourcompany.autoremesher  	0x0000000109ec5019 std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const + 425
1   com.yourcompany.autoremesher  	0x000000010a051abd GEO::LoggerStreamBuf::sync() + 29
2   libc++.1.dylib                	0x00007fff667704e9 std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush() + 65
3   com.yourcompany.autoremesher  	0x000000010a08cbe6 GEO::FrameField::create_from_surface_mesh(GEO::Mesh const&, bool, double) + 1222
4   com.yourcompany.autoremesher  	0x000000010a00a9e9 AutoRemesher::Parameterizer::parameterize() + 1977
5   com.yourcompany.autoremesher  	0x0000000109ed8adb tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::run_body(tbb::blocked_range<unsigned long>&) + 411
6   com.yourcompany.autoremesher  	0x0000000109ed8850 tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::execute() + 1136
7   com.yourcompany.autoremesher  	0x000000010a33b7da tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) + 762
8   com.yourcompany.autoremesher  	0x000000010a32d22e tbb::internal::arena::process(tbb::internal::generic_scheduler&) + 574
9   com.yourcompany.autoremesher  	0x000000010a336645 tbb::internal::market::process(rml::job&) + 117
10  com.yourcompany.autoremesher  	0x000000010a3376fd tbb::internal::rml::private_worker::run() + 173
11  com.yourcompany.autoremesher  	0x000000010a337649 tbb::internal::rml::private_worker::thread_routine(void*) + 9
12  libsystem_pthread.dylib       	0x00007fff6969f109 _pthread_start + 148
13  libsystem_pthread.dylib       	0x00007fff6969ab8b thread_start + 15

Thread 8 Crashed:
0   libsystem_kernel.dylib        	0x00007fff695e233a __pthread_kill + 10
1   libsystem_pthread.dylib       	0x00007fff6969ee60 pthread_kill + 430
2   libsystem_c.dylib             	0x00007fff69569808 abort + 120
3   libsystem_malloc.dylib        	0x00007fff6965f50b malloc_vreport + 548
4   libsystem_malloc.dylib        	0x00007fff6966240f malloc_report + 151
5   com.yourcompany.autoremesher  	0x000000010a0811fc GEO::Biblio::cite(char const*, char const*, int, char const*, char const*) + 3132
6   com.yourcompany.autoremesher  	0x000000010a08c78b GEO::FrameField::create_from_surface_mesh(GEO::Mesh const&, bool, double) + 107
7   com.yourcompany.autoremesher  	0x000000010a00a9e9 AutoRemesher::Parameterizer::parameterize() + 1977
8   com.yourcompany.autoremesher  	0x0000000109ed8adb tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::run_body(tbb::blocked_range<unsigned long>&) + 411
9   com.yourcompany.autoremesher  	0x0000000109ed8850 tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::execute() + 1136
10  com.yourcompany.autoremesher  	0x000000010a33b7da tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) + 762
11  com.yourcompany.autoremesher  	0x000000010a32d22e tbb::internal::arena::process(tbb::internal::generic_scheduler&) + 574
12  com.yourcompany.autoremesher  	0x000000010a336645 tbb::internal::market::process(rml::job&) + 117
13  com.yourcompany.autoremesher  	0x000000010a3376fd tbb::internal::rml::private_worker::run() + 173
14  com.yourcompany.autoremesher  	0x000000010a337649 tbb::internal::rml::private_worker::thread_routine(void*) + 9
15  libsystem_pthread.dylib       	0x00007fff6969f109 _pthread_start + 148
16  libsystem_pthread.dylib       	0x00007fff6969ab8b thread_start + 15

Thread 9:
0   com.yourcompany.autoremesher  	0x0000000109ec5019 std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const + 425
1   com.yourcompany.autoremesher  	0x000000010a051abd GEO::LoggerStreamBuf::sync() + 29
2   libc++.1.dylib                	0x00007fff667704e9 std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush() + 65
3   com.yourcompany.autoremesher  	0x000000010a328105 GEO::MatrixM::finalize_M0() + 325
4   com.yourcompany.autoremesher  	0x000000010a327ee4 GEO::MatrixM::end_pass(unsigned int) + 36
5   com.yourcompany.autoremesher  	0x000000010a322545 GEO::GlobalParam2d::Internal::quad_cover_solve(GEO::Mesh*, GEO::Attribute<GEO::vecng<3u, double> >&, GEO::Attribute<unsigned int>&, GEO::Attribute<unsigned int>&, GEO::Attribute<unsigned int>&, GEO::Attribute<GEO::vecng<2u, double> >&, GEO::Attribute<double>&, GEO::Attribute<bool>&, double, bool, bool) + 12037
6   com.yourcompany.autoremesher  	0x000000010a324183 GEO::GlobalParam2d::quad_cover(GEO::Mesh*, GEO::Attribute<GEO::vecng<3u, double> >&, GEO::Attribute<GEO::vecng<2u, double> >&, double, bool, bool, bool) + 803
7   com.yourcompany.autoremesher  	0x000000010a00ab29 AutoRemesher::Parameterizer::parameterize() + 2297
8   com.yourcompany.autoremesher  	0x0000000109ed8adb tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::run_body(tbb::blocked_range<unsigned long>&) + 411
9   com.yourcompany.autoremesher  	0x0000000109ed8850 tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::execute() + 1136
10  com.yourcompany.autoremesher  	0x000000010a33b7da tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) + 762
11  com.yourcompany.autoremesher  	0x000000010a32d22e tbb::internal::arena::process(tbb::internal::generic_scheduler&) + 574
12  com.yourcompany.autoremesher  	0x000000010a336645 tbb::internal::market::process(rml::job&) + 117
13  com.yourcompany.autoremesher  	0x000000010a3376fd tbb::internal::rml::private_worker::run() + 173
14  com.yourcompany.autoremesher  	0x000000010a337649 tbb::internal::rml::private_worker::thread_routine(void*) + 9
15  libsystem_pthread.dylib       	0x00007fff6969f109 _pthread_start + 148
16  libsystem_pthread.dylib       	0x00007fff6969ab8b thread_start + 15

Thread 10:
0   com.yourcompany.autoremesher  	0x0000000109ec5019 std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const + 425
1   com.yourcompany.autoremesher  	0x000000010a051abd GEO::LoggerStreamBuf::sync() + 29
2   libc++.1.dylib                	0x00007fff667704e9 std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush() + 65
3   com.yourcompany.autoremesher  	0x000000010a08cbe6 GEO::FrameField::create_from_surface_mesh(GEO::Mesh const&, bool, double) + 1222
4   com.yourcompany.autoremesher  	0x000000010a00a9e9 AutoRemesher::Parameterizer::parameterize() + 1977
5   com.yourcompany.autoremesher  	0x0000000109ed8adb tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::run_body(tbb::blocked_range<unsigned long>&) + 411
6   com.yourcompany.autoremesher  	0x0000000109ed8850 tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::execute() + 1136
7   com.yourcompany.autoremesher  	0x000000010a33b7da tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) + 762
8   com.yourcompany.autoremesher  	0x000000010a32d22e tbb::internal::arena::process(tbb::internal::generic_scheduler&) + 574
9   com.yourcompany.autoremesher  	0x000000010a336645 tbb::internal::market::process(rml::job&) + 117
10  com.yourcompany.autoremesher  	0x000000010a3376fd tbb::internal::rml::private_worker::run() + 173
11  com.yourcompany.autoremesher  	0x000000010a337649 tbb::internal::rml::private_worker::thread_routine(void*) + 9
12  libsystem_pthread.dylib       	0x00007fff6969f109 _pthread_start + 148
13  libsystem_pthread.dylib       	0x00007fff6969ab8b thread_start + 15

Thread 11:
0   com.yourcompany.autoremesher  	0x0000000109ec5019 std::__1::basic_stringbuf<char, std::__1::char_traits<char>, std::__1::allocator<char> >::str() const + 425
1   com.yourcompany.autoremesher  	0x000000010a051abd GEO::LoggerStreamBuf::sync() + 29
2   libc++.1.dylib                	0x00007fff667704e9 std::__1::basic_ostream<char, std::__1::char_traits<char> >::flush() + 65
3   com.yourcompany.autoremesher  	0x000000010a328105 GEO::MatrixM::finalize_M0() + 325
4   com.yourcompany.autoremesher  	0x000000010a327ee4 GEO::MatrixM::end_pass(unsigned int) + 36
5   com.yourcompany.autoremesher  	0x000000010a322545 GEO::GlobalParam2d::Internal::quad_cover_solve(GEO::Mesh*, GEO::Attribute<GEO::vecng<3u, double> >&, GEO::Attribute<unsigned int>&, GEO::Attribute<unsigned int>&, GEO::Attribute<unsigned int>&, GEO::Attribute<GEO::vecng<2u, double> >&, GEO::Attribute<double>&, GEO::Attribute<bool>&, double, bool, bool) + 12037
6   com.yourcompany.autoremesher  	0x000000010a324183 GEO::GlobalParam2d::quad_cover(GEO::Mesh*, GEO::Attribute<GEO::vecng<3u, double> >&, GEO::Attribute<GEO::vecng<2u, double> >&, double, bool, bool, bool) + 803
7   com.yourcompany.autoremesher  	0x000000010a00ab29 AutoRemesher::Parameterizer::parameterize() + 2297
8   com.yourcompany.autoremesher  	0x0000000109ed8adb tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::run_body(tbb::blocked_range<unsigned long>&) + 411
9   com.yourcompany.autoremesher  	0x0000000109ed8850 tbb::interface9::internal::start_for<tbb::blocked_range<unsigned long>, AutoRemesher::AutoRemesher::remesh()::SurfaceParameterizer, tbb::auto_partitioner const>::execute() + 1136
10  com.yourcompany.autoremesher  	0x000000010a33b7da tbb::internal::custom_scheduler<tbb::internal::IntelSchedulerTraits>::local_wait_for_all(tbb::task&, tbb::task*) + 762
11  com.yourcompany.autoremesher  	0x000000010a32d22e tbb::internal::arena::process(tbb::internal::generic_scheduler&) + 574
12  com.yourcompany.autoremesher  	0x000000010a336645 tbb::internal::market::process(rml::job&) + 117
13  com.yourcompany.autoremesher  	0x000000010a3376fd tbb::internal::rml::private_worker::run() + 173
14  com.yourcompany.autoremesher  	0x000000010a337649 tbb::internal::rml::private_worker::thread_routine(void*) + 9
15  libsystem_pthread.dylib       	0x00007fff6969f109 _pthread_start + 148
16  libsystem_pthread.dylib       	0x00007fff6969ab8b thread_start + 15

Thread 8 crashed with X86 Thread State (64-bit):
  rax: 0x0000000000000000  rbx: 0x000070000feb1000  rcx: 0x000070000feaff18  rdx: 0x0000000000000000
  rdi: 0x0000000000011403  rsi: 0x0000000000000006  rbp: 0x000070000feaff40  rsp: 0x000070000feaff18
   r8: 0x0000000000000000   r9: 0x0000000000000000  r10: 0x000070000feb1000  r11: 0x0000000000000246
  r12: 0x0000000000011403  r13: 0x0000000000000050  r14: 0x0000000000000006  r15: 0x0000000000000016
  rip: 0x00007fff695e233a  rfl: 0x0000000000000246  cr2: 0x000000010e25d000
  
Logical CPU:     0
Error Code:      0x02000148
Trap Number:     133

@huxingyi
Copy link
Owner

Thanks, that's very useful information. It shows Thread 8 Crashed, most likely is a multithread misuse issue of the Geogram library.

@fire
Copy link
Author

fire commented Oct 20, 2020

Do you have any new insights on the crash bug?

@huxingyi
Copy link
Owner

Not yet, sorry I am not working on it at the moment, will come back later.

@fire
Copy link
Author

fire commented Dec 4, 2020

No motion.

@fire fire closed this Dec 4, 2020
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

Successfully merging this pull request may close these issues.

None yet

2 participants