You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Mao Geng (JIRA)" <ji...@apache.org> on 2017/09/06 05:13:00 UTC
[jira] [Commented] (MESOS-817) CHECK is Future.get() can fail.
[ https://issues.apache.org/jira/browse/MESOS-817?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16154819#comment-16154819 ]
Mao Geng commented on MESOS-817:
--------------------------------
Hit a similar check failure when using mesos_http health check recently. Marathon 1.4.3 and Mesos 1.2.0
{code}
F0816 00:40:43.628082 76 future.hpp:1104] Check failed: !isPending() Future was in PENDING after await()
*** Check failure stack trace: ***
@ 0x7f055f54d9dd google::LogMessage::Fail()
@ 0x7f055f54f65d google::LogMessage::SendToLog()
@ 0x7f055f54d5a2 google::LogMessage::Flush()
@ 0x7f055f550049 google::LogMessageFatal::~LogMessageFatal()
@ 0x7f055edf5ae1 process::Future<>::get()
@ 0x7f055efb145c ZooKeeper::get()
@ 0x7f055f462d76 mesos::state::ZooKeeperStorageProcess::doGet()
@ 0x7f055f46366d mesos::state::ZooKeeperStorageProcess::get()
@ 0x7f055f469620 _ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8dispatchI6OptionIN5mesos8internal5state5EntryEENS6_5state23ZooKeeperStorageProcessERKSsSsEENS0_6FutureIT_EERKNS0_3PIDIT0_EEMSJ_FSH_T1_ET2_EUlS2_E_E9_M_invokeERKSt9_Any_dataS2_
@ 0x7f055f4db924 process::ProcessManager::resume()
@ 0x7f055f4dbc57 _ZNSt6thread5_ImplISt12_Bind_simpleIFZN7process14ProcessManager12init_threadsEvEUt_vEEE6_M_runEv
@ 0x7f0658dfd970 (unknown)
@ 0x7f065a9c6064 start_thread
@ 0x7f065a0cd62d (unknown)
Aborted
I0816 00:40:44.243842 111060 health_checker.cpp:165] Health checking stopped
W0816 00:40:44.243842 111057 logging.cpp:91] RAW: Received signal SIGTERM from process 45015 of user 0; exiting
{code}
> CHECK is Future.get() can fail.
> -------------------------------
>
> Key: MESOS-817
> URL: https://issues.apache.org/jira/browse/MESOS-817
> Project: Mesos
> Issue Type: Bug
> Environment: Linux gcc 4.2.1
> Reporter: Jie Yu
> Assignee: Jie Yu
>
> template <typename T>
> T Future<T>::get() const
> {
> if (!isReady()) {
> await();
> }
> CHECK(!isPending()) << "Future was in PENDING after await()";
> if (!isReady()) {
> if (isFailed()) {
> std::cerr << "Future::get() but state == FAILED: "
> << failure() << std::endl;
> } else if (isDiscarded()) {
> std::cerr << "Future::get() but state == DISCARDED" << std::endl;
> }
> abort();
> }
> assert(data->t != NULL);
> return *data->t;
> }
> This CHECK can fail:
> CHECK(!isPending()) << "Future was in PENDING after await()";
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)