Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-68523

QtWebEngineProcess crashes randomly on Linux

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • P1: Critical
    • Resolution: Incomplete
    • 5.7.1, 5.9.5
    • None
    • WebChannel, WebEngine
    • None
    • Board: UDOO Neo (Freescale i.MX6SoloX)
      OS: Linux (4.1.15)
      Build system: Yocto morty (meta-qt5)
      Touchscreen: 7" LVDS official UDOO screen
    • Linux/Other display system

    Description

      I've a simple app using QWebEngine and QWebChannel to display and interact with SVG and HTML elements on a 7" LVDS touchscreen with a i.MX6sX board (UDOO Neo). It runs on a custom Linux (kernel 4.1.15) built with Yocto (OpenEmbedded) and meta-qt5 "morty" branch (Qt 5.7.1).

      One of the QtWebEngineProcesses created by the app crashes randomly making the screen completely blank. The QWebEngine component becomes unusable basically.

      Performances of QWebEngine are really bad actually, especially with SVGs displayed on the screen. The CPU usage is about 60% (!!) regarding the top command (CF attached screenshot) and the temperature reaches easily the tolerances of the chipsets causing regular warnings and hardware damage. Nothing is animated on the screen.

      [16063.864286] System is too hot. GPU3D will work at 16/64 clock.
      

      I also did a test with the "rocko" branch (Qt 5.9.5).

      The process in ps -aux while running:

      /usr/lib/qt5/libexec/QtWebEngineProcess --type=renderer --disable-accelerated-video-decode --enable-overlay-scrollbar --enable-pinch --enable-threaded-compositing --enable-viewport --main-frame-resizes-are-orientation-changes --profiler-timing=0 --use-gl=egl --disable-composited-antialiasing --lang=C --enable-pinch --num-raster-threads=1 --content-image-texture-target=3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553,3553 --video-image-texture-target=3553 --channel=396.2.484257543

      Here is a stacktrace generated during the crash:

      [17906.068793] Unable to handle kernel paging request at virtual address fffffdbc
      [17906.076028] pgd = a8ed4000
      [17906.078737] [fffffdbc] *pgd=abf5e821, *pte=00000000, *ppte=00000000
      [17906.085047] Internal error: Oops: 17 [#1] PREEMPT SMP ARM
      [17906.090447] Modules linked in: rfcomm bnep btwilink bluetooth ipv6 option usb_wwan usb_f_acm u_serial g_serial libcomposite caamrng rng_core caamhash wl18xx(O) wlcore(O) mac80211(O) cfg80211(O) rfkill caam_jr mxc_vadc mx6s_capture mxc_dcic fxos8700 fxas2100x ci_hdrc_imx evbug wlcore_sdio(O) compat(O) usbmisc_imx ci_hdrc udc_core ehci_hcd caam galcore(O) st_drv
      [17906.122797] CPU: 0 PID: 421 Comm: VestaApp Tainted: G           O    4.1.15_2.0.x-udoo+g7773e46 #1
      [17906.131756] Hardware name: Freescale i.MX6 SoloX (Device Tree)
      [17906.137590] task: a8dad7c0 ti: a8f92000 task.ti: a8f92000
      [17906.143002] PC is at _cpu_down+0x218/0x2cc
      [17906.147104] LR is at _raw_spin_lock_irq+0x14/0x54
      [17906.151810] pc : [<80512794>]    lr : [<80517f70>]    psr: 20030093
      [17906.151810] sp : a8f93e70  ip : ab72acf0  fp : a8f93ea4
      [17906.163287] r10: 66a10f74  r9 : a8dada6c  r8 : 8077d730
      [17906.168513] r7 : 00000000  r6 : a8dad7c0  r5 : ab72a800  r4 : fffffd90
      [17906.175041] r3 : fffffd90  r2 : 0000c119  r1 : 00000000  r0 : 00000001
      [17906.181571] Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [17906.188793] Control: 10c53c7d  Table: a8ed404a  DAC: 00000015
      [17906.194540] Process VestaApp (pid: 421, stack limit = 0xa8f92218)
      [17906.200634] Stack: (0xa8f93e70 to 0xa8f94000)
      [17906.204994] 3e60:                                     7eaa80c0 7eaa80b0 7eaa80d4 00000000
      [17906.213174] 3e80: a9485c88 a8f92000 ffffffff 00000001 00000001 a8218144 a8218148 66a10f74
      [17906.221353] 3ea0: a8f93eb4 80514ec8 00000001 ffffffff 7eaa80d0 80088580 00000001 66a10000
      [17906.229532] 3ec0: a83c9a80 00000f74 a8dad7c0 00000001 00000001 00000000 66a10f74 00000001
      [17906.237712] 3ee0: a8f92000 8008a050 00000002 a601f428 a8534848 80120390 01c3736c 76118000
      [17906.245891] 3f00: 00000001 027bae88 00000800 01999040 00000002 00000000 a852c328 a84d0300
      [17906.254070] 3f20: a8534848 00000001 a601f428 00000001 00000000 00000000 00000000 00000001
      [17906.262250] 3f40: 00000000 00000081 66a10f74 00000001 a8f92000 00000000 7eaa80d0 8008aa18
      [17906.270429] 3f60: 01bca638 00000000 ffffffff a8534840 00000000 00000000 7eaa8098 800ea214
      [17906.278609] 3f80: 00000000 00000000 01bca638 00000001 7eaa8010 000000f0 8000f4c4 00000000
      [17906.286789] 3fa0: 7eaa80d0 8000f340 01bca638 00000001 66a10f74 00000081 00000001 00000000
      [17906.294969] 3fc0: 01bca638 00000001 7eaa8010 000000f0 01bca644 67405ac8 00000001 7eaa80d0
      [17906.303149] 3fe0: 00000000 7eaa7ff0 748f06e1 7632d924 20030010 66a10f74 abf5e821 abf5ec21
      [17906.311339] [<80512794>] (_cpu_down) from [<80514ec8>] (preempt_schedule_common+0x24/0x40)
      [17906.319607] Code: e2444e27 e1540005 e1a03004 0afffff0 (e594302c) 
      [17906.325703] ---[ end trace e01b0a6b0feb9910 ]--

      Here is an example of the SVG code displayed:

      <!DOCTYPE html>
      <html>
          <head>
      
              <title>Machines</title>
              
              <meta charset="utf-8">
              <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
      
              <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" type="text/css">
              <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
              <link href="https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300" rel="stylesheet">
              
              <style>
              svg.machine {
                height: 300px;
                max-width: 100%;
                shape-rendering: geometricPrecision;
                text-rendering: geometricPrecision;
                image-rendering: optimizeQuality;
                fill-rule: evenodd;
                clip-rule: evenodd; }
                svg.machine .machine {
                  display: block; }
                  svg.machine .machine .label {
                    fill: #727272;
                    font-family: 'Open Sans Condensed', sans-serif;
                    font-weight: 300;
                    font-size: 75000px;
                    text-align: center;
                    text-anchor: middle;
                    letter-spacing: -1px; }
                  svg.machine .machine .mask {
                    fill: white; }
                  svg.machine .machine .draw {
                    fill: #727272; }
                svg.machine .number polygon {
                  fill: #00a627;
                  stroke: #fff;
                  stroke-width: 4000;
                  stroke-linejoin: round; }
                svg.machine .number text {
                  fill: white;
                  font-weight: bold;
                  font-weight: 700;
                  font-size: 110000px;
                  font-family: 'Open Sans', sans-serif;
                  text-align: center;
                  text-anchor: start; }
            
              svg.machine.taken > .machine > .draw, svg.machine.taken > .machine > .label, svg.machine.taken > .number polygon {
                fill: #CD2628; }
              svg.machine.taken > .machine > .mask {
                fill: #FAE9E9; }
              </style>
          </head>
      
          <body>
              <div class="row">
                  <div class="col-sm-6 text-center">
                      <svg class="machine" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500000 800000">
                          <defs><linearGradient id="shadowgrad" x1="0" y1="0" x2="0" y2="1"><stop offset="0" style="stop-opacity:0; stop-color:black"/><stop offset="1" style="stop-opacity:0.35; stop-color:black"/></linearGradient></defs>
                          <g class="machine">
                              <text class="label" x="250000" y="780000">Washing machine</text>
                              <polygon class="shadow" fill="url(#shadowgrad)" points="381195,596338 500001,596338 447930,686527 381095,686794"/>
                               <polygon class="mask" points="444699,190671 444699,679480 435706,688473 65209,688473 55713,678978 55713,190671 106773,157128 393640,157128"/>
                               
                                      <polygon class="mask" points="444699,190671 444699,679480 435706,688473 65209,688473 55713,678978 55713,190671 106773,157128 393640,157128"/>
                                      <path class="draw" d="M396677 397755c7052,1566 12381,7889 12381,15409l0 92369c0,7511 -5325,13845 -12381,15412 -24072,57251 -80678,97460 -146676,97460 -87839,0 -159055,-71216 -159055,-159055 0,-87839 71216,-159055 159055,-159055 65998,0 122603,40208 146676,97460zm-146676 -59167c44008,0 82515,23546 103622,58723l33090 0c-7247,-15981 -17433,-30956 -30575,-44098 -58617,-58617 -153657,-58617 -212273,0 -58617,58617 -58617,153656 0,212273 58616,58618 153656,58618 212273,0 13142,-13142 23331,-28116 30577,-44099l-33091 0c-21107,35177 -59614,58725 -103623,58725 -66693,0 -120762,-54069 -120762,-120762 0,-66694 54069,-120762 120762,-120762zm90193 178578c-3278,-3008 -5132,-7123 -5132,-11633l0 -29264c-9208,-6274 -15254,-16842 -15254,-28823 0,19249 -15605,34854 -34856,34854 -19253,0 -34858,-15605 -34858,-34854 0,19249 -15603,34854 -34856,34854 -19251,0 -34856,-15605 -34856,-34854 0,19802 -16430,35561 -36197,34826 11988,47327 54860,82346 105911,82346 37398,0 70404,-18795 90098,-47452zm53082 -110823l-42361 0c-3756,0 -6821,3065 -6821,6821l0 92369c0,3753 3066,6823 6821,6823l42361 0c3755,0 6821,-3070 6821,-6823l0 -92369c0,-3756 -3063,-6821 -6821,-6821zm-323031 -219067l359560 0 -37918 -22749 -283725 0 -37917 22749zm228015 28999l79315 0c2935,0 5336,2401 5336,5337l0 15254c0,2936 -2401,5339 -5336,5339l-79315 0 0 -25930zm-88591 0l80713 0 0 25930 -80713 0 0 -25930zm-87191 0l79313 0 0 25930 -79313 0c-2937,0 -5338,-2403 -5338,-5339l0 -15254c0,-2936 2401,-5337 5338,-5337zm313869 50997l-372644 0 0 412986 372644 0 0 -412986zm-372644 -3942l372644 0 0 -68204 -372644 0 0 68204zm388346 416928c2,8666 -7034,15703 -15702,15703l-372644 0c-8669,0 -15703,-7031 -15703,-15703l0 -489057c0,-6175 3565,-11516 8749,-14081l43378 -26026c2522,-1508 5296,-2225 8035,-2221l283725 -49c3407,0 6561,1086 9134,2929l43361 26015c4897,2929 7614,8113 7619,13433l48 489057z"/>
                                  
                          </g><!--/.machine -->
                          
                          
                          <g class="number">
                              <polygon points="105670,539360 146770,563080 187850,586810 187850,634250 187850,681700 146770,705420 105670,729140 64590,705420 23500,681700 23500,634250 23500,586810 64590,563080"/>
                              <g transform="matrix(1.01342,0,0,1,-94145.3,258734)">
                                  <text x="164000" y="415990">1</text>
                              </g>
                          </g><!--/.number -->
                      </svg>
                  </div>
      
                  <div class="col-sm-6 text-center">
                      <svg class="machine" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500000 800000">
                          <defs><linearGradient id="shadowgrad" x1="0" y1="0" x2="0" y2="1"><stop offset="0" style="stop-opacity:0; stop-color:black"/><stop offset="1" style="stop-opacity:0.35; stop-color:black"/></linearGradient></defs>
                          <g class="machine">
                              <text class="label" x="250000" y="780000">Dryer</text>
                              <polygon class="shadow" fill="url(#shadowgrad)" points="381195,596338 500001,596338 447930,686527 381095,686794"/>
                               <polygon class="mask" points="444699,190671 444699,679480 435706,688473 65209,688473 55713,678978 55713,190671 106773,157128 393640,157128"/>
                               
                                       <polygon class="mask" points="444699,190671 444699,679480 435706,688473 65209,688473 55713,678978 55713,190671 106773,157128 393640,157128"/>
                                      <path class="draw" d="M452049 680258c2,8666 -7034,15703 -15702,15703l-372644 0c-8669,0 -15703,-7031 -15703,-15703l0 -489057c0,-6175 3565,-11516 8749,-14081l43378 -26026c2522,-1508 5296,-2225 8035,-2221l283725 -49c3407,0 6561,1086 9134,2929l43361 26015c4897,2929 7614,8113 7619,13433l48 489057zm-356623 -418726l307356 0c5022,0 9183,4054 9183,9035l0 115489 2261 0c5038,0 9182,4126 9182,9143l0 90262c0,5012 -4143,9143 -9182,9143l-2261 0 0 115490c0,4981 -4162,9035 -9183,9035l-307356 0c-5018,0 -9182,-4051 -9182,-9035l0 -339527c0,-4983 4163,-9035 9182,-9035zm308687 124524l0 -116986 -310017 0 0 342521 310017 0 0 -116987 -18676 0c-5031,0 -9181,-4100 -9181,-9143l0 -90262c0,-5018 4143,-9143 9181,-9143l18676 0zm11263 8079l-31075 0 0 92309 31075 0 0 -92309zm-292898 -177860l79313 0 0 25930 -79313 0c-2937,0 -5338,-2403 -5338,-5339l0 -15254c0,-2936 2401,-5337 5338,-5337zm87191 0l80713 0 0 25930 -80713 0 0 -25930zm88591 0l79315 0c2935,0 5336,2401 5336,5337l0 15254c0,2936 -2401,5339 -5336,5339l-79315 0 0 -25930zm-228015 -28999l359560 0 -37918 -22749 -283725 0 -37917 22749zm366102 7850l-372644 0 0 485132 372644 0 0 -485132z"/>
                                  
                          </g><!--/.machine -->
                          
                          
                          <g class="number">
                              <polygon points="105670,539360 146770,563080 187850,586810 187850,634250 187850,681700 146770,705420 105670,729140 64590,705420 23500,681700 23500,634250 23500,586810 64590,563080"/>
                              <g transform="matrix(1.01342,0,0,1,-94145.3,258734)">
                                  <text x="164000" y="415990">2</text>
                              </g>
                          </g><!--/.number -->
                      </svg>
                  </div>
              </div>
          </body>
      </html>

      Attachments

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

        Activity

          People

            qt_webengine_team Qt WebEngine Team
            cyrilfranceschini Cyril Franceschini
            Votes:
            1 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes