[
https://issues.apache.org/jira/browse/MESOS-2584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14395520#comment-14395520
]
Till Toenshoff commented on MESOS-2584:
---------------------------------------
After fixing the AuthenticationTest with the above patch, the next one failing
is {{MesosContainerizerIsolatorPreparationTest.ScriptSucceeds}}. In that case
however it seems we hit a different problem with a similar result (failing
dynamic_cast in dispatch);
{noformat}
[ RUN ] MesosContainerizerIsolatorPreparationTest.ScriptSucceeds
Assertion failed: (t != NULL), function operator(), file
../../3rdparty/libprocess/include/process/c++11/dispatch.hpp, line 239.
Process 15170 stopped
* thread #2: tid = 0x56e2de, 0x00007fff85921286
libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
frame #0: 0x00007fff85921286 libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
-> 0x7fff85921286 <+10>: jae 0x7fff85921290 ; <+20>
0x7fff85921288 <+12>: movq %rax, %rdi
0x7fff8592128b <+15>: jmp 0x7fff8591cc53 ; cerror_nocancel
0x7fff85921290 <+20>: retq
(lldb) th b
* thread #2: tid = 0x56e2de, 0x00007fff85921286
libsystem_kernel.dylib`__pthread_kill + 10, stop reason = signal SIGABRT
* frame #0: 0x00007fff85921286 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff89efa42f libsystem_pthread.dylib`pthread_kill + 90
frame #2: 0x00007fff8a4fbb53 libsystem_c.dylib`abort + 129
frame #3: 0x00007fff8a4c3c39 libsystem_c.dylib`__assert_rtn + 321
frame #4: 0x0000000103b26acb
libmesos-0.23.0.dylib`operator(this=0x000000010a701db8,
process=0x000000010935cca0) + 267 at dispatch.hpp:239
frame #5: 0x0000000103b2691f
libmesos-0.23.0.dylib`std::__1::__function::__func<process::Future<Option<mesos::CommandInfo>
> process::dispatch<Option<mesos::CommandInfo>, mesos::slave::IsolatorProcess,
mesos::ContainerID const&, mesos::ExecutorInfo const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > > const&,
mesos::ContainerID, mesos::ExecutorInfo, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > >(process::PID<mesos::slave::IsolatorProcess>
const&, process::Future<Option<mesos::CommandInfo> >
(mesos::slave::IsolatorProcess::*)(mesos::ContainerID const&,
mesos::ExecutorInfo const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > const&), mesos::ContainerID, mesos::ExecutorInfo,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >
>)::'lambda'(process::ProcessBase*),
std::__1::allocator<process::Future<Option<mesos::CommandInfo> >
process::dispatch<Option<mesos::CommandInfo>, mesos::slave::IsolatorProcess,
mesos::ContainerID const&, mesos::ExecutorInfo const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > > const&,
mesos::ContainerID, mesos::ExecutorInfo, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > >(process::PID<mesos::slave::IsolatorProcess>
const&, process::Future<Option<mesos::CommandInfo> >
(mesos::slave::IsolatorProcess::*)(mesos::ContainerID const&,
mesos::ExecutorInfo const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > const&), mesos::ContainerID, mesos::ExecutorInfo,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >
>)::'lambda'(process::ProcessBase*)>, void
(process::ProcessBase*)>::operator()(process::ProcessBase*&&) [inlined]
decltype(this=0x000000010a701db8, __f=0x000000010a701db8,
__args=0x000000010a592bb8)(std::__1::forward<process::ProcessBase*>(fp0)))
std::__1::__invoke<process::Future<Option<mesos::CommandInfo> >
process::dispatch<Option<mesos::CommandInfo>, mesos::slave::IsolatorProcess,
mesos::ContainerID const&, mesos::ExecutorInfo const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > > const&,
mesos::ContainerID, mesos::ExecutorInfo, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > >(process::PID<mesos::slave::IsolatorProcess>
const&, process::Future<Option<mesos::CommandInfo> >
(mesos::slave::IsolatorProcess::*)(mesos::ContainerID const&,
mesos::ExecutorInfo const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > const&), mesos::ContainerID, mesos::ExecutorInfo,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >
>)::'lambda'(process::ProcessBase*)&,
process::ProcessBase*>(Option<mesos::CommandInfo>&&, process::ProcessBase*&&) +
95 at __functional_base:413
frame #6: 0x0000000103b268ff
libmesos-0.23.0.dylib`std::__1::__function::__func<process::Future<Option<mesos::CommandInfo>
> process::dispatch<Option<mesos::CommandInfo>, mesos::slave::IsolatorProcess,
mesos::ContainerID const&, mesos::ExecutorInfo const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > > const&,
mesos::ContainerID, mesos::ExecutorInfo, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > >(process::PID<mesos::slave::IsolatorProcess>
const&, process::Future<Option<mesos::CommandInfo> >
(mesos::slave::IsolatorProcess::*)(mesos::ContainerID const&,
mesos::ExecutorInfo const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > const&), mesos::ContainerID, mesos::ExecutorInfo,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >
>)::'lambda'(process::ProcessBase*),
std::__1::allocator<process::Future<Option<mesos::CommandInfo> >
process::dispatch<Option<mesos::CommandInfo>, mesos::slave::IsolatorProcess,
mesos::ContainerID const&, mesos::ExecutorInfo const&,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > const&, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > > const&,
mesos::ContainerID, mesos::ExecutorInfo, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > >(process::PID<mesos::slave::IsolatorProcess>
const&, process::Future<Option<mesos::CommandInfo> >
(mesos::slave::IsolatorProcess::*)(mesos::ContainerID const&,
mesos::ExecutorInfo const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&,
Option<std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > > const&), mesos::ContainerID, mesos::ExecutorInfo,
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >, Option<std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >
>)::'lambda'(process::ProcessBase*)>, void
(process::ProcessBase*)>::operator(this=0x000000010a701db0,
__arg=0x000000010a592bb8)(process::ProcessBase*&&) + 63 at functional:1370
frame #7: 0x000000010466d2ab libmesos-0.23.0.dylib`std::__1::function<void
(process::ProcessBase*)>::operator(this=0x000000010a701c40,
__arg=0x000000010935cca0)(process::ProcessBase*) const + 171 at functional:1755
frame #8: 0x0000000104654abf
libmesos-0.23.0.dylib`process::ProcessBase::visit(this=0x000000010935cca0,
event=0x000000010a701c90) + 47 at process.cpp:2695
frame #9: 0x00000001046dedee
libmesos-0.23.0.dylib`process::DispatchEvent::visit(this=0x000000010a701c90,
visitor=0x000000010935cca0) const + 30 at event.hpp:141
frame #10: 0x00000001002aeaa1
mesos-tests`process::ProcessBase::serve(this=0x000000010935cca0,
event=0x000000010a701c90) + 33 at process.hpp:39
frame #11: 0x000000010463e2fe
libmesos-0.23.0.dylib`process::ProcessManager::resume(this=0x0000000109700a00,
process=0x000000010935cca0) + 1918 at process.cpp:2169
frame #12: 0x000000010463da2e
libmesos-0.23.0.dylib`process::schedule(arg=0x0000000000000000) + 142 at
process.cpp:607
frame #13: 0x00007fff89ef8268 libsystem_pthread.dylib`_pthread_body + 131
frame #14: 0x00007fff89ef81e5 libsystem_pthread.dylib`_pthread_start + 176
frame #15: 0x00007fff89ef641d libsystem_pthread.dylib`thread_start + 13
(lldb) fr s 4
frame #4: 0x0000000103b26acb
libmesos-0.23.0.dylib`operator(this=0x000000010a701db8,
process=0x000000010935cca0) + 267 at dispatch.hpp:239
236 return dispatch(process->self(), method, ENUM_PARAMS(N, a));
\
237 }
238
-> 239 REPEAT_FROM_TO(1, 11, TEMPLATE, _) // Args A0 -> A9.
240 #undef TEMPLATE
241
242
(lldb) fr v
error: libprocess.a(libprocess_la-process.o) DWARF DIE at 0x00006e85 for class
'Process<process::Route::RouteProcess>' has a base class 'process::ProcessBase'
that is a forward declaration, not a complete definition.
Please file a bug against the compiler and include the preprocessed output for
/Users/till/Development/mesos-private/build/3rdparty/libprocess/../../../3rdparty/libprocess/src/process.cpp
(std::__1::__compressed_pair<process::(anonymous class),
std::__1::allocator<process::(anonymous class)> > *) this = 0x000000010a701db8
(process::(anonymous class) &) __f = 0x000000010a701db8: {
promise = std::__1::shared_ptr<process::Promise<Option<mesos::CommandInfo> >
>::element_type @ 0x000000010a701b40 {
__ptr_ = 0x000000010a701b40
}
method = 0x0000000000000019
a0 = {
_unknown_fields_ = {
fields_ = 0x0000000000000000
}
value_ = "test_container"
_cached_size_ = 0
_has_bits_ = ([0] = 1)
}
a1 = {
_unknown_fields_ = {
fields_ = 0x0000000000000000
}
executor_id_ = 0x000000010a701eb0
framework_id_ = 0x0000000000000000
command_ = 0x000000010a701ef0
container_ = 0x0000000000000000
resources_ = {
google::protobuf::internal::RepeatedPtrFieldBase = {
elements_ = 0x0000000000000000
current_size_ = 0
allocated_size_ = 0
total_size_ = 0
}
}
name_ = ""
source_ = ""
data_ = ""
discovery_ = 0x0000000000000000
_cached_size_ = 0
_has_bits_ = ([0] = 5)
}
a2 =
"/private/tmp/MesosContainerizerIsolatorPreparationTest_ScriptSucceeds_zsCOvO"
a3 = (state = NONE, t = "")
}
(process::ProcessBase *&&) __args = 0x000000010a592bb8: {
&__args = 0x000000010935c9d0
}
{noformat}
Note:
{noformat}
error: libprocess.a(libprocess_la-process.o) DWARF DIE at 0x00006e85 for class
'Process<process::Route::RouteProcess>' has a base class 'process::ProcessBase'
that is a forward declaration, not a complete definition.
Please file a bug against the compiler and include the preprocessed output for
/Users/till/Development/mesos-private/build/3rdparty/libprocess/../../../3rdparty/libprocess/src/process.cpp
{noformat}
> AuthenticationTest.RetryFrameworkAuthentication breaks with clang-3.4.2
> -----------------------------------------------------------------------
>
> Key: MESOS-2584
> URL: https://issues.apache.org/jira/browse/MESOS-2584
> Project: Mesos
> Issue Type: Bug
> Components: test
> Affects Versions: 0.22.0
> Environment: OS X 10.10.2 with clang-3.4.2
> Reporter: Michael Park
> Assignee: Till Toenshoff
>
> When built with {{clang-3.4.2}}, {{make check}} dies with the following error
> message.
> {code}
> [ RUN ] AuthenticationTest.RetryFrameworkAuthentication
> Assertion failed: (t != NULL), function operator(), file
> ../../../3rdparty/libprocess/include/process/c++11/dispatch.hpp, line 77.
> *** Aborted at 1427879902 (unix time) try "date -d @1427879902" if you are
> using GNU date ***
> PC: @ 0x7fff92600286 __pthread_kill
> *** SIGABRT (@0x7fff92600286) received by PID 5475 (TID 0x10d329000) stack
> trace: ***
> @ 0x7fff8d56ff1a _sigtramp
> @ 0x10d328020 (unknown)
> @ 0x7fff8e7acb53 abort
> @ 0x7fff8e774c39 __assert_rtn
> @ 0x103d941c8
> _ZZN7process8dispatchIN5mesos8internal8cram_md527CRAMMD5AuthenticateeProcessEEEvRKNS_3PIDIT_EEMS6_FvvEENKUlPNS_11ProcessBaseEE_clESD_
> @ 0x103d9401f
> _ZNSt3__110__function6__funcIZN7process8dispatchIN5mesos8internal8cram_md527CRAMMD5AuthenticateeProcessEEEvRKNS2_3PIDIT_EEMS9_FvvEEUlPNS2_11ProcessBaseEE_NS_9allocatorISH_EEFvSG_EEclEOSG_
> @ 0x10817856b std::__1::function<>::operator()()
> @ 0x10815fd7f process::ProcessBase::visit()
> @ 0x1081ea0ae process::DispatchEvent::visit()
> @ 0x1067f7051 process::ProcessBase::serve()
> @ 0x1081495be process::ProcessManager::resume()
> @ 0x108148cee process::schedule()
> @ 0x7fff9951b268 _pthread_body
> @ 0x7fff9951b1e5 _pthread_start
> @ 0x7fff9951941d thread_start
> make[3]: *** [check-local] Abort trap: 6
> make[2]: *** [check-am] Error 2
> make[1]: *** [check] Error 2
> make: *** [check-recursive] Error 1
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)