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

        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