erichkeane added a comment. In D127593#3590072 <https://reviews.llvm.org/D127593#3590072>, @Javier-varez wrote:
> I did try this locally and the built test binaries seem to crash with a > segmentation fault. I run one of them in lldb to check the error and I got > this backtrace: > > llvm-project/build on fix-trivially-copyable-check [?⇕] via △ v3.22.3 > took 3s ❯ lldb > /Users/javier/Desktop/Projects/llvm-project/build/projects/openmp/runtime/test/worksharing/single/Output/omp_single_copyprivate.c.tmp > (lldb) target create > "/Users/javier/Desktop/Projects/llvm-project/build/projects/openmp/runtime/test/worksharing/single/Output/omp_single_copyprivate.c.tmp" > Current executable set to > '/Users/javier/Desktop/Projects/llvm-project/build/projects/openmp/runtime/test/worksharing/single/Output/omp_single_copyprivate.c.tmp' > (arm64). > (lldb) r > Process 61339 launched: > '/Users/javier/Desktop/Projects/llvm-project/build/projects/openmp/runtime/test/worksharing/single/Output/omp_single_copyprivate.c.tmp' > (arm64) > Process 61339 stopped > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=1, address=0x10) > frame #0: 0x0000000100362f54 > libomp.dylib`::__kmp_get_global_thread_id() at kmp_runtime.cpp:201:8 > 198 > 199 /* dynamically updated stack window for uber threads to avoid > get_specific > 200 call */ > -> 201 if (!TCR_4(other_threads[i]->th.th_info.ds.ds_stackgrow)) { > 202 KMP_FATAL(StackOverflow, i); > 203 } > 204 > Target 0: (omp_single_copyprivate.c.tmp) stopped. > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS > (code=1, address=0x10) > * frame #0: 0x0000000100362f54 > libomp.dylib`::__kmp_get_global_thread_id() at kmp_runtime.cpp:201:8 > frame #1: 0x00000001003b8c60 libomp.dylib`void > __kmp_release_template<kmp_flag_64<false, true> >(flag=0x000000016fdff0b8) at > kmp_wait_release.h:790:39 > frame #2: 0x00000001003b8c20 > libomp.dylib`::__kmp_release_64(flag=0x000000016fdff0b8) at > kmp_wait_release.cpp:25:46 > frame #3: 0x00000001003798d0 > libomp.dylib`__kmp_reap_thread(thread=0x0000000101010a40, is_root=0) at > kmp_runtime.cpp:6146:9 > frame #4: 0x000000010037497c libomp.dylib`__kmp_internal_end() at > kmp_runtime.cpp:6334:7 > frame #5: 0x00000001003745ec > libomp.dylib`::__kmp_internal_end_library(gtid_req=-1) at > kmp_runtime.cpp:6498:3 > frame #6: 0x0000000100374258 libomp.dylib`::__kmp_internal_end_atexit() > at kmp_runtime.cpp:6115:3 > frame #7: 0x0000000100374218 libomp.dylib`::__kmp_internal_end_dtor() > at kmp_runtime.cpp:6083:3 > frame #8: 0x0000000189359dc4 libsystem_c.dylib`__cxa_finalize_ranges + > 464 > frame #9: 0x0000000189359b68 libsystem_c.dylib`exit + 44 > frame #10: 0x000000018947aec4 > libdyld.dylib`dyld4::LibSystemHelpers::exit(int) const + 20 > frame #11: 0x00000001000150d4 dyld`start + 592 > (lldb) > > Not sure how to proceed from here though... I'm really not familiar with > OpenMP If you remove your patch, does the OMP failure still happen? Or does this patch cause it? If so, you might find that you need to see the difference between the two generated executables and see if something obvious has changed. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D127593/new/ https://reviews.llvm.org/D127593 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits