XMLWordPrintable

Details

    • Bug
    • Resolution: Moved
    • P3: Somewhat important
    • None
    • 5.12.1
    • Device Images
    • None
    • Running on PELUX

    Description

       

      Initially, Youtube app is killed automatically becase of sandbox setting

      After we set the QTWEBENGINE_DISABLE_SANDBOX=1 environment variable, crashing issue of Youtube has resolved. 

       

      [4319:4319:0314/025232.432287:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
      74 void ZygoteHostImpl::Init(const base::CommandLine& command_line) { 
      75 if (command_line.HasSwitch(service_manager::switches::kNoSandbox)) { 
      76 return; 
      77 } 
      ~snip~ 
      88 if (!sandbox::Credentials::GetRESIds(&uid, &gid) || uid == 0) { 
      89 LOG(ERROR) << "Running as root without --" 
      90 << service_manager::switches::kNoSandbox 
      91 << " is not supported. See https://crbug.com/638180."; 
      92 exit(EXIT_FAILURE); 
      93 } 
      ~snip~ 
      

      But, Youtube still doesn't work because of blocking issue.

      root@localhost:~# ps aux
      USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
      root 3964 3.8 1.4 2244492 227296 pts/0 Sl+ 02:52 0:01 /opt/neptune3/neptune3-ui -r --dbus session -c am-config-neptune.yaml -platform eglfs
      root 3965 0.0 0.0 111592 3624 ? Ss 02:52 0:00 /opt/neptune3/neptune3-ui: sudo helper
      root 3978 0.0 0.0 50276 10144 pts/0 S+ 02:52 0:00 /opt/neptune3/RemoteSettingsServer
      root 3988 0.3 0.4 1021964 64360 pts/0 Sl+ 02:52 0:00 /usr/bin/appman-launcher-qml: com.pelagicore.climate
      root 3989 0.4 0.4 940620 69112 pts/0 Sl+ 02:52 0:00 /usr/bin/appman-launcher-qml: com.pelagicore.hud
      root 3990 2.7 0.9 2726384 155664 pts/0 Sl+ 02:52 0:01 /usr/bin/appman-launcher-qml: com.theqtcompany.cluster
      root 3991 0.7 0.5 972156 85196 pts/0 Sl+ 02:52 0:00 /usr/bin/appman-launcher-qml: com.pelagicore.calendar
      root 3992 0.7 0.5 841480 86520 pts/0 Sl+ 02:52 0:00 /usr/bin/appman-launcher-qml: com.pelagicore.phone
      root 4075 0.2 0.4 711952 66488 pts/0 Sl+ 02:52 0:00 /usr/bin/appman-launcher-qml: com.pelagicore.youtube
      root 4091 0.0 0.2 219768 37944 pts/0 S+ 02:52 0:00 /usr/lib/libexec/QtWebEngineProcess --type=zygote --no-sandbox --webengine-schemes=qrc:sLV --lang=en-US
       
      ### QtWebEngineProcess
      root@localhost:~# strace -fF -p 4091
      strace: Process 4091 attached
      futex(0x7fa4620c00, FUTEX_WAIT_PRIVATE, 1, NULL
       
      ### Youtube app
      root@localhost:~# strace -fF -p 4075 
      strace: Process 4075 attached with 15 threads
      [pid 4090] ppoll([{fd=98, events=POLLIN}, {fd=97, events=POLLIN}], 2, NULL, NULL, 0 <unfinished ...>
      [pid 4089] ppoll([{fd=20, events=POLLIN}], 1, NULL, NULL, 0 <unfinished ...>
      [pid 4088] ppoll([{fd=17, events=POLLIN}, {fd=18, events=POLLIN}, {fd=19, events=POLLIN}], 3, NULL, NULL, 0 <unfinished ...>
      [pid 4087] futex(0x399be80, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4086] ppoll([{fd=8, events=POLLIN}, {fd=9, events=POLLIN}, {fd=10, events=POLLIN}, {fd=11, events=POLLIN}], 4, NULL, NULL, 0 <unfinished ...>
      [pid 4085] futex(0x397dd38, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4084] futex(0x397dc90, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4083] futex(0x397dbe8, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4082] futex(0x397db40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4081] futex(0x397da98, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4080] futex(0x397d9f0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4079] futex(0x397d948, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4078] futex(0x397d8a0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4077] futex(0x7f7e4714a0, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, NULL, 0xffffffff <unfinished ...>
      [pid 4075] read(100, ^Cstrace: Process 4075 detached
       
      ### FD 100 of Youtube is a socket.
      root@localhost:/proc/4075/fd# ls -l|grep 100
      lrwx------ 1 root root 64 Mar 14 03:01 100 -> socket:[29786]
      

       Only if QtWebEngine works with single process mode, Youtube app works well and video playing has not a problem.

      If Neptune's UID is root, there is a problem of sandbox, so we need to add --no-sandbox option too.

      # export QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox --single-process"

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            n.z. Nikolay Zamotaev
            fhajredini Fisnik Hajredini
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes