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

QT Freezes while debugging (OSX) - LLDB spams megabytes of trash

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Not Evaluated
    • Qt Creator 3.1.2
    • Qt Creator 3.1.0-beta
    • Debugger
    • None
    • OSX 10.9.2

      Qt Creator 3.0.82 (opensource)
      based on Qt 5.3.0 (Clang 5.0 (Apple), 64 bit)
      Built on Mar 23 2014 at 04:44:18
      From revision 352dbbf0e5
    • a9e1eef089cfddf71767b7e9798fbb0fd0b31168

    Description

      While debugging my application (on OSX), everything goes well until I breakpoint some specific places in my code. When trying to step over/out/in it takes about 1min to do the action. When I opened the debugger log view, I found that it's freezing because it try to evaluate some local variable values that results in a megabytes of spam in console. Example of lldb output:

      dLldb stdout: data=[

      {name="ProvincePath",iname="local.ProvincePath",numchild="1",type="CArray<const CProvince *>",value="",}

      ,

      {name="TempRegions",iname="local.TempRegions",numchild="1",type="CArray<const CStrategicRegion *>",value="",}

      ,

      {name="n",iname="local.n",numchild="0",type="int",value="",}

      ,

      {name="bDirty",iname="local.bDirty",numchild="0",type="bool",value="true",}

      ,

      {name="pToPort",iname="local.pToPort",numchild="0",type="const CProvince *",value="0x0",}

      ,{name="pFromPort",iname="local.pFromPort",numchild="17",origaddr="0xbfffe6f8",type="CProvince",valueencoded="7",value="280da70165010000a0705835a8705835a8705835000000000000000000000000000da701010000000c715835000000000500000005000000000000004e696768740000c0688755330200ffff4e6967680500000006ffffff00000000000003000028505f000000c016000000000000000500000006ffffff1500583560710300280da70165010000c0eb5535c8eb5535c8eb553500000000000000000000000000000700010000008c715835000000000500000005000000000000004e696768740000c0dabc55d30200ffff4e6...
      ...
      and here prints a few megabytes data, totally spamming the log.
      I assume this is the reason of the freeze, and why many users were reporting the issue of unresponsive debugger.

      First I thought it's the reason of the lldb but when debugging my application from the terminal everything is fine.
      I guess it's the QT that is trying to evaluate value in some strange format?

      First I installed the newest version of QT from here http://qt-project.org/downloads
      then I realized it doesn't support multiple screens (as popups are totally offset) so I found somewhere the link to download the 5.3.0 beta. And QT works fine now with multiple screens. However it's impossible to debug anything. So I'm forced to shut down my external screen, and go back to the older QT that doesn't freeze the debugger.
      Please help.

      EDIT:
      I just figured out that similar thing happens with the older QT creator versions. The difference is, that the spam in debugger log view isn't that big, and stepping through the code delays in ~5-10 sec only. But still impossible to work.
      Here is what I've noticed, but don't know if it matters.
      Major freeze happened right now when my code looked like this

      Example
      1: void SomeFunc() 
      2: {
      3:     SomeCodeHere(); // <- breaked here
      4:     const Something* pSomePointer = X;
      5:     // ...
      6: }
      

      When breaked at line 3: the pSomePointer is undefined yet, however lldb tries to evaluate it and spams random trash in the log. The QT expression view shows that pSomePointer = "CHINESE GLYPHS HERE" hehe
      Feels like it tries to interprete undeclared yet variables as string by default?
      Also, after stepping over line 4: and further the QT freezed forever.

      I'll keep trying to find more cases and report it here.

      Attachments

        Issue Links

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

          Activity

            People

              hjk hjk
              pdxtomasz Tomasz Kowalczyk
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes