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

EGL exception occurs after QT releases executable and dynamic libraries to the same system platform on another machine

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Not Evaluated
    • None
    • 5.15.12
    • None
    • Linux/X11

    Description

      We used QT+WebEngine+ECharts to write a programme for HeatMap mapping as well as 3D Surface mapping. In the compilation environment the programme compiles and behaves normally. However, once we release the compiled application to the Release environment, the interface can be opened normally, but it will crash once we draw on the 3D Surface.

      [26972:26972:0100/000000.5066687:ERROR:zygote_linux.cc(607)] Zygote could not fork: process_type renderer numfds 3 child_pid -1
      [26972:26972:0100/000000.5066689:ERROR:zygote_linux.cc(639)] write:Broken pipe(32)
      [19573:26984:0704/093901.479969:ERROR:gl_context_egl.cc(259)] eglCreateContext failed with error EGL_BAD_MATCH

       

      Release Package Structure:

      ============================== 
      |--Release_package/
      |  |--bin/
      |  |  |--js3d
      |  |  |--QtWebEngineProcess
      |  |  |--QtWebEngineProcess.0
      |  |
      |  |--lib/
      |  |  |--libasound.so.2
      |  |  |--libattr.so.1
      |  |  |--libbz2.so.1
      |  |  |--libc.so.6
      |  |  |--libcap.so.2
      |  |  |--libcom_err.so.2
      |  |  |--libdbus-1.so.3
      |  |  |--libdl.so.2
      |  |  |--libdw.so.1
      |  |  |--libelf.so.1
      |  |  |--libevent-2.0.so.5
      |  |  |--libexpat.so.1
      |  |  |--libfontconfig.so.1
      |  |  |--libfreetype.so.6
      |  |  |--libgcc_s.so.1
      |  |  |--libgcrypt.so.11
      |  |  |--libGL.so.1
      |  |  |--libGLdispatch.so.0
      |  |  |--libglib-2.0.so.0
      |  |  |--libGLX.so.0
      |  |  |--libgpg-error.so.0
      |  |  |--libgraphite2.so.3
      |  |  |--libgssapi_krb5.so.2
      |  |  |--libgthread-2.0.so.0
      |  |  |--libharfbuzz.so.0
      |  |  |--libicudata.so.50
      |  |  |--libicui18n.so.50
      |  |  |--libicuuc.so.50
      |  |  |--libk5crypto.so.3
      |  |  |--libkeyutils.so.1
      |  |  |--libkrb5.so.3
      |  |  |--libkrb5support.so.0
      |  |  |--liblz4.so.1
      |  |  |--liblzma.so.5
      |  |  |--libm.so.6
      |  |  |--libmpi.so.12
      |  |  |--libmpicxx.so.12
      |  |  |--libnspr4.so
      |  |  |--libnss3.so
      |  |  |--libnssutil3.so
      |  |  |--libpci.so.3
      |  |  |--libpcre.so.1
      |  |  |--libplc4.so
      |  |  |--libplds4.so
      |  |  |--libpng15.so.15
      |  |  |--libpthread.so.0
      |  |  |--libQt5Core.so.15
      |  |  |--libQt5DBus.so.5
      |  |  |--libQt5EglDeviceIntegration.so.5
      |  |  |--libQt5Gui.so.5
      |  |  |--libQt5Network.so.5
      |  |  |--libQt5Pdf.so.5
      |  |  |--libQt5Positioning.so.5
      |  |  |--libQt5PrintSupport.so.5
      |  |  |--libQt5Qml.so.5
      |  |  |--libQt5QmlModels.so.5
      |  |  |--libQt5Quick.so.5
      |  |  |--libQt5QuickWidgets.so.5
      |  |  |--libQt5Svg.so.5
      |  |  |--libQt5WebChannel.so.5
      |  |  |--libQt5WebEngineCore.so.5
      |  |  |--libQt5WebEngineWidgets.so.5
      |  |  |--libQt5Widgets.so.5
      |  |  |--libQt5XcbQpa.so.5
      |  |  |--libresolv.so2
      |  |  |--librt.so.1
      |  |  |--libselinux.so.1
      |  |  |--libsmime3.so
      |  |  |--libstdc++.so.6
      |  |  |--libsystemd.so.0
      |  |  |--libtcl8.4.so
      |  |  |--libuuid.so.1
      |  |  |--libX11.so.6
      |  |  |--libX11-xcb.so.1
      |  |  |--libXau.so.6
      |  |  |--libxcb.so.1
      |  |  |--libXcomposite.so.1
      |  |  |--libXdamage.so.1
      |  |  |--libXext.so.6
      |  |  |--libXfixes.so.3
      |  |  |--libXi.so.6
      |  |  |--libxkbcommon.so.0
      |  |  |--libXrandr.so.2
      |  |  |--libXrender.so.1
      |  |  |--libXtst.so.6
      |  |  |--libz.so.1
      |  |
      |  |--platforms/
      |  |  |--libqeglfs.so
      |  |  |--libqlinuxfb.so
      |  |  |--libqminimal.so
      |  |  |--libqminimalegl.so
      |  |  |--libqoffscreen.so
      |  |  |--libqvnc.so
      |  |  |--libqwayland-egl.so
      |  |  |--libqwayland-xcomposite-egl.so
      |  |  |--libqwayland-xcomposite-glx.so
      |  |  |--libqwebgl.so
      |  |  |--libqxcb.so
      |  |
      |  |--plugins/
      |  |  |--iconengines/
      |  |  |  |--libqsvgicon.so
      |  |  |
      |  |  |--imageformats/
      |  |  |  |--libqgif.so
      |  |  |  |--libqicns.so
      |  |  |  |--libqico.so
      |  |  |  |--libqjpeg.so
      |  |  |  |--libqpdf.so
      |  |  |  |--libqsvg.so
      |  |  |  |--libqtga.so
      |  |  |  |--libqtiff.so
      |  |  |  |--libqwbmp.so
      |  |  |  |--libqwebp.so
      |  |  |
      |  |  |--xcbglitegrations/
      |  |  |  |--libqxcb-egl-integration.so
      |  |  |  |--libqxcb-glx-integration.so
      |  |  |
      |  |  
      |  |--resources/
      |  |  |--icudtl.dat
      |  |  |--qtwebengine_devtools_resources.pak
      |  |  |--qtwebengine_resources.pak
      |  |  |--qtwebengine_resources_100p.pak
      |  |  |--qtwebengine_resources_200p.pak
      |  |
      |  |--template/
      |  |--translations/
      |  |  |--qtwebengine_locales/
      |  |  |  |--am.pak
      |  |  |  |--ar.pak
      |  |  |  |--bg.pak
      |  |  |  |--bn.pak
      |  |  |  |--ca.pak
      |  |  |  |--cs.pak
      |  |  |  |--da.pak
      |  |  |  |--de.pak
      |  |  |  |--...
      |  |  |
      |  |  |--assitant_ar.qm
      |  |  |--assitant_bg.qm
      |  |  |--assitant_cs.qm
      |  |  |--assitant_da.qm
      |  |  |--assitant_de.qm
      |  |  |--assitant_en.qm
      |  |  |--...
      |  |  |--designer_ar.qm
      |  |  |--designer_bg.qm
      |  |  |--designer_cs.qm
      |  |  |--designer_da.qm
      |  |  |--designer_de.qm
      |  |  |--designer_en.qm
      |  |  |--...
      |  |  |--linguist_ar.qm
      |  |  |--linguist_bg.qm
      |  |  |--linguist_cs.qm
      |  |  |--linguist_da.qm
      |  |  |--linguist_de.qm
      |  |  |--linguist_en.qm
      |  |  |--...
      |  |  |--qt_ar.qm
      |  |  |--qt_bg.qm
      |  |  |--qt_ca.qm
      |  |  |--qt_cs.qm
      |  |  |--qt_da.qm
      |  |  |--qt_de.qm
      |  |  |--qt_en.qm
      |  |  |--...
      |  |  |--qt_help_ar.qm
      |  |  |--qt_help_bg.qm
      |  |  |--qt_help_ca.qm
      |  |  |--qt_help_cs.qm
      |  |  |--qt_help_da.qm
      |  |  |--qt_help_de.qm
      |  |  |--qt_help_en.qm
      |  |  |--...
      |  |  |--qtbase_ar.qm
      |  |  |--qtbase_bg.qm
      |  |  |--qtbase_ca.qm
      |  |  |--qtbase_cs.qm
      |  |  |--qtbase_da.qm
      |  |  |--qtbase_de.qm
      |  |  |--qtbase_en.qm
      |  |  |--...
      |  |  |--qtconnectivity_bg.qm
      |  |  |--qtconnectivity_ca.qm
      |  |  |--qtconnectivity_da.qm
      |  |  |--qtconnectivity_de.qm
      |  |  |--qtconnectivity_en.qm
      |  |  |--...
      |  |  |--qtdeclarative_bg.qm
      |  |  |--qtdeclarative_ca.qm
      |  |  |--qtdeclarative_da.qm
      |  |  |--qtdeclarative_de.qm
      |  |  |--qtdeclarative_en.qm
      |  |  |--...
      |  |  |--qtlocation_bg.qm
      |  |  |--qtlocation_ca.qm
      |  |  |--qtlocation_da.qm
      |  |  |--qtlocation_de.qm
      |  |  |--qtlocation_en.qm
      |  |  |--...
      |  |
      |  |--js3d (bash script)
      |  |--common_user_install.sh
      |

      Common User Install Script:

      #!/bin/sh
      
      echo
      echo '###########################################'
      echo '###     Installation for Common user    ###'
      echo '### Every user should execute this script by themselves ###'
      
      dir = `dirname $0`
      install_dir=`cd $dir; pwd`
      
      # for bash shell
      if [ -e ~/.bashrc ]; then
          echo "export PATH=$install_dir:\$PATH" >> ~/.bashrc
          echo "### Add environment variable for .bashrc ###"
      fi
      
      #for csh shell
      if [ -r ~/.cshrc ]; then
          echo "set path = ($install_dir \$path )" >> ~/.cshrc
          echo "### Add environment variable for .cshrc ### "
      fi
      
      echo '### Done! Please open a new terminal to use js3d ###'
      echo '###########################################'

      js3d (bash script):

      #!/bin/sh
      prog_name=`basename $0`
      bin_dir=`dirname $0`
      bin_dir=`(cd $bin_dir; pwd)`
      param=$@
      tmp_version=$1
      prog_name=$0
      #final binary
      prog=${bin_dir}/bin/${prog_name}
      if [ ! -x $prog ]; then
          echo "Error! Software $prog is not available, please check!"'
          exit 1
      fi
      if [ -x $prog ]; then
          export LD_LIBRARY_PATH=${bin_dir}/lib:$LD_LIBRARY_PATH
          export QT_QPA_PLATFORM_PLUGIN_PATH=${bin_dir}/platforms
          export QT_PLUGIN_PATH=${bin_dir}/plugins:$QT_PLUGIN_PATH
          export TEMPLATE=${bin_dir}/template
          export QTWEBENGONE_DISABLE_SANDBOX=1
          echo $prog $param
          exec $prog $param
          exit 1
      fi 

       

      Attachment:

      The submitted attachment is a simple WebEngine+ECharts code that can be used to reproduce the problem.

       

       

      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
            nescirem RUI ZHANG
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes