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)