You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Jie Yu (JIRA)" <ji...@apache.org> on 2016/12/24 23:09:58 UTC

[jira] [Assigned] (MESOS-6129) Use libcurl instead of shelling out to curl

     [ https://issues.apache.org/jira/browse/MESOS-6129?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jie Yu reassigned MESOS-6129:
-----------------------------

    Assignee: Jie Yu

> Use libcurl instead of shelling out to curl
> -------------------------------------------
>
>                 Key: MESOS-6129
>                 URL: https://issues.apache.org/jira/browse/MESOS-6129
>             Project: Mesos
>          Issue Type: Improvement
>            Reporter: Dan Osborne
>            Assignee: Jie Yu
>
> The unified Containerizer shells out to curl when downloading docker images. Curl is not a listed requirement to run Mesos, so users will see a stacktrace if they don't have curl installed.
> These shells are called in the following two locations:
> https://github.com/apache/mesos/blob/master/src/uri/fetchers/docker.cpp#L99-L104
> https://github.com/apache/mesos/blob/master/src/uri/fetchers/curl.cpp#L99-L107
> If there is no specific reason why libcurl is not used directly, then we should switch to libcurl calls instead.
> Resulting stack trace in Agent logs from not having curl installed:
> {code}
> E0818 00:39:07.557843    11 slave.cpp:3976] Container 'af48e158-631e-4b9a-8fb9-53b481787a40' for executor 'database.2be5771a-64dc-11e6-84fd-0242ac110005' of framework 78ff8c50-738c-4aa0-8525-74b0752ea836-0000 failed to start: Failed to perform 'curl': ABORT: (../../../../../..//tmp/mesos-build/mesos-repo/3rdparty/libprocess/include/process/posix/subprocess.hpp:306): Failed to os::execvpe on path 'curl': No such file or directory
> *** Aborted at 1471480747 (unix time) try "date -d @1471480747" if you are using GNU date ***
> PC: @     0x7fc2aa6c8c37 (unknown)
> *** SIGABRT (@0x5f) received by PID 95 (TID 0x7fc2a1e38700) from PID 95; stack trace: ***
>     @     0x7fc2aaa67330 (unknown)
>     @     0x7fc2aa6c8c37 (unknown)
>     @     0x7fc2aa6cc028 (unknown)
>     @           0x41336c _Abort()
>     @           0x4133ac _Abort()
>     @     0x7fc2ac8c764e process::internal::childMain()
>     @     0x7fc2ac8c654d std::_Function_handler<>::_M_invoke()
>     @     0x7fc2ac8c64f3 process::internal::defaultClone()
>     @     0x7fc2ac8c8055 process::internal::cloneChild()
>     @     0x7fc2ac8c59a6 process::subprocess()
>     @     0x7fc2ac34b723 mesos::uri::curl()
>     @     0x7fc2ac34defe mesos::uri::curl()
>     @     0x7fc2ac352bf4 mesos::uri::DockerFetcherPluginProcess::fetch()
>     @     0x7fc2ac357887 _ZNSt17_Function_handlerIFvPN7process11ProcessBaseEEZNS0_8dispatchI7NothingN5mesos3uri26DockerFetcherPluginProcessERKNS6_3URIERKSsS9_SsEENS0_6FutureIT_EERKNS0_3PIDIT0_EEMSI_FSG_T1_T2_ET3_T4_EUlS2_E_E9_M_invokeERKSt9_Any_dataS2_
>     @     0x7fc2ac891791 process::ProcessManager::resume()
>     @     0x7fc2ac891a97 _ZNSt6thread5_ImplISt12_Bind_simpleIFZN7process14ProcessManager12init_threadsEvEUt_vEEE6_M_runEv
>     @     0x7fc2aaf3ca60 (unknown)
>     @     0x7fc2aaa5f184 start_thread
>     @     0x7fc2aa78c37d (unknown)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)