> 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
> 
>

Reply via email to