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

protobuf-3.25.3 with abseil-20240116.2 crash #1751

Open
cbai-plcm opened this issue Sep 6, 2024 · 0 comments
Open

protobuf-3.25.3 with abseil-20240116.2 crash #1751

cbai-plcm opened this issue Sep 6, 2024 · 0 comments

Comments

@cbai-plcm
Copy link

cbai-plcm commented Sep 6, 2024

Describe the issue

Hi team,

After we upgraded to protobuf-3.25.3, it always crashes in abseil code. Could you help check?
we dlopen two dynamic libraries(libView-TsdrClient.dylib, libView-ScannerRedirClient.dylib) in different threads. However, it always jump in dead lock and then crash.

If it is not a bug, could you give us some suggestions?
Also, Could you tell what's this used for since I can not find where is is invoked? absl::lts_20240116::flags_internal::FlagRegistrar<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, true>::OnUpdate(void (*)()) && + 36 (flag.h:779)

Thanks very much.

`Crashed Thread: 0

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

Termination Reason: Namespace SIGNAL, Code 6 Abort trap: 6
Terminating Process: remotemks [48793]

Application Specific Information:
*** multi-threaded process forked ***
crashed on child side of fork pre-exec

Thread 0 Crashed:
0 libsystem_kernel.dylib 0x7ff80cd2114a __pthread_kill + 10
1 libsystem_pthread.dylib 0x7ff80cd59ebd pthread_kill + 262
2 libbase.dylib 0x110e7a3fa SigCoreDumpViaChild + 730 (sigPosix.c:2246)
3 libbase.dylib 0x110e7a6fb Sig_CoreDump + 11 (sigPosix.c:2337)
4 libbase.dylib 0x110da6094 Panic_Panic + 212 (panic.c:534)
5 libbase.dylib 0x110da6212 Panic + 130 (panicDefault.c:43)
6 libbase.dylib 0x110e7afb9 SigNoHandler + 569
7 libbase.dylib 0x110e7abb0 SigCatcherCommon + 320 (sigPosix.c:813)
8 libsystem_platform.dylib 0x7ff80cd88fdd _sigtramp + 29
9 ??? 0x1154720a8 ???
10 libView-TsdrClient.dylib 0x11901f8e8 absl::lts_20240116::synchronization_internal::GraphCycles::Ptr(absl::lts_20240116::synchronization_internal::GraphId) + 40 (graphcycles.cc:467)
11 libView-TsdrClient.dylib 0x118ffc459 absl::lts_20240116::DeadlockCheck(absl::lts_20240116::Mutex*) + 265 (mutex.cc:1404)
12 libView-TsdrClient.dylib 0x118ff760f absl::lts_20240116::DebugOnlyDeadlockCheck(absl::lts_20240116::Mutex*) + 47 (mutex.cc:1469)
13 libView-TsdrClient.dylib 0x118ff7539 absl::lts_20240116::Mutex::Lock() + 25 (mutex.cc:1526)
14 libView-TsdrClient.dylib 0x118ce9b53 absl::lts_20240116::MutexLock::MutexLock(absl::lts_20240116::Mutex*) + 35 (mutex.h:584)
15 libView-TsdrClient.dylib 0x118ce997d absl::lts_20240116::MutexLock::MutexLock(absl::lts_20240116::Mutex*) + 29 (mutex.h:583)
16 libView-TsdrClient.dylib 0x118fd8116 absl::lts_20240116::log_internal::UpdateVLogSites() + 70 (vlog_config.cc:262)
17 libView-TsdrClient.dylib 0x118fd881d absl::lts_20240116::log_internal::UpdateVModule(std::__1::basic_string_view<char, std::__1::char_traits>) + 829 (vlog_config.cc:302)
18 libView-TsdrClient.dylib 0x118f5ab4e $_5::operator()() const + 62 (flags.cc:142)
19 libView-TsdrClient.dylib 0x118f5ab01 $_5::__invoke() + 17 (flags.cc:141)
20 libView-ScannerRedirClient.dylib 0x11ab0b444 absl::lts_20240116::flags_internal::FlagImpl::InvokeCallback() const + 100 (flag.cc:348)
21 libView-ScannerRedirClient.dylib 0x11ab0bd99 absl::lts_20240116::flags_internal::FlagImpl::SetCallback(void ()()) + 169 (flag.cc:325)
22 libView-ScannerRedirClient.dylib 0x11aa80904 absl::lts_20240116::flags_internal::FlagRegistrar<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, true>::OnUpdate(void (
)()) && + 36 (flag.h:779)
23 libView-TsdrClient.dylib 0x118f5b304 __cxx_global_var_init.12 + 52
24 libView-TsdrClient.dylib 0x118f5b347 _GLOBAL__sub_I_flags.cc + 39
25 dyld 0x7ff80c9e539f invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const::$_0::operator()() const + 185
26 dyld 0x7ff80ca1f663 invocation function for block in dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 241
27 dyld 0x7ff80ca13bcf invocation function for block in dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 543
28 dyld 0x7ff80c9ca07f dyld3::MachOFile::forEachLoadCommand(Diagnostics&, void (load_command const*, bool&) block_pointer) const + 249
29 dyld 0x7ff80ca12d0c dyld3::MachOFile::forEachSection(void (dyld3::MachOFile::SectionInfo const&, bool, bool&) block_pointer) const + 176
30 dyld 0x7ff80ca1f24e dyld3::MachOAnalyzer::forEachInitializer(Diagnostics&, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned int) block_pointer, void const*) const + 470
31 dyld 0x7ff80c9e20cd dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const + 225
32 dyld 0x7ff80c9e79c9 dyld4::JustInTimeLoader::runInitializers(dyld4::RuntimeState&) const + 21
33 dyld 0x7ff80c9e22e5 dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&) const + 213
34 dyld 0x7ff80c9e5414 dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const::$_1::operator()() const + 98
35 dyld 0x7ff80c9e237e dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const + 96
36 dyld 0x7ff80c9fceb3 dyld4::APIs::dlopen_from(char const*, int, void*) + 1083
37 libvdpservice.dylib 0x114e0670c PluginMgr::DoLoadPluginClass(PropertyManager const&, char const*, _VDPService_SessionType) + 924 (linuxPluginMgr.cpp:478)
38 libvdpservice.dylib 0x114e06df0 PluginMgr::DoLoadPluginClasses(PropertyManager const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator> const&, _VDPService_SessionType) + 736 (linuxPluginMgr.cpp:435)
39 libvdpservice.dylib 0x114e05cb6 PluginMgr::LoadPluginClasses(PropertyManager const&, _VDPService_SessionType) + 758 (linuxPluginMgr.cpp:192)
40 libvdpservice.dylib 0x114dd935e PluginMgr::StartPluginMgr(PropertyManager const&, _VDPService_SessionType, PCoIPVChanAPI*, PCoIPVChanAPI*) + 670 (pluginMgr.cpp:216)
41 libvdpservice.dylib 0x114de5e1b ParseArgsAndStartPlugMgr(char const*, _VDPService_SessionType, PCoIPVChanAPI*, PCoIPVChanAPI*) + 267 (rpcClient.cpp:364)
42 libvdpservice.dylib 0x114de6178 VVC_Start + 712 (rpcClient.cpp:499)
43 libbase.dylib 0x110f57c9b PluginStartThreadFunc + 59 (pluginLoaderHelper.c:263)
44 libbase.dylib 0x110ee3a70 VThreadThreadWrapper + 176 (vthreadPosix.c:406)
45 libsystem_pthread.dylib 0x7ff80cd5a18b _pthread_start + 99
46 libsystem_pthread.dylib 0x7ff80cd55ae3 thread_start + 15`

Steps to reproduce the problem

can not reproduce in sample code

What version of Abseil are you using?

20240116.2

What operating system and version are you using?

MacOS 14.2

What compiler and version are you using?

clang-15
macos-xcode15.2

What build system are you using?

MacOS

Additional context

No response

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

1 participant