You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Aaron Wood <aa...@verizon.com> on 2017/01/12 23:42:00 UTC

Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

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

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


Review request for mesos and Anand Mazumdar.


Summary (updated)
-----------------

Fix segfault when the executor ID is not a valid v4 UUID.


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

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 causing the issue.


Thanks,

Aaron Wood


Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

Posted by Mesos ReviewBot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161483
-----------------------------------------------------------



Patch looks great!

Reviews applied: [55480]

Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' CONFIGURATION='--verbose' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh

- Mesos ReviewBot


On Jan. 12, 2017, 11:52 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> 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
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

Posted by Vinod Kone <vi...@gmail.com>.

> On Jan. 13, 2017, 4:52 a.m., Vinod Kone wrote:
> > Thanks for the fix!
> > 
> > Would you mind updating the `StatusUpdateCallFailedValidation` test in executor_http_api_tests.cpp to include this case?

Also if you can create a ticket for this, and set target versions to 1.0, 1.1 and 1.2 with "blocker" priority, we will make sure to backport it.


- Vinod


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


On Jan. 12, 2017, 11:52 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> 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
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

Posted by Aaron Wood <aa...@verizon.com>.

> On Jan. 13, 2017, 4:52 a.m., Vinod Kone wrote:
> > Thanks for the fix!
> > 
> > Would you mind updating the `StatusUpdateCallFailedValidation` test in executor_http_api_tests.cpp to include this case?
> 
> Vinod Kone wrote:
>     Also if you can create a ticket for this, and set target versions to 1.0, 1.1 and 1.2 with "blocker" priority, we will make sure to backport it.

Thank you! Unfortunately JIRA looks like it's still down. I'll be sure to create that ticket ASAP.


- Aaron


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


On Jan. 12, 2017, 11:52 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> 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
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161484
-----------------------------------------------------------



Thanks for the fix!

Would you mind updating the `StatusUpdateCallFailedValidation` test in executor_http_api_tests.cpp to include this case?

- Vinod Kone


On Jan. 12, 2017, 11:52 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> 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
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161750
-----------------------------------------------------------




src/tests/executor_http_api_tests.cpp (line 635)
<https://reviews.apache.org/r/55480/#comment233050>

    hmm, instead of having an update with two invalid fields (executor id and uuid), each block should just test one thing that is invalid. that way it is clear that the validation error is due to that specific invalid field.
    
    as such, i would add a separate block for UPDATE whose only invalid field is executor id.


- Vinod Kone


On Jan. 13, 2017, 4:46 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/55480/
> -----------------------------------------------------------
> 
> (Updated Jan. 13, 2017, 4:46 p.m.)
> 
> 
> Review request for mesos and Anand Mazumdar.
> 
> 
> Bugs: MESOS-6917
>     https://issues.apache.org/jira/browse/MESOS-6917
> 
> 
> 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 abd9b12 
>   src/tests/executor_http_api_tests.cpp 872caf6 
> 
> Diff: https://reviews.apache.org/r/55480/diff/
> 
> 
> Testing
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Mesos ReviewBot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161578
-----------------------------------------------------------



Patch looks great!

Reviews applied: [55480]

Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' CONFIGURATION='--verbose' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker_build.sh

- Mesos ReviewBot


On Jan. 13, 2017, 4:46 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/55480/
> -----------------------------------------------------------
> 
> (Updated Jan. 13, 2017, 4:46 p.m.)
> 
> 
> Review request for mesos and Anand Mazumdar.
> 
> 
> Bugs: MESOS-6917
>     https://issues.apache.org/jira/browse/MESOS-6917
> 
> 
> 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 abd9b12 
>   src/tests/executor_http_api_tests.cpp 872caf6 
> 
> Diff: https://reviews.apache.org/r/55480/diff/
> 
> 
> Testing
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Vinod Kone <vi...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161863
-----------------------------------------------------------


Ship it!




Ship It!

- Vinod Kone


On Jan. 16, 2017, 8:47 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/55480/
> -----------------------------------------------------------
> 
> (Updated Jan. 16, 2017, 8:47 p.m.)
> 
> 
> Review request for mesos and Anand Mazumdar.
> 
> 
> Bugs: MESOS-6917
>     https://issues.apache.org/jira/browse/MESOS-6917
> 
> 
> 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 
>   src/tests/executor_http_api_tests.cpp 872caf6dd 
> 
> Diff: https://reviews.apache.org/r/55480/diff/
> 
> 
> Testing
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Mesos ReviewBot <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161805
-----------------------------------------------------------



Patch looks great!

Reviews applied: [55480]

Passed command: export OS='ubuntu:14.04' BUILDTOOL='autotools' COMPILER='gcc' CONFIGURATION='--verbose' ENVIRONMENT='GLOG_v=1 MESOS_VERBOSE=1'; ./support/docker-build.sh

- Mesos ReviewBot


On Jan. 16, 2017, 8:47 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/55480/
> -----------------------------------------------------------
> 
> (Updated Jan. 16, 2017, 8:47 p.m.)
> 
> 
> Review request for mesos and Anand Mazumdar.
> 
> 
> Bugs: MESOS-6917
>     https://issues.apache.org/jira/browse/MESOS-6917
> 
> 
> 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 
>   src/tests/executor_http_api_tests.cpp 872caf6dd 
> 
> Diff: https://reviews.apache.org/r/55480/diff/
> 
> 
> Testing
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Aaron Wood <aa...@verizon.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/
-----------------------------------------------------------

(Updated Jan. 16, 2017, 8:47 p.m.)


Review request for mesos and Anand Mazumdar.


Changes
-------

Alter test.


Bugs: MESOS-6917
    https://issues.apache.org/jira/browse/MESOS-6917


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 (updated)
-----

  src/slave/validation.cpp abd9b1248 
  src/tests/executor_http_api_tests.cpp 872caf6dd 

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


Testing
-------

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


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Aaron Wood <aa...@verizon.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/
-----------------------------------------------------------

(Updated Jan. 13, 2017, 4:46 p.m.)


Review request for mesos and Anand Mazumdar.


Changes
-------

Adjusted one of the tests to set a bad UUID value.


Bugs: MESOS-6917
    https://issues.apache.org/jira/browse/MESOS-6917


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 (updated)
-----

  src/slave/validation.cpp abd9b12 
  src/tests/executor_http_api_tests.cpp 872caf6 

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


Testing
-------

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


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Aaron Wood <aa...@verizon.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/
-----------------------------------------------------------

(Updated Jan. 13, 2017, 3:56 p.m.)


Review request for mesos and Anand Mazumdar.


Bugs: MESOS-6917
    https://issues.apache.org/jira/browse/MESOS-6917


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

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


Re: Review Request 55480: Fix segfault when the executor sets a UUID that is not a valid v4 UUID.

Posted by Aaron Wood <aa...@verizon.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/
-----------------------------------------------------------

(Updated Jan. 13, 2017, 3:52 p.m.)


Review request for mesos and Anand Mazumdar.


Summary (updated)
-----------------

Fix segfault when the executor sets a UUID that is not a valid v4 UUID.


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

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


Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

Posted by haosdent huang <ha...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161464
-----------------------------------------------------------


Ship it!




Ship It!

- haosdent huang


On Jan. 12, 2017, 11:52 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> 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
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

Posted by Joseph Wu <jo...@mesosphere.io>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/55480/#review161463
-----------------------------------------------------------


Ship it!




Nice catch!

- Joseph Wu


On Jan. 12, 2017, 3:52 p.m., Aaron Wood wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/55480/
> -----------------------------------------------------------
> 
> (Updated Jan. 12, 2017, 3: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
> -------
> 
> 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
> 
>


Re: Review Request 55480: Fix segfault when the executor ID is not a valid v4 UUID.

Posted by Aaron Wood <aa...@verizon.com>.
-----------------------------------------------------------
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