-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/
-----------------------------------------------------------

(Updated Jan. 12, 2017, 11:52 p.m.)


Review request for mesos and Anand Mazumdar.


Repository: mesos


Description
-------

This fixes the segfault that occurs when an executor sets a UUID that's not a 
valid v4 UUID and sends it off to the agent:

```
ABORT: (../../3rdparty/stout/include/stout/try.hpp:77): Try::get() but state == 
ERROR: Not a valid UUID
*** Aborted at 1484262968 (unix time) try "date -d @1484262968" if you are 
using GNU date ***
PC: @     0x7efeb6101428 (unknown)
*** SIGABRT (@0x36b7) received by PID 14007 (TID 0x7efeabd29700) from PID 
14007; stack trace: ***
    @     0x7efeb64a6390 (unknown)
    @     0x7efeb6101428 (unknown)
    @     0x7efeb610302a (unknown)
    @     0x560df739fa6e _Abort()
    @     0x560df739fa9c _Abort()
    @     0x7efebb53a5ad Try<>::get()
    @     0x7efebb5363d6 Try<>::get()
    @     0x7efebbd84809 
mesos::internal::slave::validation::executor::call::validate()
    @     0x7efebbb59b36 mesos::internal::slave::Slave::Http::executor()
    @     0x7efebbc773b8 
_ZZN5mesos8internal5slave5Slave10initializeEvENKUlRKN7process4http7RequestEE1_clES7_
    @     0x7efebbcb5808 
_ZNSt17_Function_handlerIFN7process6FutureINS0_4http8ResponseEEERKNS2_7RequestEEZN5mesos8internal5slave5Slave10initializeEvEUlS7_E1_E9_M_invokeERKSt9_Any_dataS7_
    @     0x7efebbfb2aea std::function<>::operator()()
    @     0x7efebcb158b8 
_ZZZN7process11ProcessBase6_visitERKNS0_12HttpEndpointERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_5OwnedINS_4http7RequestEEEENKUlRK6OptionINSD_14authentication20AuthenticationResultEEE0_clESN_ENKUlbE1_clEb
    @     0x7efebcb1a10a 
_ZZZNK7process9_DeferredIZZNS_11ProcessBase6_visitERKNS1_12HttpEndpointERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_5OwnedINS_4http7RequestEEEENKUlRK6OptionINSE_14authentication20AuthenticationResultEEE0_clESO_EUlbE1_EcvSt8functionIFT_T0_EEINS_6FutureINSE_8ResponseEEERKbEEvENKUlS12_E_clES12_ENKUlvE_clEv
    @     0x7efebcb1c5f8 
_ZNSt17_Function_handlerIFN7process6FutureINS0_4http8ResponseEEEvEZZNKS0_9_DeferredIZZNS0_11ProcessBase6_visitERKNS7_12HttpEndpointERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS0_5OwnedINS2_7RequestEEEENKUlRK6OptionINS2_14authentication20AuthenticationResultEEE0_clEST_EUlbE1_EcvSt8functionIFT_T0_EEIS4_RKbEEvENKUlS14_E_clES14_EUlvE_E9_M_invokeERKSt9_Any_data
    @     0x7efebb5ce8ca std::function<>::operator()()
    @     0x7efebb5c4b27 
_ZZN7process8internal8DispatchINS_6FutureINS_4http8ResponseEEEEclIRSt8functionIFS5_vEEEES5_RKNS_4UPIDEOT_ENKUlPNS_11ProcessBaseEE_clESI_
    @     0x7efebb5d4e1e 
_ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8internal8DispatchINS0_6FutureINS0_4http8ResponseEEEEclIRSt8functionIFS9_vEEEES9_RKNS0_4UPIDEOT_EUlS2_E_E9_M_invokeERKSt9_Any_dataOS2_
    @     0x7efebcb30baf std::function<>::operator()()
    @     0x7efebcb13fd6 process::ProcessBase::visit()
    @     0x7efebcb1f3c8 process::DispatchEvent::visit()
    @     0x7efebb3ab2ea process::ProcessBase::serve()
    @     0x7efebcb0fe8a process::ProcessManager::resume()
    @     0x7efebcb0c5a3 _ZZN7process14ProcessManager12init_threadsEvENKUt_clEv
    @     0x7efebcb1ea34 
_ZNSt12_Bind_simpleIFZN7process14ProcessManager12init_threadsEvEUt_vEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE
    @     0x7efebcb1e98a 
_ZNSt12_Bind_simpleIFZN7process14ProcessManager12init_threadsEvEUt_vEEclEv
    @     0x7efebcb1e91a 
_ZNSt6thread5_ImplISt12_Bind_simpleIFZN7process14ProcessManager12init_threadsEvEUt_vEEE6_M_runEv
    @     0x7efeb6980c80 (unknown)
    @     0x7efeb649c6ba start_thread
    @     0x7efeb61d282d (unknown)
Aborted (core dumped)
```


Diffs
-----

  src/slave/validation.cpp abd9b1248 

Diff: https://reviews.apache.org/r/55480/diff/


Testing (updated)
-------

Verified by making sure no segfault occurs when rebuilding Mesos with this fix 
and pointing our framework at it. Our framework is currently not generating v4 
UUIDs which was exposing the issue.


Thanks,

Aaron Wood

Reply via email to