> On Feb. 8, 2014, 8:26 p.m., Vinod Kone wrote:
> > applied the patch. still seems flaky.
> >
> > Repeating all tests (iteration 232) . . .
> >
> > Note: Google Test filter = IO.BlockingWrite
> > [==========] Running 1 test from 1 test case.
> > [----------] Global test environment set-up.
> > [----------] 1 test from IO
> > [ RUN ] IO.BlockingWrite
> >
> > Program received signal EXC_BAD_ACCESS, Could not access memory.
> > Reason: KERN_PROTECTION_FAILURE at address: 0x0000000101718fd0
> > [Switching to process 256 thread 0x1b03]
> > std::deque<std::tr1::function<void ()(process::Future<Nothing> const&)>,
> > std::allocator<std::tr1::function<void ()(process::Future<Nothing> const&)>
> > > >::_M_destroy_data_dispatch (this=0x102104828, __first=@0x101719080,
> > __last=@0x101719060) at stl_deque.h:1432
> > 1432 { _M_destroy_data_aux(__first, __last); }
> > (gdb) bt
> > #0 std::deque<std::tr1::function<void ()(process::Future<Nothing>
> > const&)>, std::allocator<std::tr1::function<void
> > ()(process::Future<Nothing> const&)> > >::_M_destroy_data_dispatch
> > (this=0x102104828, __first=@0x101719080, __last=@0x101719060) at
> > stl_deque.h:1432
> > #1 0x0000000100051058 in std::deque<std::tr1::function<void
> > ()(process::Future<Nothing> const&)>,
> > std::allocator<std::tr1::function<void ()(process::Future<Nothing> const&)>
> > > >::_M_destroy_data (this=0x102104828, __first=@0x101719118,
> > __last=@0x1017190f8, unnamed_arg=@0x102104828) at stl_deque.h:1447
> > #2 0x0000000100056664 in std::deque<std::tr1::function<void
> > ()(process::Future<Nothing> const&)>,
> > std::allocator<std::tr1::function<void ()(process::Future<Nothing> const&)>
> > > >::~deque (this=0x102104828) at stl_deque.h:742
> > #3 0x0000000100056704 in std::queue<std::tr1::function<void
> > ()(process::Future<Nothing> const&)>, std::deque<std::tr1::function<void
> > ()(process::Future<Nothing> const&)>,
> > std::allocator<std::tr1::function<void ()(process::Future<Nothing> const&)>
> > > > >::~queue (this=0x102104828) at stl_queue.h:96
> > #4 0x000000010031f74c in process::Future<Nothing>::Data::~Data
> > (this=0x102104710) at future.hpp:781
> > #5 0x0000000100056746 in
> > std::tr1::_Sp_deleter<process::Future<Nothing>::Data>::operator()
> > (this=0x102102a48, __p=0x102104710) at boost_shared_ptr.h:94
> > #6 0x000000010004c744 in
> > std::tr1::_Sp_counted_base_impl<process::Future<Nothing>::Data*,
> > std::tr1::_Sp_deleter<process::Future<Nothing>::Data>,
> > (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x102102a30) at
> > boost_shared_ptr.h:246
> > #7 0x0000000100211efe in
> > std::tr1::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release
> > (this=0x102102a30) at boost_shared_ptr.h:145
> > #8 0x0000000100224c38 in
> > std::tr1::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count
> > (this=0x102106a88) at boost_shared_ptr.h:300
> > #9 0x000000010008b935 in
> > std::tr1::__shared_ptr<process::Future<Nothing>::Data,
> > (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x102106a80) at
> > boost_shared_ptr.h:504
> > #10 0x00000001003ad378 in
> > std::tr1::shared_ptr<process::Future<Nothing>::Data>::~shared_ptr
> > (this=0x102106a80) at boost_shared_ptr.h:974
> > #11 0x000000010034fa17 in process::Future<Nothing>::~Future
> > (this=0x102106a80) at future.hpp:824
> > #12 0x000000010015c161 in std::tr1::_Bind<std::tr1::_Mem_fn<bool
> > (process::Future<Nothing>::*)(std::string const&)>
> > ()(process::Future<Nothing>, std::tr1::_Placeholder<1>)>::~_Bind
> > (this=0x102106a70) at functional:702
> > #13 0x000000010015c199 in
> > std::tr1::_Function_base::_Base_manager<std::tr1::_Bind<std::tr1::_Mem_fn<bool
> > (process::Future<Nothing>::*)(std::string const&)>
> > ()(process::Future<Nothing>, std::tr1::_Placeholder<1>)> >::_M_destroy
> > (__victim=@0x1021043d0) at functional:897
> > #14 0x0000000100163a96 in
> > std::tr1::_Function_base::_Base_manager<std::tr1::_Bind<std::tr1::_Mem_fn<bool
> > (process::Future<Nothing>::*)(std::string const&)>
> > ()(process::Future<Nothing>, std::tr1::_Placeholder<1>)> >::_M_manager
> > (__dest=@0x1021043d0, __source=@0x1021043d0,
> > __op=std::tr1::__destroy_functor) at functional:919
> > #15 0x0000000100084049 in std::tr1::_Function_base::~_Function_base
> > (this=0x1021043d0) at functional:1013
> > #16 0x00000001000c3e0c in std::tr1::function<void ()(std::string
> > const&)>::~function (this=0x1021043d0) at functional:834
> > #17 0x000000010004fcf8 in std::_Destroy<std::tr1::function<void
> > ()(std::string const&)> > (__pointer=0x1021043d0) at stl_construct.h:107
> > #18 0x000000010004fd1e in std::__destroy_aux<std::tr1::function<void
> > ()(std::string const&)>*> (__first=0x1021043d0, __last=0x1021043f0) at
> > stl_construct.h:122
> > #19 0x000000010004fd7f in std::_Destroy<std::tr1::function<void
> > ()(std::string const&)>*> (__first=0x1021043d0, __last=0x1021043f0) at
> > stl_construct.h:155
> > #20 0x000000010004fdb7 in std::_Destroy<std::tr1::function<void
> > ()(std::string const&)>*, std::tr1::function<void ()(std::string const&)> >
> > (__first=0x1021043d0, __last=0x1021043f0, unnamed_arg=@0x101719500) at
> > stl_construct.h:182
> > #21 0x000000010005001a in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::_M_destroy_data_aux (this=0x102102698, __first=@0x1017195a8,
> > __last=@0x101719588) at deque.tcc:654
> > #22 0x000000010005013e in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::_M_destroy_data_dispatch (this=0x102102698, __first=@0x101719630,
> > __last=@0x101719610) at stl_deque.h:1432
> > #23 0x00000001000501a8 in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::_M_destroy_data (this=0x102102698, __first=@0x1017196c8,
> > __last=@0x1017196a8, unnamed_arg=@0x102102698) at stl_deque.h:1447
> > #24 0x0000000100055624 in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::~deque (this=0x102102698) at stl_deque.h:742
> > #25 0x0000000100116be8 in std::queue<std::tr1::function<void ()(std::string
> > const&)>, std::deque<std::tr1::function<void ()(std::string const&)>,
> > std::allocator<std::tr1::function<void ()(std::string const&)> > >
> > >::~queue (this=0x102102698) at stl_queue.h:96
> > #26 0x000000010031f828 in process::Future<Nothing>::Data::~Data
> > (this=0x102102620) at future.hpp:781
> > #27 0x0000000100056746 in
> > std::tr1::_Sp_deleter<process::Future<Nothing>::Data>::operator()
> > (this=0x102105e48, __p=0x102102620) at boost_shared_ptr.h:94
> > #28 0x000000010004c744 in
> > std::tr1::_Sp_counted_base_impl<process::Future<Nothing>::Data*,
> > std::tr1::_Sp_deleter<process::Future<Nothing>::Data>,
> > (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x102105e30) at
> > boost_shared_ptr.h:246
> > #29 0x0000000100211efe in
> > std::tr1::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release
> > (this=0x102105e30) at boost_shared_ptr.h:145
> > #30 0x0000000100224c38 in
> > std::tr1::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count
> > (this=0x102106128) at boost_shared_ptr.h:300
> > #31 0x000000010008b935 in
> > std::tr1::__shared_ptr<process::Future<Nothing>::Data,
> > (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x102106120) at
> > boost_shared_ptr.h:504
> > #32 0x00000001003ad378 in
> > std::tr1::shared_ptr<process::Future<Nothing>::Data>::~shared_ptr
> > (this=0x102106120) at boost_shared_ptr.h:974
> > #33 0x000000010034fa17 in process::Future<Nothing>::~Future
> > (this=0x102106120) at future.hpp:824
> > #34 0x000000010015c161 in std::tr1::_Bind<std::tr1::_Mem_fn<bool
> > (process::Future<Nothing>::*)(std::string const&)>
> > ()(process::Future<Nothing>, std::tr1::_Placeholder<1>)>::~_Bind
> > (this=0x102106110) at functional:702
> > #35 0x000000010015c199 in
> > std::tr1::_Function_base::_Base_manager<std::tr1::_Bind<std::tr1::_Mem_fn<bool
> > (process::Future<Nothing>::*)(std::string const&)>
> > ()(process::Future<Nothing>, std::tr1::_Placeholder<1>)> >::_M_destroy
> > (__victim=@0x102102a50) at functional:897
> > #36 0x0000000100163a96 in
> > std::tr1::_Function_base::_Base_manager<std::tr1::_Bind<std::tr1::_Mem_fn<bool
> > (process::Future<Nothing>::*)(std::string const&)>
> > ()(process::Future<Nothing>, std::tr1::_Placeholder<1>)> >::_M_manager
> > (__dest=@0x102102a50, __source=@0x102102a50,
> > __op=std::tr1::__destroy_functor) at functional:919
> > #37 0x0000000100084049 in std::tr1::_Function_base::~_Function_base
> > (this=0x102102a50) at functional:1013
> > #38 0x00000001000c3e0c in std::tr1::function<void ()(std::string
> > const&)>::~function (this=0x102102a50) at functional:834
> > #39 0x000000010004fcf8 in std::_Destroy<std::tr1::function<void
> > ()(std::string const&)> > (__pointer=0x102102a50) at stl_construct.h:107
> > #40 0x000000010004fd1e in std::__destroy_aux<std::tr1::function<void
> > ()(std::string const&)>*> (__first=0x102102a50, __last=0x102102a70) at
> > stl_construct.h:122
> > #41 0x000000010004fd7f in std::_Destroy<std::tr1::function<void
> > ()(std::string const&)>*> (__first=0x102102a50, __last=0x102102a70) at
> > stl_construct.h:155
> > #42 0x000000010004fdb7 in std::_Destroy<std::tr1::function<void
> > ()(std::string const&)>*, std::tr1::function<void ()(std::string const&)> >
> > (__first=0x102102a50, __last=0x102102a70, unnamed_arg=@0x101719ab0) at
> > stl_construct.h:182
> > #43 0x000000010005001a in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::_M_destroy_data_aux (this=0x102103fe8, __first=@0x101719b58,
> > __last=@0x101719b38) at deque.tcc:654
> > #44 0x000000010005013e in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::_M_destroy_data_dispatch (this=0x102103fe8, __first=@0x101719be0,
> > __last=@0x101719bc0) at stl_deque.h:1432
> > #45 0x00000001000501a8 in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::_M_destroy_data (this=0x102103fe8, __first=@0x101719c78,
> > __last=@0x101719c58, unnamed_arg=@0x102103fe8) at stl_deque.h:1447
> > #46 0x0000000100055624 in std::deque<std::tr1::function<void ()(std::string
> > const&)>, std::allocator<std::tr1::function<void ()(std::string const&)> >
> > >::~deque (this=0x102103fe8) at stl_deque.h:742
> > #47 0x0000000100116be8 in std::queue<std::tr1::function<void ()(std::string
> > const&)>, std::deque<std::tr1::function<void ()(std::string const&)>,
> > std::allocator<std::tr1::function<void ()(std::string const&)> > >
> > >::~queue (this=0x102103fe8) at stl_queue.h:96
> > #48 0x000000010031f828 in process::Future<Nothing>::Data::~Data
> > (this=0x102103f70) at future.hpp:781
> > #49 0x0000000100056746 in
> > std::tr1::_Sp_deleter<process::Future<Nothing>::Data>::operator()
> > (this=0x102103dc8, __p=0x102103f70) at boost_shared_ptr.h:94
> > #50 0x000000010004c744 in
> > std::tr1::_Sp_counted_base_impl<process::Future<Nothing>::Data*,
> > std::tr1::_Sp_deleter<process::Future<Nothing>::Data>,
> > (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x102103db0) at
> > boost_shared_ptr.h:246
> > #51 0x0000000100211efe in
> > std::tr1::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release
> > (this=0x102103db0) at boost_shared_ptr.h:145
> > #52 0x0000000100224c38 in
> > std::tr1::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count
> > (this=0x102107618) at boost_shared_ptr.h:300
> > #53 0x000000010008b935 in
> > std::tr1::__shared_ptr<process::Future<Nothing>::Data,
> > (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x102107610) at
> > boost_shared_ptr.h:504
> >
Thanks Vinod! I guess the chaining of the futures is still problematic. I'll
try and reproduce this locally.
- Benjamin
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17873/#review34022
-----------------------------------------------------------
On Feb. 8, 2014, 7:36 p.m., Benjamin Hindman wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/17873/
> -----------------------------------------------------------
>
> (Updated Feb. 8, 2014, 7:36 p.m.)
>
>
> Review request for mesos, Ben Mahler, Ian Downes, Jie Yu, and Vinod Kone.
>
>
> Bugs: MESOS-973
> https://issues.apache.org/jira/browse/MESOS-973
>
>
> Repository: mesos-git
>
>
> Description
> -------
>
> See summary.
>
>
> Diffs
> -----
>
> 3rdparty/libprocess/src/process.cpp
> 2e7764a8e0badec704b8610f3f72f0bd16cc9612
>
> Diff: https://reviews.apache.org/r/17873/diff/
>
>
> Testing
> -------
>
> make check
>
>
> Thanks,
>
> Benjamin Hindman
>
>