Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-25606

segfault at CPlusPlus::Parser::parsePrimaryExpression()

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: Qt Creator 4.12.4, Qt Creator 4.15.0-rc1
    • Fix Version/s: Qt Creator 4.15.0
    • Component/s: C/C++/Obj-C++ Support
    • Labels:
      None
    • Platform/s:
      Linux/X11
    • Commits:
      f31d583081e612e1db50a3c4165aa41c645549f9

      Description

      I was trying to use QT Creator with Linux kernel.

      This is original bug report filed against Fedora 32/33:

      https://bugzilla.redhat.com/show_bug.cgi?id=1886548

       

      libCPlusPlus segfaults while trying to parse drivers/net/ethernet/ibm/ibmvnic.c device driver.

       

      Steps to reproduce

      (requires usual stuff to build Linux: make, gcc, nothing earth shattering):

      $ wget 'https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.11.tar.xz'

      $ xz -d <linux-5.11.tar.xz | tar xf -
      $ cd linux-5.11

      $ echo '-std=c17' >xxx.cflags
      $ echo '#define __KERNEL__' >xxx.config
      $ echo '[General]' >xxx.creator
      $ echo '-std=c++17' >xxx.cxxflags
      $ echo 'drivers/net/ethernet/ibm/ibmvnic.c' >xxx.files
      $ touch xxx.includes
      $ echo 'include' >>xxx.includes
      $ echo 'arch/x86/include' >>xxx.includes

      $ make allmodconfig
      $ make prepare

      Open Project -> xxx.creator

       

      Thread (pooled)[34850]: segfault at 0 ip 00007f2b6fd4c031 sp 00007f2b387a1750 error 4 in libCPlusPlus.so.4.13.2[7f2b6fcec000+cc000]
      Code: 41 c7 45 18 00 00 00 00 49 89 45 00 8b 45 1c 8d 50 01 89 55 1c 41 89 45 08 48 c7 04 24 00 00 00 00 e8 c3 54 fa ff 48 8b 3c 24 <48> 8b 07 ff 90 e8 00 00 00 49 8d 55 18 be 22 00 00 00 48 89 ef 49

       

      0000000000189020 <CPlusPlus::Parser::parsePrimaryExpression(CPlusPlus::ExpressionAST*&)@@Base>:

      ...

      1893a9: e8 d2 33 fa ff call 12c780 <CPlusPlus::Parser::parseCompoundStatement(CPlusPlus::StatementAST*&)@plt>
      1893ae: 48 8b 3c 24 mov rdi,QWORD PTR [rsp]
      **1893b2: ===> 48 8b 07 mov rax,QWORD PTR [rdi] <===
      1893b5: ff 90 e8 00 00 00 call QWORD PTR [rax+0xe8]
      1893bb: 49 8d 55 18 lea rdx,[r13+0x18]
      1893bf: be 22 00 00 00 mov esi,0x22
      1893c4: 48 89 ef mov rdi,rbp
      1893c7: 49 89 45 10 mov QWORD PTR [r13+0x10],rax
      1893cb: e8 f0 7f fa ff call 1313c0 <CPlusPlus::Parser::match(int, int*)@plt>
      1893d0: 4d 89 2c 24 mov QWORD PTR [r12],r13
      1893d4: e9 35 fd ff ff jmp 18910e <CPlusPlus::Parser::parsePrimaryExpression(CPlusPlus::ExpressionAST*&)@@Base+0xee>

        Attachments

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

          Activity

            People

            Assignee:
            kandeler Christian Kandeler
            Reporter:
            adobriyan A D
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes