Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Moteurs Web Discussion :

Erreurs en lançant le programme en tant que root


Sujet :

Moteurs Web

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    IRIS, ATS, 3IL Rodez
    Inscrit en
    juin 2014
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : IRIS, ATS, 3IL Rodez

    Informations forums :
    Inscription : juin 2014
    Messages : 27
    Points : 26
    Points
    26
    Par défaut Erreurs en lançant le programme en tant que root
    Bonjour,

    Je travail sous Unix (DebianJessie), j'ai réalisé un outil pour mon entreprise qui utilise QtWebEngine.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    BrowserSensorFS3::BrowserSensorFS3(QString url)
    {
     
        QtWebEngine::initialize();
     
        m_contexte = m_engineWeb.rootContext();
     
        m_contexte->setContextProperty ( "url_to_call", url );
     
        connect(&m_engineWeb, &QQmlApplicationEngine::objectCreated, this, &BrowserSensorFS3::objectCreated );
     
        m_engineWeb.load ( QUrl ( QStringLiteral ( "qrc:/qml/main.qml" ) ) );
    }
     
     
    void BrowserSensorFS3::updateURL(QUrl url){
        m_contexte->setContextProperty ( "url_to_call", url );
        m_engineWeb.load ( QUrl ( QStringLiteral ( "qrc:/qml/main.qml" ) ) );
    }
     
    void BrowserSensorFS3::objectCreated()
    {
        qDebug()<< "object created";
    }

    L'application marche quand je l’exécute en tant que user lambda en lui fournissant son paramètre 'url' adéquat.
    En revanche si je passe en root, (en exécutant le binaire du projet par la console, ou en lançant directement qt en root), la fonction load n'abouti pas et retourne une séquence d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    [0202/105306:FATAL:sandbox_linux.cc(178)] Check failed: sandbox::Credentials::MoveToNewUserNS(). 
    #0 0x7f28787243db base::debug::StackTrace::StackTrace()
    #1 0x7f2878751fb7 logging::LogMessage::~LogMessage()
    #2 0x7f2877a1b9d8 content::LinuxSandbox::EngageNamespaceSandbox()
    #3 0x7f2876ef85cf content::EnterNamespaceSandbox()
    #4 0x7f2876ef8974 content::EnterLayerOneSandbox()
    #5 0x7f2876ef8e1e content::ZygoteMain()
    #6 0x7f2876b396a2 content::RunZygote()
    #7 0x7f2876b39a42 content::RunNamedProcessTypeMain()
    #8 0x7f2876b3aacf content::ContentMainRunnerImpl::Run()
    #9 0x7f2876b391db content::ContentMain()
    #10 0x7f28755fee66 QtWebEngine::processMain()
    #11 0x000000400b5e main
    #12 0x7f2871f05b45 __libc_start_main
    #13 0x0000004009d9 <unknown>
     
    Received signal 6
    #0 0x7f28787243db base::debug::StackTrace::StackTrace()
    #1 0x7f2878723cf1 base::debug::(anonymous namespace)::StackDumpSignalHandler()
    #2 0x7f2872abe8d0 <unknown>
    #3 0x7f2871f19107 gsignal
    #4 0x7f2871f1a4e8 abort
    #5 0x7f287872335b base::debug::(anonymous namespace)::DebugBreak()
    #6 0x7f2878723373 base::debug::BreakDebugger()
    #7 0x7f2878752310 logging::LogMessage::~LogMessage()
    #8 0x7f2877a1b9d8 content::LinuxSandbox::EngageNamespaceSandbox()
    #9 0x7f2876ef85cf content::EnterNamespaceSandbox()
    #10 0x7f2876ef8974 content::EnterLayerOneSandbox()
    #11 0x7f2876ef8e1e content::ZygoteMain()
    #12 0x7f2876b396a2 content::RunZygote()
    #13 0x7f2876b39a42 content::RunNamedProcessTypeMain()
    #14 0x7f2876b3aacf content::ContentMainRunnerImpl::Run()
    #15 0x7f2876b391db content::ContentMain()
    #16 0x7f28755fee66 QtWebEngine::processMain()
    #17 0x000000400b5e main
    #18 0x7f2871f05b45 __libc_start_main
    #19 0x0000004009d9 <unknown>
      r8: fffffffffffff440  r9: fffffffffffff430 r10: 0000000000000008 r11: 0000000000000202
     r12: 00000000000002e4 r13: 00007ffc04b1f818 r14: 0000000000000000 r15: 0000000000000000
      di: 0000000000000001  si: 0000000000000001  bp: 00007ffc04b1ee50  bx: 00007f2872288060
      dx: 0000000000000006  ax: 0000000000000000  cx: ffffffffffffffff  sp: 00007ffc04b1ed18
      ip: 00007f2871f19107 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000
     trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000
    [end of stack trace]

    j'ai du mal à cerner l'erreur : Check failed: sandbox::Credentials::MoveToNewUserNS().

    De quoi s'agit-il ? Je ne vois pas le rapport avec le fait d'être en root

    cela pourrait il venir de variable d’environnements manquantes chez le root ?

    à Noter que dans les deux cas, (root ou pas root) j'ai ce message qui s'affiche :

    [0202/105306:INFO:browser_main_loop.cc(217)] Running without the SUID sandbox! See https://chromium.googlesource.com/ch...development.md for more information on developing with the sandbox on.

    Donc en résumé, je ne peut pas lancer mon programmer en root, sinon load me retourne une erreur ...

    Si vous avez une idée, je suis toute ouïe !

    Bonne journée à vous !

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    octobre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : octobre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    j'ai rencontré le même problème.

    Chromium plante quand on l’exécute en root sans l'argument "--no-sandbox".

    En passant cet argument à l'application l'erreur devrait disparaître.

Discussions similaires

  1. Exécuter mon programme en tant que service
    Par tonymx15 dans le forum Windows
    Réponses: 3
    Dernier message: 04/12/2010, 13h04
  2. Executer un programme en tant que
    Par poussin_44 dans le forum VB.NET
    Réponses: 2
    Dernier message: 30/08/2007, 10h58
  3. Réponses: 3
    Dernier message: 15/05/2006, 10h49
  4. s'amuser dans la programmation en tant que métier ?
    Par Bruno75 dans le forum Etudes
    Réponses: 9
    Dernier message: 02/02/2006, 22h36
  5. [VB6] Exécuter un programme en tant que...
    Par Le_Tolier dans le forum VB 6 et antérieur
    Réponses: 36
    Dernier message: 28/05/2004, 15h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo