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

QSGRenderThread receives SIGILL on ARM

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P1: Critical
    • None
    • 5.9.1
    • Quick: SceneGraph
    • None
    • Debian GNU/Linux experimental armhf

    Description

      Test case: run qmlwebsockets_compat test from Qt WebSockets. This happens with some other Qt modules too.

      Result:

      Thread 8 "QSGRenderThread" received signal SIGILL, Illegal instruction.
      [Switching to Thread 0xac933440 (LWP 3814)]
      0xb3c5c038 in ?? ()
      

      There is no useful stacktrace unfortunately. I think the stack could get corrupted due to bad assembly usage. Full valgrind output is attached (the first illegal instruction comes from OpenSSL which deliberately tests the CPU for certain features and handles SIGILLs; it is harmless).

      Details about the illegal instruction:

      disInstr(arm): unhandled instruction: 0xF2C02050
                       cond=15(0xF) 27:20=44(0x2C) 4:4=1 3:0=0(0x0)
      

      This happens on a machine with this configuration:

      model name	: ARMv7 Processor rev 2 (v7l)
      BogoMIPS	: 1594.36
      Features	: swp half thumb fastmult vfp edsp thumbee vfpv3 tls idiva idivt vfpd32 lpae 
      CPU implementer	: 0x56
      CPU architecture: 7
      CPU variant	: 0x2
      CPU part	: 0x584
      CPU revision	: 2
      

      and does not happen on a machine with this configuration:

      model name	: ARMv7 Processor rev 5 (v7l)
      BogoMIPS	: 66.66
      Features	: swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 
      CPU implementer	: 0x41
      CPU architecture: 7
      CPU variant	: 0x2
      CPU part	: 0xc08
      CPU revision	: 5
      

      I failed to decode this instruction (any help appreciated), but because of the machines’ configuration I think that maybe the JIT engine tries to use NEON instructions even on machines without NEON support? (qtdeclarative was built also on a machine without NEON support.)

      Attachments

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

        Activity

          People

            janichol Andy Nichols
            mandriver Dmitry Shachnev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes