Date: Sun, 16 Jul 2017 15:18:53 +0000 From: bugzilla-noreply@freebsd.org To: x11@FreeBSD.org Subject: maintainer-feedback requested: [Bug 220767] lang/beignet: hangs if not linked against libpthread after jemalloc 5.0.0 update Message-ID: <bug-220767-7141-tIuqckL03R@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-220767-7141@https.bugs.freebsd.org/bugzilla/> References: <bug-220767-7141@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
Jan Beich <jbeich@FreeBSD.org> has reassigned Bugzilla Automation <bugzilla@FreeBSD.org>'s request for maintainer-feedback to x11@FreeBSD.org: Bug 220767: lang/beignet: hangs if not linked against libpthread after jemalloc 5.0.0 update https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220767 --- Description --- After base r319971 some applications not already linked against threading library started to hang in [umtxn] state. It affects at least Beignet. However, bisecting jemalloc as part of libc requires 8 steps of rebasing FreeBSD-specific changes. Maybe someone can suggest more apps to try that can trigger the issue. $ pkg install clinfo beignet # requires bug 217635 $ LD_PRELOAD=/lib/libthr.so.3 clinfo # works fine $ gdb clinfo (gdb) r Starting program: /usr/local/bin/clinfo Number of platforms 1 Platform Name Intel Gen OCL Driver Platform Vendor Intel Platform Version OpenCL 2.0 beignet 1.3 Platform Profile FULL_PROFILE Platform Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short cl_khr_gl_sharing Platform Extensions function suffix Intel [New LWP 102018 of process 60317] ^C Thread 1 received signal SIGINT, Interrupt. _umtx_op_err () at /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37 37 RSYSCALL_ERR(_umtx_op) (gdb) bt #0 _umtx_op_err () at /usr/src/lib/libthr/arch/amd64/amd64/_umtx_op_err.S:37 #1 0x0000000803c579e4 in __thr_umutex_lock (mtx=0x803e7dc78 <_mutex_static_lock>, id=101914) at /usr/src/lib/libthr/thread/thr_umtx.c:80 #2 0x0000000803c61acc in _thr_umutex_lock (mtx=0x803e7dc78 <_mutex_static_lock>, id=101914) at /usr/src/lib/libthr/thread/thr_umtx.h:123 #3 0x0000000803c619b4 in init_static (thread=0x80068b000, mutex=0x801348e50) at /usr/src/lib/libthr/thread/thr_mutex.c:304 #4 0x0000000803c602f8 in check_and_init_mutex (mutex=0x801348e50, m=0x7fffffff2de0) at /usr/src/lib/libthr/thread/thr_mutex.c:598 #5 0x0000000803c5f689 in __pthread_mutex_trylock (mutex=0x801348e50) at /usr/src/lib/libthr/thread/thr_mutex.c:614 #6 0x0000000800d656b9 in malloc_mutex_trylock_final (mutex=0x801348e10) at /usr/src/contrib/jemalloc/include/jemalloc/internal/mutex.h:144 #7 0x0000000800d59602 in malloc_mutex_lock (tsdn=0x80063c088, mutex=0x801348e10) at /usr/src/contrib/jemalloc/include/jemalloc/internal/mutex.h:202 #8 0x0000000800d5b6b8 in __je_arena_tcache_fill_small (tsdn=0x80063c088, arena=0x801344980, tcache=0x80063c240, tbin=0x80063c2e0, binind=6, prof_accumbytes=0) at jemalloc_arena.c:1433 #9 0x0000000800cd7013 in __je_tcache_alloc_small_hard (tsdn=0x80063c088, arena=0x801344980, tcache=0x80063c240, tbin=0x80063c2e0, binind=6, tcache_success=0x7fffffff53f6) at jemalloc_tcache.c:93 #10 0x0000000800d8ea3e in tcache_alloc_small (tsd=0x80063c088, arena=0x801344980, tcache=0x80063c240, size=96, binind=6, zero=true, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/tcache_inlines.h:86 #11 arena_malloc (tsdn=0x80063c088, arena=0x0, size=96, ind=6, zero=true, tcache=0x80063c240, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/arena_inlines_b.h:101 #12 iallocztm (tsdn=0x80063c088, size=96, ind=6, zero=true, tcache=0x80063c240, is_internal=false, arena=0x0, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_inlines_c .h:33 #13 imalloc_no_sample (sopts=0x7fffffff5300, dopts=0x7fffffff52d0, tsd=0x80063c088, size=96, usize=96, ind=6) at jemalloc_jemalloc.c:1654 #14 imalloc_body (sopts=0x7fffffff5300, dopts=0x7fffffff52d0, tsd=0x80063c088) at jemalloc_jemalloc.c:1850 #15 imalloc (sopts=0x7fffffff5300, dopts=0x7fffffff52d0) at jemalloc_jemalloc.c:1950 #16 __calloc (num=1, size=96) at jemalloc_jemalloc.c:2064 #17 0x0000000803c5fc0e in mutex_init (mutex=0x801348e50, mutex_attr=0x803e72758 <_pthread_mutexattr_default>, calloc_cb=0x800d8bea0 <__calloc>) at /usr/src/lib/libthr/thread/thr_mutex.c:292 #18 0x0000000803c619dc in init_static (thread=0x80068b000, mutex=0x801348e50) at /usr/src/lib/libthr/thread/thr_mutex.c:307 #19 0x0000000803c602f8 in check_and_init_mutex (mutex=0x801348e50, m=0x7fffffff60d0) at /usr/src/lib/libthr/thread/thr_mutex.c:598 #20 0x0000000803c5f689 in __pthread_mutex_trylock (mutex=0x801348e50) at /usr/src/lib/libthr/thread/thr_mutex.c:614 #21 0x0000000800d656b9 in malloc_mutex_trylock_final (mutex=0x801348e10) at /usr/src/contrib/jemalloc/include/jemalloc/internal/mutex.h:144 #22 0x0000000800d59602 in malloc_mutex_lock (tsdn=0x80063c088, mutex=0x801348e10) at /usr/src/contrib/jemalloc/include/jemalloc/internal/mutex.h:202 #23 0x0000000800d5b6b8 in __je_arena_tcache_fill_small (tsdn=0x80063c088, arena=0x801344980, tcache=0x80063c240, tbin=0x80063c2e0, binind=6, prof_accumbytes=0) at jemalloc_arena.c:1433 #24 0x0000000800cd7013 in __je_tcache_alloc_small_hard (tsdn=0x80063c088, arena=0x801344980, tcache=0x80063c240, tbin=0x80063c2e0, binind=6, tcache_success=0x7fffffff86d6) at jemalloc_tcache.c:93 #25 0x0000000800d72886 in tcache_alloc_small (tsd=0x80063c088, arena=0x801344980, tcache=0x80063c240, size=88, binind=6, zero=false, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/tcache_inlines.h:86 #26 arena_malloc (tsdn=0x80063c088, arena=0x0, size=88, ind=6, zero=false, tcache=0x80063c240, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/arena_inlines_b.h:101 #27 iallocztm (tsdn=0x80063c088, size=88, ind=6, zero=false, tcache=0x80063c240, is_internal=false, arena=0x0, slow_path=false) at /usr/src/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal_inlines_c .h:33 #28 imalloc_no_sample (sopts=0x7fffffff85e0, dopts=0x7fffffff85b0, tsd=0x80063c088, size=88, usize=96, ind=6) at jemalloc_jemalloc.c:1654 #29 imalloc_body (sopts=0x7fffffff85e0, dopts=0x7fffffff85b0, tsd=0x80063c088) at jemalloc_jemalloc.c:1850 #30 imalloc (sopts=0x7fffffff85e0, dopts=0x7fffffff85b0) at jemalloc_jemalloc.c:1950 #31 __malloc (size=88) at jemalloc_jemalloc.c:1981 #32 0x00000008033b81a8 in operator new (size=88) at /usr/src/contrib/libc++/src/new.cpp:70 #33 0x000000080803aa89 in llvm::User::operator new(unsigned long, unsigned int) () from /usr/local/lib/beignet//libgbe.so #34 0x0000000806ea6b34 in clang::CodeGen::CodeGenFunction::StartFunction(clang::GlobalDecl, clang::QualType, llvm::Function*, clang::CodeGen::CGFunctionInfo const&, clang::CodeGen::FunctionArgList const&, clang::SourceLocation, clang::SourceLocation) () from /usr/local/lib/beignet//libgbe.so #35 0x0000000806ea8551 in clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) () from /usr/local/lib/beignet//libgbe.so #36 0x0000000806eba8d9 in clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) () from /usr/local/lib/beignet//libgbe.so #37 0x0000000806eb6774 in clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) () from /usr/local/lib/beignet//libgbe.so #38 0x0000000806ebc322 in clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) () from /usr/local/lib/beignet//libgbe.so #39 0x0000000806e3c82f in (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) () from /usr/local/lib/beignet//libgbe.so #40 0x0000000806e2fb85 in clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) () from /usr/local/lib/beignet//libgbe.so #41 0x00000008077d0462 in clang::ParseAST(clang::Sema&, bool, bool) () from /usr/local/lib/beignet//libgbe.so #42 0x0000000806bdc2b9 in clang::FrontendAction::Execute() () from /usr/local/lib/beignet//libgbe.so #43 0x0000000806ba2cf1 in clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) () from /usr/local/lib/beignet//libgbe.so std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >&, unsigned long, char*, unsigned long*, unsigned int) () from /usr/local/lib/beignet//libgbe.so #45 0x00000008067848b3 in gbe::programNewFromSource(unsigned int, char const*, unsigned long, char const*, char*, unsigned long*) () from /usr/local/lib/beignet//libgbe.so #46 0x00000008019617c7 in cl_program_build (p=0x8006cd1c0, options=0x801992f4d "") at src/cl_program.c:626 #47 0x0000000801952782 in clBuildProgram (program=0x8006cd1c0, num_devices=1, device_list=0x7fffffffe050, options=0x801992f4d "", pfn_notify=0x0, user_data=0x0) at src/cl_api.c:835 #48 0x00000008019757b4 in cl_self_test (device=0x801bcf2a0 <intel_skl_gt2_device>, atomic_in_l3_flag=SELF_TEST_PASS) at src/cl_device_id.c:856 #49 0x0000000801975a3e in cl_get_device_ids (platform=0x801bcb3d8 <intel_platform_data>, device_type=4294967295, num_entries=0, devices=0x0, num_devices=0x8007e8cf0) at src/cl_device_id.c:911 #50 0x00000008019554b3 in clGetDeviceIDs (platform=0x801bcb3d8 <intel_platform_data>, device_type=4294967295, num_entries=0, devices=0x0, num_devices=0x8007e8cf0) at src/cl_api_device_id.c:43 #51 0x000000080083e065 in clGetDeviceIDs (platform=0x801bcb3d8 <intel_platform_data>, device_type=4294967295, num_entries=0, devices=0x0, num_devices=0x8007e8cf0) at ocl_icd_loader_gen.c:58 #52 0x0000000000402341 in printPlatformInfo (p=0) at src/clinfo.c:459 #53 0x000000000040a3bd in main (argc=1, argv=0x7fffffffe2b8) at src/clinfo.c:2676
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-220767-7141-tIuqckL03R>
