mesos-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dan Osborne (JIRA)" <j...@apache.org>
Subject [jira] [Created] (MESOS-6129) Use libcurl instead of shelling out to curl
Date Tue, 06 Sep 2016 22:06:20 GMT
Dan Osborne created MESOS-6129:
----------------------------------

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


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)

Mime
View raw message