[
https://issues.apache.org/jira/browse/MESOS-3552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14936108#comment-14936108
]
Mandeep Chadha commented on MESOS-3552:
---------------------------------------
F0923 23:18:43.559806 2653 resources.cpp:872] Check failed: result.cpus() ==
cpus() && result.mem() == mem() && result.disk() == disk() && result.ports() ==
ports()
*** Check failure stack trace: ***
@ 0x7f151e338f64 google::LogMessage::Fail()
@ 0x7f151e338f64 google::LogMessage::Fail()
@ 0x7f151e338eb3 google::LogMessage::SendToLog()
@ 0x7f151e338eb3 google::LogMessage::SendToLog()
@ 0x7f151e3388c4 google::LogMessage::Flush()
@ 0x7f151e3388c4 google::LogMessage::Flush()
@ 0x7f151e33b5f8 google::LogMessageFatal::~LogMessageFatal()
@ 0x7f151e33b5f8 google::LogMessageFatal::~LogMessageFatal()
@ 0x7f151d62029f mesos::Resources::apply()
@ 0x7f151d62029f mesos::Resources::apply()
@ 0x7f151d723c66 mesos::Resources::apply<>()
@ 0x7f151d7febf3 mesos::internal::master::Slave::apply()
@ 0x7f151d71fae2
mesos::internal::master::allocator::HierarchicalAllocatorProcess<>::updateAllocation()
@ 0x7f151d7f0561 mesos::internal::master::Master::applyOfferOperation()
@ 0x7f151d72a8d0
_ZZN7process8dispatchIN5mesos8internal6master9allocator21MesosAllocatorProcessERKNS1_11FrameworkIDERKNS1_7SlaveIDERKSt6vectorINS1_15Offer_OperationESaISD_EES6_S9_SF_EEvRKNS_3PIDIT_EEMSJ_FvT0_T1_T2_ET3_T4_T5_ENKUlPNS_11ProcessBaseEE_clESW_
@ 0x7f151d7d74f8 mesos::internal::master::Master::_accept()
@ 0x7f151d734764
_ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8dispatchIN5mesos8internal6master9allocator21MesosAllocatorProcessERKNS5_11FrameworkIDERKNS5_7SlaveIDERKSt6vectorINS5_15Offer_OperationESaISH_EESA_SD_SJ_EEvRKNS0_3PIDIT_EEMSN_FvT0_T1_T2_ET3_T4_T5_EUlS2_E_E9_M_invokeERKSt9_Any_dataS2_
@ 0x7f151d83d99d
_ZZN7process8dispatchIN5mesos8internal6master6MasterERKNS1_11FrameworkIDERKNS1_7SlaveIDERKNS1_9ResourcesERKNS1_9scheduler11Call_AcceptERKNS_6FutureISt4listINSI_IbEESaISK_EEEES5_S8_SB_SF_SN_EEvRKNS_3PIDIT_EEMSR_FvT0_T1_T2_T3_T4_ET5_T6_T7_T8_T9_ENKUlPNS_11ProcessBaseEE_clES18_
@ 0x7f151e2c1775 std::function<>::operator()()
@ 0x7f151d890865
_ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8dispatchIN5mesos8internal6master6MasterERKNS5_11FrameworkIDERKNS5_7SlaveIDERKNS5_9ResourcesERKNS5_9scheduler11Call_AcceptERKNS0_6FutureISt4listINSM_IbEESaISO_EEEES9_SC_SF_SJ_SR_EEvRKNS0_3PIDIT_EEMSV_FvT0_T1_T2_T3_T4_ET5_T6_T7_T8_T9_EUlS2_E_E9_M_invokeERKSt9_Any_dataS2_
@ 0x7f151e2aa627 process::ProcessBase::visit()
@ 0x7f151e2c1775 std::function<>::operator()()
@ 0x7f151e2ad422 process::DispatchEvent::visit()
@ 0x47558e process::ProcessBase::serve()
@ 0x7f151e2a6c1b process::ProcessManager::resume()
@ 0x7f151e2aa627 process::ProcessBase::visit()
@ 0x7f151e2ad422 process::DispatchEvent::visit()
@ 0x47558e process::ProcessBase::serve()
@ 0x7f151e29aff0 process::internal::schedule()
@ 0x7f151e2a6c1b process::ProcessManager::resume()
@ 0x7f151e2fadc1
_ZNSt12_Bind_simpleIFPFvvEvEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE
@ 0x7f151e2fad11 std::_Bind_simple<>::operator()()
@ 0x7f151e29aff0 process::internal::schedule()
@ 0x7f151e2fadc1
_ZNSt12_Bind_simpleIFPFvvEvEE9_M_invokeIJEEEvSt12_Index_tupleIJXspT_EEE
@ 0x7f151e2fad11 std::_Bind_simple<>::operator()()
@ 0x7f151e2facaa std::thread::_Impl<>::_M_run()
@ 0x31418b6470 (unknown)
@ 0x31410079d1 (unknown)
@ 0x31408e88fd (unknown)
@ (nil) (unknown)
> Check failed: result.cpus() == cpus() && result.mem() == mem() &&
> result.disk() == disk() && result.ports() == ports()
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: MESOS-3552
> URL: https://issues.apache.org/jira/browse/MESOS-3552
> Project: Mesos
> Issue Type: Bug
> Components: master
> Affects Versions: 0.24.1
> Reporter: Mandeep Chadha
> Assignee: Mandeep Chadha
>
> result.cpus() == cpus() check is failing due to ( double == double )
> comparison problem.
> Root Cause :
> Framework requested 0.1 cpu reservation for the first task. So far so good.
> Next Reserve operation — lead to double operations resulting in following
> double values :
> results.cpus() : 23.9999999999999964472863211995 cpus() : 24
> And the check ( result.cpus() == cpus() ) failed.
> The double arithmetic operations caused results.cpus() value to be :
> 23.9999999999999964472863211995 and hence ( 23.9999999999999964472863211995
> == 24 ) failed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)