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

Debugger expression evaluator sometimes replaced by <not accessible> [0]

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P3: Somewhat important
    • Qt Creator 4.13.0-beta2
    • Qt Creator 4.12.1
    • Debugger
    • None
    • Windows 10 x64
      cdb 10.0.18362.1 64-bit, at C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe
      Qt Creator 4.12.1
    • Windows
    • cda204aa34e671631bb612287432ba80c72d6a7e (qt-creator/qt-creator/4.13)

    Description

      Sometimes, when I expand a nested element under "this" in the "locals" expression evaluator, the value of "this" becomes <not accessible> and its subtree gets replaced by [0] -> (empty cell).

      Double-clicking either cell, and pressing Enter or clicking away, reloads the entire tree containing "this". If you continue expanding nested elements, this bug will recur every second time you expand a new element. Expanding elements will take turns being fast, and being slow and turning "this" empty.

      Expanding elements other than "this" will not cause any variable to disappear.

      Reproduction instructions:

      • git clone -b refactor https://github.com/vgmtrans/vgmtrans
      • cd vgmtrans
      • git submodule update --init --recursive
      • Open CMakeLists.txt in Qt Creator, and configure using MSVC 2017 x64.
      • Set a breakpoint on src\main\formats\AkaoSeq.cpp:81 "if (!instrset->LoadVGMFile()) {".
      • Debug the program, with CMake set to debug configuration.
      • Drag the file 120 Dream's Creation.psf into the program. Note that if you let the program continue executing, it will crash; this is a bug in the program.
      • When the breakpoint fires, start expanding the "this" tree in the "locals" panel.

      Another way to trigger this bug:

      • Resume the program from the breakpoint.
      • When the program crashes, switch to stack frame 2 (AkaoTrack::ReadEvent).
      • Enter (AkaoSeq *)parentSeq into the watch panel, and attempt to expand it.
      • The same error will occur, and you can see the true value of this variable by double-clicking the missing values and clicking out.

      I recorded my debug logs at https://gist.github.com/nyanpasu64/f93591cf7bae02474a4dcb7ed6f3608e. Note that there are a lot of the following error appearing. This may be because of https://bugreports.qt.io/browse/QTCREATORBUG-16890 and https://bugreports.qt.io/browse/QTCREATORBUG-18287 .

               ***    Either you specified an unqualified symbol, or your debugger   ***
               ***    doesn't have full symbol information.  Unqualified symbol      ***
               ***    resolution is turned off by default. Please either specify a   ***
      ...truncated
      

      I extracted out the relevant lines of text at https://gist.github.com/nyanpasu64/9036538548851368374441f5736da623. In the first file, I expand this.[VGMSeq].[VGMFile].[VGMContainerItem] and "this" disappears. In the second file, I make this reappear.

      Attachments

        1. 120 Dream's Creation.psf
          59 kB
          Anonymous
        2. qt creator debug not accessible.mp4
          2.63 MB
          Anonymous
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            davschul David Schulz
            anontt Anonymous (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes