[
https://issues.apache.org/jira/browse/MESOS-8483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16344453#comment-16344453
]
Till Toenshoff commented on MESOS-8483:
---------------------------------------
After removing -{{fvisibility-inlines-hidden}} from my compilation settings,
things got differently fatal; now I get an immediate failure on startup;
{noformat}
Process 97838 stopped
* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x48)
frame #0: 0x0000000110ed8180
_scheduler.so`google::protobuf::internal::Mutex::Lock(this=0x0000000000000048)
at common.cc:376
373 }
374
375 void Mutex::Lock() {
-> 376 int result = pthread_mutex_lock(&mInternal->mutex);
377 if (result != 0) {
378 GOOGLE_LOG(FATAL) << "pthread_mutex_lock: " << strerror(result);
379 }
Target 0: (Python) stopped.
(lldbinit) bt
* thread #2, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=1, address=0x48)
* frame #0: 0x0000000110ed8180
_scheduler.so`google::protobuf::internal::Mutex::Lock(this=0x0000000000000048)
at common.cc:376
frame #1: 0x0000000110fa6c53
_scheduler.so`google::protobuf::internal::MutexLock::MutexLock(this=0x00007ffeefbf8250,
mu=0x0000000000000048) at mutex.h:76
frame #2: 0x0000000110f4bb0d
_scheduler.so`google::protobuf::internal::MutexLock::MutexLock(this=0x00007ffeefbf8250,
mu=0x0000000000000048) at mutex.h:76
frame #3: 0x0000000110ed65e1
_scheduler.so`google::protobuf::internal::OnShutdown(func=(_scheduler.so`google::protobuf::(anonymous
namespace)::DeleteGeneratedPool() at descriptor.cc:1336))()) at common.cc:452
frame #4: 0x0000000110fa6b63 _scheduler.so`google::protobuf::(anonymous
namespace)::InitGeneratedPool() at descriptor.cc:1348
frame #5: 0x0000000106fdbc1f
_executor.so`google::protobuf::internal::FunctionClosure0::Run(this=0x00007ffeefbf8430)
at callback.h:129
frame #6: 0x0000000106fe164d
_executor.so`google::protobuf::GoogleOnceInitImpl(once=0x00000001118d3268,
closure=0x00007ffeefbf8430) at once.cc:83
frame #7: 0x00000001063a6764
_executor.so`google::protobuf::GoogleOnceInit(once=0x00000001118d3268,
init_func=(_scheduler.so`google::protobuf::(anonymous
namespace)::InitGeneratedPool() at descriptor.cc:1343))()) at once.h:128
frame #8: 0x0000000110f49167 _scheduler.so`google::protobuf::(anonymous
namespace)::InitGeneratedPoolOnce() at descriptor.cc:1352
frame #9: 0x0000000110f491a4
_scheduler.so`google::protobuf::DescriptorPool::InternalAddGeneratedFile(encoded_file_descriptor=0x00000001115da040,
size=25438) at descriptor.cc:1393
frame #10: 0x000000010f97afea
_scheduler.so`protobuf_mesos_2fmesos_2eproto::AddDescriptorsImpl() at
mesos.pb.cc:7337
frame #11: 0x0000000106fdbc1f
_executor.so`google::protobuf::internal::FunctionClosure0::Run(this=0x00007ffeefbf8590)
at callback.h:129
frame #12: 0x0000000106fe164d
_executor.so`google::protobuf::GoogleOnceInitImpl(once=0x00000001118c1548,
closure=0x00007ffeefbf8590) at once.cc:83
frame #13: 0x00000001063a6764
_executor.so`google::protobuf::GoogleOnceInit(once=0x00000001118c1548,
init_func=(_scheduler.so`protobuf_mesos_2fmesos_2eproto::AddDescriptorsImpl()
at mesos.pb.cc:6697))()) at once.h:128
frame #14: 0x000000010f97af77
_scheduler.so`protobuf_mesos_2fmesos_2eproto::AddDescriptors() at
mesos.pb.cc:7345
frame #15: 0x000000010fb6ebe1
_scheduler.so`protobuf_mesos_2fmesos_2eproto::StaticDescriptorInitializer::StaticDescriptorInitializer(this=0x00000001118b2808)
at mesos.pb.cc:7350
frame #16: 0x000000010f97b325
_scheduler.so`protobuf_mesos_2fmesos_2eproto::StaticDescriptorInitializer::StaticDescriptorInitializer(this=0x00000001118b2808)
at mesos.pb.cc:7349
frame #17: 0x000000010fb922d0 _scheduler.so`::__cxx_global_var_init() at
mesos.pb.cc:7352
frame #18: 0x000000010fb922e9 _scheduler.so`_GLOBAL__sub_I_mesos.pb.cc at
mesos.pb.cc:0
frame #19: 0x000000010001ca0a
dyld`ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 420
frame #20: 0x000000010001cc3a
dyld`ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40
frame #21: 0x0000000100018170
dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&,
unsigned int, char const*, ImageLoader::InitializerTimingList&,
ImageLoader::UninitedUpwards&) + 330
frame #22: 0x00000001000172a6
dyld`ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned
int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 134
frame #23: 0x000000010001733a
dyld`ImageLoader::runInitializers(ImageLoader::LinkContext const&,
ImageLoader::InitializerTimingList&) + 74
frame #24: 0x000000010000b3e5 dyld`dyld::runInitializers(ImageLoader*) + 82
frame #25: 0x0000000100014002 dyld`dlopen + 527
frame #26: 0x00007fff551d3e86 libdyld.dylib`dlopen + 86
frame #27: 0x00007fff37f41d5e Python`_PyImport_GetDynLoadFunc + 306
frame #28: 0x00007fff37f2da3c Python`_PyImport_LoadDynamicModule + 89
frame #29: 0x00007fff37f2d8ab Python`___lldb_unnamed_symbol1569$$Python +
113
frame #30: 0x00007fff37f16f89 Python`PyEval_EvalFrameEx + 2917
frame #31: 0x00007fff37f1c256 Python`___lldb_unnamed_symbol1476$$Python +
196
frame #32: 0x00007fff37f16b45 Python`PyEval_EvalFrameEx + 1825
frame #33: 0x00007fff37f16232 Python`PyEval_EvalCodeEx + 1551
frame #34: 0x00007fff37f15c1d Python`PyEval_EvalCode + 32
frame #35: 0x00007fff37f2a012 Python`PyImport_ExecCodeModuleEx + 212
frame #36: 0x00007fff37f58359 Python`___lldb_unnamed_symbol1982$$Python +
427
frame #37: 0x00007fff37ea0581 Python`PyObject_Call + 97
frame #38: 0x00007fff37ea0706 Python`___lldb_unnamed_symbol38$$Python + 66
frame #39: 0x00007fff37ea08f1 Python`PyObject_CallMethod + 221
frame #40: 0x00007fff37f2c816 Python`___lldb_unnamed_symbol1546$$Python +
273
frame #41: 0x00007fff37f2c402 Python`___lldb_unnamed_symbol1544$$Python +
272
frame #42: 0x00007fff37f2b431 Python`PyImport_ImportModuleLevel + 571
frame #43: 0x00007fff37f11937 Python`___lldb_unnamed_symbol1412$$Python +
124
frame #44: 0x00007fff37ea0581 Python`PyObject_Call + 97
frame #45: 0x00007fff37f1bbfe Python`PyEval_CallObjectWithKeywords + 159
frame #46: 0x00007fff37f19c27 Python`PyEval_EvalFrameEx + 14339
frame #47: 0x00007fff37f16232 Python`PyEval_EvalCodeEx + 1551
frame #48: 0x00007fff37f15c1d Python`PyEval_EvalCode + 32
frame #49: 0x00007fff37f2a012 Python`PyImport_ExecCodeModuleEx + 212
frame #50: 0x00007fff37f58359 Python`___lldb_unnamed_symbol1982$$Python +
427
frame #51: 0x00007fff37ea0581 Python`PyObject_Call + 97
frame #52: 0x00007fff37ea0706 Python`___lldb_unnamed_symbol38$$Python + 66
frame #53: 0x00007fff37ea08f1 Python`PyObject_CallMethod + 221
frame #54: 0x00007fff37f2c816 Python`___lldb_unnamed_symbol1546$$Python +
273
frame #55: 0x00007fff37f2c402 Python`___lldb_unnamed_symbol1544$$Python +
272
frame #56: 0x00007fff37f2b46a Python`PyImport_ImportModuleLevel + 628
frame #57: 0x00007fff37f11937 Python`___lldb_unnamed_symbol1412$$Python +
124
frame #58: 0x00007fff37ea0581 Python`PyObject_Call + 97
frame #59: 0x00007fff37f1bbfe Python`PyEval_CallObjectWithKeywords + 159
frame #60: 0x00007fff37f19c27 Python`PyEval_EvalFrameEx + 14339
frame #61: 0x00007fff37f16232 Python`PyEval_EvalCodeEx + 1551
frame #62: 0x00007fff37f15c1d Python`PyEval_EvalCode + 32
frame #63: 0x00007fff37f2a012 Python`PyImport_ExecCodeModuleEx + 212
frame #64: 0x00007fff37f58359 Python`___lldb_unnamed_symbol1982$$Python +
427
frame #65: 0x00007fff37ea0581 Python`PyObject_Call + 97
frame #66: 0x00007fff37ea0706 Python`___lldb_unnamed_symbol38$$Python + 66
frame #67: 0x00007fff37ea08f1 Python`PyObject_CallMethod + 221
frame #68: 0x00007fff37f2c816 Python`___lldb_unnamed_symbol1546$$Python +
273
frame #69: 0x00007fff37f2c402 Python`___lldb_unnamed_symbol1544$$Python +
272
frame #70: 0x00007fff37f2b46a Python`PyImport_ImportModuleLevel + 628
frame #71: 0x00007fff37f11937 Python`___lldb_unnamed_symbol1412$$Python +
124
frame #72: 0x00007fff37ea0581 Python`PyObject_Call + 97
frame #73: 0x00007fff37f1bbfe Python`PyEval_CallObjectWithKeywords + 159
frame #74: 0x00007fff37f19c27 Python`PyEval_EvalFrameEx + 14339
frame #75: 0x00007fff37f16232 Python`PyEval_EvalCodeEx + 1551
frame #76: 0x00007fff37f15c1d Python`PyEval_EvalCode + 32
frame #77: 0x00007fff37f34ad1 Python`___lldb_unnamed_symbol1600$$Python + 49
frame #78: 0x00007fff37f34b78 Python`PyRun_FileExFlags + 130
frame #79: 0x00007fff37f346fa Python`PyRun_SimpleFileExFlags + 706
frame #80: 0x00007fff37f4596c Python`Py_Main + 3064
frame #81: 0x00007fff551d2115 libdyld.dylib`start + 1
frame #82: 0x00007fff551d2115 libdyld.dylib`start + 1
{noformat}
> ExampleTests PythonFramework fails with sigabort.
> -------------------------------------------------
>
> Key: MESOS-8483
> URL: https://issues.apache.org/jira/browse/MESOS-8483
> Project: Mesos
> Issue Type: Bug
> Affects Versions: 1.5.0
> Environment: macOS 10.13.2 (17C88)
> Python 2.7.10 (Apple's default - not homebrew)
> Reporter: Till Toenshoff
> Priority: Blocker
>
> Starting the {{PythonFramework}} manually results in a sigabort:
> {noformat}
> $ ./src/examples/python/test-framework local
> [..]
> I0124 15:22:46.637238 65925120 master.cpp:563] Using default 'crammd5'
> authenticator
> W0124 15:22:46.637269 65925120 authenticator.cpp:513] No credentials
> provided, authentication requests will be refused
> I0124 15:22:46.637284 65925120 authenticator.cpp:520] Initializing server SASL
> I0124 15:22:46.659503 2385417024 resolver.cpp:69] Creating default secret
> resolver
> I0124 15:22:46.659624 2385417024 containerizer.cpp:304] Using isolation {
> environment_secret, filesystem/posix, posix/mem, posix/cpu }
> I0124 15:22:46.659951 2385417024 provisioner.cpp:299] Using default backend
> 'copy'
> I0124 15:22:46.661628 67534848 slave.cpp:262] Mesos agent started on
> (1)@192.168.178.20:49682
> I0124 15:22:46.661669 67534848 slave.cpp:263] Flags at startup:
> --appc_simple_discovery_uri_prefix="http://"
> --appc_store_dir="/var/folders/_t/rdp354gx7j5fjww270kbk6_r0000gn/T/mesos/store/appc"
> --authenticate_http_executors="false" --authenticate_http_readonly="false"
> --authenticate_http_readwrite="false" --authenticatee="crammd5"
> --authentication_backoff_factor="1secs" --authorizer="local"
> --container_disk_watch_interval="15secs" --containerizers="mesos"
> --default_role="*" --disk_watch_interval="1mins" --docker="docker"
> --docker_kill_orphans="true" --docker_registry="https://registry-1.docker.io"
> --docker_remove_delay="6hrs" --docker_socket="/var/run/docker.sock"
> --docker_stop_timeout="0ns"
> --docker_store_dir="/var/folders/_t/rdp354gx7j5fjww270kbk6_r0000gn/T/mesos/store/docker"
> --docker_volume_checkpoint_dir="/var/run/mesos/isolators/docker/volume"
> --enforce_container_disk_quota="false"
> --executor_registration_timeout="1mins"
> --executor_reregistration_timeout="2secs"
> --executor_shutdown_grace_period="5secs"
> --fetcher_cache_dir="/var/folders/_t/rdp354gx7j5fjww270kbk6_r0000gn/T/mesos/work/agents/0/fetch"
> --fetcher_cache_size="2GB" --frameworks_home="" --gc_delay="1weeks"
> --gc_disk_headroom="0.1" --hadoop_home="" --help="false"
> --hostname_lookup="true" --http_command_executor="false"
> --http_heartbeat_interval="30secs" --initialize_driver_logging="true"
> --isolation="posix/cpu,posix/mem" --launcher="posix"
> --launcher_dir="/usr/local/libexec/mesos" --logbufsecs="0"
> --logging_level="INFO" --max_completed_executors_per_framework="150"
> --oversubscribed_resources_interval="15secs" --port="5051"
> --qos_correction_interval_min="0ns" --quiet="false"
> --reconfiguration_policy="equal" --recover="reconnect"
> --recovery_timeout="15mins" --registration_backoff_factor="1secs"
> --runtime_dir="/var/folders/_t/rdp354gx7j5fjww270kbk6_r0000gn/T/mesos/work/agents/0/run"
> --sandbox_directory="/mnt/mesos/sandbox" --strict="true"
> --switch_user="true" --version="false"
> --work_dir="/var/folders/_t/rdp354gx7j5fjww270kbk6_r0000gn/T/mesos/work/agents/0/work"
> --zk_session_timeout="10secs"
> python(1780,0x700004068000) malloc: *** error for object 0x106ac07c8: pointer
> being freed was not allocated
> *** set a breakpoint in malloc_error_break to debug
> {noformat}
> When running the {{PythonFramework}} via lldb, I get the following stacktrace:
> {noformat}
> * thread #7, stop reason = signal SIGABRT
> * frame #0: 0x00007fff55321e3e libsystem_kernel.dylib`__pthread_kill + 10
> frame #1: 0x00007fff55460150 libsystem_pthread.dylib`pthread_kill + 333
> frame #2: 0x00007fff5527e312 libsystem_c.dylib`abort + 127
> frame #3: 0x00007fff5537b866 libsystem_malloc.dylib`free + 521
> frame #4: 0x000000010d24daac
> _scheduler.so`google::protobuf::internal::ArenaStringPtr::DestroyNoArena(this=0x000070000ac355b0,
> default_value="") at arenastring.h:264
> frame #5: 0x000000010d2fe1aa
> _scheduler.so`mesos::Resource::SharedDtor(this=0x000070000ac35580) at
> mesos.pb.cc:31016
> frame #6: 0x000000010d2fe063
> _scheduler.so`mesos::Resource::~Resource(this=0x000070000ac35580) at
> mesos.pb.cc:31011
> frame #7: 0x000000010d2fe485
> _scheduler.so`mesos::Resource::~Resource(this=0x000070000ac35580) at
> mesos.pb.cc:31009
> frame #8: 0x000000010b0257c7
> _scheduler.so`mesos::Resources::parse(name="cpus", value="8", role="*") at
> resources.cpp:702
> frame #9: 0x000000010c7ae4c9
> _scheduler.so`mesos::internal::slave::Containerizer::resources(flags=0x000000010202bac0)
> at containerizer.cpp:118
> frame #10: 0x000000010c3a93e1
> _scheduler.so`mesos::internal::slave::Slave::initialize(this=0x000000010202ba00)
> at slave.cpp:472
> frame #11: 0x000000010c3d7cb2 _scheduler.so`virtual thunk to
> mesos::internal::slave::Slave::initialize(this=0x000000010202ba00) at
> slave.cpp:0
> frame #12: 0x000000010e459c39
> _scheduler.so`process::ProcessManager::resume(this=0x00000001005790f0,
> process=0x000000010202ba00) at process.cpp:2819
> frame #13: 0x000000010e57ef75
> _scheduler.so`process::ProcessManager::init_threads(this=0x00000001001a9fa8)::$_2::operator()()
> const at process.cpp:2443
> frame #14: 0x000000010e57eb30 _scheduler.so`void*
> std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
> std::__1::default_delete<std::__1::__thread_struct> >,
> process::ProcessManager::init_threads()::$_2> >(void*) [inlined]
> decltype(__f=0x00000001001a9fa8)::$_2>(fp)(std::__1::forward<>(fp0)))
> std::__1::__invoke<process::ProcessManager::init_threads()::$_2>(process::ProcessManager::init_threads()::$_2&&)
> at type_traits:4291
> frame #15: 0x000000010e57eb1f _scheduler.so`void*
> std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
> std::__1::default_delete<std::__1::__thread_struct> >,
> process::ProcessManager::init_threads()::$_2> >(void*) [inlined] void
> std::__1::__thread_execute<std::__1::unique_ptr<std::__1::__thread_struct,
> std::__1::default_delete<std::__1::__thread_struct> >,
> process::ProcessManager::init_threads()::$_2>(__t=0x00000001001a9fa0)::$_2>&,
> std::__1::__tuple_indices<>) at thread:336
> frame #16: 0x000000010e57eafb _scheduler.so`void*
> std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
> std::__1::default_delete<std::__1::__thread_struct> >,
> process::ProcessManager::init_threads()::$_2> >(__vp=0x00000001001a9fa0) at
> thread:346
> frame #17: 0x00007fff5545d6c1 libsystem_pthread.dylib`_pthread_body + 340
> frame #18: 0x00007fff5545d56d libsystem_pthread.dylib`_pthread_start + 377
> frame #19: 0x00007fff5545cc5d libsystem_pthread.dylib`thread_start + 13
> {noformat}
> Given that this example works (most of the time) on other macOS systems, I am
> assuming this is a problem of my system.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)