CLion 2016.2 EAP: debugger bug fixes and performance enhancements

Hi all,

This week brings a very important CLion 2016.2 EAP (build 162.844.13), as it contains big changes introduced inside CLion’s debugger. We’ve already made a couple of attempts to fix ‘command time out’ and other problems there, but issues still exist and are constantly reported by our users. We’d like to thank you for all the reports and logs you’ve sent. Your collaboration made it finally possible to introduce major changes in GDB and LLDB drivers.

Here’s what to expect from this build.

Debugger

Command timeout

Sometimes an error would happen while collecting frames on breakpoint/interrupt or when the debugger was being launched. The debugging session would hang for some time and then a command timeout was reported to the user. Now a proper error message is reported to the console and in a notification balloon, so the ‘command timeout’ error shouldn’t bother you anymore.

Debugger correctness

We overhauled debugger drivers, making it possible to fix many bugs with stepping and variables views, for example:

  • Value in “Variables” window wasn’t updated after the variable was set (CPP-5933).
  • Debugger failed to show frame variables when stepping into a function if const STL container was in outer frame (CPP-6150).
  • GDB didn’t exit correctly when program waited on cin (CPP-5615).
  • LLDB didn’t stop on breakpoints on case-insensitive file system if there were differences in file names/paths casing (CPP-6598).

GDB and LLDB versions updated

We’ve also updated the bundled LLDB version (OS X only) to 3.8 and the GDB version to 7.11. Along with supported GDB version update, the maximum supported version of MinGW-w64 was updated to 5.3 and Cygwin to 2.5.

Performance improvements

After all changes in both drivers, we ran performance tests to evaluate how they affected debugging startup/shutdown, stepping with various data views and expanding big data structures. The numbers are really promising (the picture shows the correlation between new and old data):

debugger_tests

Besides, there were a few tests which finished with the TIMEOUT previously, while now they take some reasonable time to complete, like for example displaying strings or STL collections.

Other improvements

CMake and Safe delete

Since the very first releases, when you add a new file, CLion has suggested updating the CMake targets with the newly created file. However, this automatic update was not possible in case of file deletion. Now it is!

If you delete a file listed as an argument in certain CMake commands, CLion will search for file usages in CMakeLists.txt files, warn you about an unsafe operation, and update the usages automatically. These CMake commands include:

  • add_executable
  • add_library
  • set
  • add_custom_target_command
  • fltk_wrap_ui
  • qt_wrap_cpp
  • qt_wrap_ui
  • set_property
  • set_source_files_properties, and
  • try_compile

Note that if there are other files listed in the command arguments, CLion will simply delete the reference to the deleted file:
file_safe_delete

However, if the reference to the deleted file is the only command argument, deleting the reference (as well as the command itself) could lead to an incorrect CMake file, so this warning will be shown. You can then view the usages and decide if you’d like to proceed with deleting:
last_file_safe_delete

It works not only for C and C++ files, but for any file type (list resources for example, or other CMake scripts). Directories are not currently supported.

Live templates

We’ve updated Boost-related live templates for CMake files and now there are two – boost and boost_with_libs. The latter is for linking your target with the Boost libraries. You only need to fill the components list and the target name:
boost_libs

Generate definitions

When we first introduced the Generate definition action some users were confused by its behaviour. That’s why we’ve collected all the feedback and considered the cases carefully once again. In general, there are several popular behaviour templates:

  • declarations are located in header files, definitions are in cpp-files,
  • class/struct is located in header file only,
  • class/struct is located in cpp-file only,

as well as any other custom case users might be interested in.

CLion now detects the case automatically, providing Generate in-place setting in the generate dialog:

  • It’s always unchecked when the action is called outside a class or a namespace.
  • When called inside a class or a namespace:
    • Unchecked if there are existing functions in the class with outside definitions.
    • Checked if there are no functions in the class or all the functions are in-place.
    • Unchecked if there are no functions in the class, the class is in a header file and there is a corresponding source file (unless it’s a template).

You can use this Generate in-place setting to control the behaviour:
generate_definition

Font ligatures

Font ligatures are officially supported by the IntelliJ-based IDEs now, and so does CLion. If you have a font that supports ligatures installed (e.g. FiraCode, Hasklig, Monoid or PragmataPro), then simply go to Preferences/Settings | Editor | Colors & Fonts | Font, choose a corresponding font there and select the Enable font ligatures option. That’s it!
ligatures_font

There are a few more nice changes:

  • IDE’s notifications are now more friendly – there appear in the rightmost bottom corner and are grouped by the subsystem.
  • If you’d like to have a nice background image in your editor, it’s now possible in CLion. Call Find Action (Shift+Ctrl+A on Linux/Windows, ⇧⌘A on OS X), type Set Background Image, select an image and configure its settings in the dialog that appears:
    sea_line_background
  • Git/Mercurial log viewer now loads in the background on every change (a commit, fetch, rebase, etc) to be always ready when you open it.

As usual, the full release notes are available here.

We encourage you to try the build and let us know about any issues, particularly those affecting the debugger. If you experienced performance problems before, please share if you see any enhancements with the current build.

Your CLion Team
JetBrains
The Drive to Develop

This entry was posted in Early Access Preview and tagged , , , , . Bookmark the permalink.

43 Responses to CLion 2016.2 EAP: debugger bug fixes and performance enhancements

  1. Anton says:

    Yay! I have been waiting for debugger fixes from the release of the version 1.0. The debugger is simply reactive now. Thank you for your work, it’s much appreciated! Now I finally can use CLion as my primary IDE.

  2. Alexander says:

    Hi! Debugger fixes, nice notifications, code styling, fonts with ligatures are nice and neat, but CLion still lacks a basic debugging feature: Memory View and Disassembly View.
    We are C and C++ developers, so we need to view the result machine code and what’s wrong with data in memory. We need no Python or Swift, we need our means to address low-level bugs and tune code performance up.

    • Anastasia Kazakova says:

      Thanks for the feedback. Please, feel free to upvote https://youtrack.jetbrains.com/issue/CPP-1748.

      • Henry says:

        Don’t listen to Alexander about Python. Having it built in is AWESOME!

        • Alexander says:

          Agreed, having it built-in ‘for free’ is better than not at all.
          But not so necessary as having basic features implemented.
          Meanwhile we still use Eclipse and CodeBlocks, because for us it’s not worth to buy and switch to CLion without those debugger features.

      • Alexander says:

        Thanks for your reply. I already did it long time ago. Now, your turn. 😉

        • Anastasia Kazakova says:

          Thanks. We remember about it. However due to the lack of the resources we have to choose and remote debug looks more important as the next big feature in debugger after we finilize all the driver changes.

          • Alexander says:

            Remote debugging feature is awesome too, but, still, implementing Mem & Disasm Views doesn’t look too complicated and I don’t think it will take much time.
            Please consider doing Mem & Disasm Views right after you have done remote debugging. Thanks in advance. 😉

          • Anastasia Kazakova says:

            We’ll consider, thanks.

  3. Alexander Münch says:

    Awesome! 😀 I have only spend 10 seconds in the debugger and I must comment here.
    Now it’s finally possible to hold down the F8 key and really step through the program this way.

    Same for variables display. Almost always the values are displayed instantly. Only on larger structures there is shortly the “please wait… or so” message visible.

    I would like to use this opportunity to query about / remind on IDEA-133882. That issue has been ignored for over a year now and IMHO this is a very serious issue. Please look into this. Thanks.

    • Anastasia Kazakova says:

      Thanks for the feedback! Glad to know it works for you finally.

      As for the issue we’ll check the custom JDK team if they can do smth about IDEA-133882 in the nearest future.

  4. Roman says:

    How to improve gdb driver performance by 10x?:
    1) Write a gdb driver that is 10x slower then any other IDE.
    2) RTFM
    3) Rewrite gdb driver so it matches performance of other IDEs.
    4) Draw cute infografics, write a blog post.
    5) Profit!

    • Marcus says:

      A little harsh that.

      I am prepared to give these guys some slack as I’ve actually taken the time to try out all the different C++ IDE options available for Linux (even had a decent stab at Vim!!) and CLion is better even in it’s current state.

      There is still quite a way to go though (there are still many many many parser bugs and everyday things like “Jump to Related Symbol…” is so bad that I’m using the plug-in “AltN8” as a sort of stop-gap) – but things *are* progressing so I remain optimistic.

      Marcus.

      PS; Wallpaper is very nice, but the file I happen to be working on now has 73 bogus errors and after a restart of CLion has 3 bogus errors – please! fix up that parser!

      • Anastasia Kazakova says:

        Have you reported these errors with parser to our tracker?

        • Marcus says:

          Hi Anastasia,

          Last time I had a look I found the ones that affected me buried in your tracker – most of them have been lurking for a long time.

          The exception is for the auto-generated files (which requires all the restarts) – I’ve just sneakily added that as CPP-6934

          Marcus.

      • Roman says:

        I agree, Clion is progressing very fast. Probably it was released for production too early, that’s why we had so many troubles. Current EAP version is much closer to what someone would expect from version 1.0.

      • George says:

        How cute. You said that “everyday things like Jump to Related Symbol… are so bad”. THIS is one of the things that make the current version unusable, don’t you think? Not to mention many missing features that are essential to daily development: disassembler, memory view, remote debugging, etc.

        It looks to me as if the CLion team has been neglected important features, and instead pursuing features that appear to be “cool” or “nice to have” just because other IDEs don’t have them.

        And yes, I agree with Roman that the current state of CLion should be marked as Version 1.0 instead.

        • Anastasia Kazakova says:

          If you believe other features are important, please, upvote them in our tracker. We consider the top from the tracker when planning things.

          As for the remote debug, it was impossible without big changes in the drivers introduced recently. Hopefully, now we can pay more attention to it.

  5. KB says:

    Syntax highlighting is still very slow, and all of my moderately complex C++ files show up as having a hundred false errors each. Furthermore, my editor hangs and freezes regularly when attempting to parse complex code. When can we expect an improved parser?

  6. Olof says:

    A suggestion.

    For the ligatures, you might want to update the font sample in the font settings page so that the user can see the effect of a ligature font.

  7. Arne says:

    I just switched to Visual Studio, as CLion 2016.1, or is Cloth 2016.1, is not able to handle larger files (50k lines+) nor is the compiler of any use at all. In VS, it’s like magic. Suddenly, I get proper compiler errors, not just a super long list of text that is truncated at the top. Also VS can handle large files, and it actually highlights syntax errors correctly, not just randomly like CLion. My suggestion would be you simply scrap CLion and focus on your other products.

    • Anastasia Kazakova says:

      Could you please share more details on the problem? Do you mean some freezes of false-positives? Is it some OS project we can try at our side and maybe improve CLion?

    • Roman says:

      Visual C++ is being developed for 20 years now, not a surprise that new IDE like Clion is much more buggy. I’m also noticing that opening large files does not work well in Clion.
      Scrapping it would be a mistake however. There are no low-hanging fruits in this market, but with enough patience and persistence I believe Clion can challenge VS in a couple of years from now.

    • Alexander says:

      Hey, does your Visual Studio run on my Linux box? And what about my Mac?
      We all here are happy that you’ve found your favorite IDE, but please don’t suggest to scrap CLion. It’s the best cross-platform IDE for C and C++ programming languages ever.
      I’d suggest you to scrap your project because 50k+ lines in a single file indicates a very bad project design.

  8. Mattia says:

    Hey! that’s a great improvement to performance, but in the gdb I cannot print certain variables. If I now type “print variable@1” I get the following output: . … is there a setting to control what is being “optimized out”?

  9. auroua says:

    I debug caffe project by clion, but encounter some problems.
    the caffe source file in https://github.com/BVLC/caffe
    I push a breakpoint at source file src/caffe/net.cpp line 53
    but clion seems can’t catch this breakpoints


    GNU gdb (GDB) 7.11.1
    Copyright (C) 2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law. Type "show copying"
    and "show warranty" for details.
    This GDB was configured as "x86_64-pc-linux-gnu".
    Type "show configuration" for configuration details.
    For bug reporting instructions, please see:
    .
    Find the GDB manual and other documentation resources online at:
    .
    For help, type "help".
    Type "apropos word" to search for commands related to "word".
    python
    >>>>>>>No source file named /home/aurora/hdd/workspace/ClionProjects2/caffe_new/caffe3/caffe-master/src/caffe/net.cpp.
    No source file named /home/aurora/hdd/workspace/ClionProjects2/caffe_new/caffe3/caffe-master/src/caffe/net.cpp.
    No source file named /home/aurora/hdd/workspace/ClionProjects2/caffe_new/caffe3/caffe-master/src/caffe/net.cpp.
    No source file named /home/aurora/hdd/workspace/ClionProjects2/caffe_new/caffe3/caffe-master/src/caffe/solver.cpp.
    [Thread debugging using libthread_db enabled]
    Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
    [New Thread 0x7fffe63e1700 (LWP 7890)]
    [New Thread 0x7fffdd7ff700 (LWP 7891)]

    Thread 1 "caffe-d" hit Breakpoint 4, caffe::Solver::InitTrainNet (this=0x79d7c0) at /home/aurora/hdd/workspace/ClionProjects2/caffe_new/caffe3/caffe-master/src/caffe/solver.cpp:103
    103 net_param.mutable_state()->CopyFrom(net_state);

    Thread 1 "caffe-d" hit Breakpoint 2, caffe::Net::Init (this=0x5425010, in_param=...) at /home/aurora/hdd/workspace/ClionProjects2/caffe_new/caffe3/caffe-master/src/caffe/net.cpp:57
    57 FilterNet(in_param, &filtered_param);

    the idea.log print
    2016-08-03 12:21:58,217 [ 30647] INFO – brains.cidr.execution.debugger – Debugger started
    2016-08-03 12:22:03,720 [ 36150] INFO – brains.cidr.execution.debugger – Debugger exited with code 139
    2016-08-03 12:22:13,240 [ 45670] INFO – #com.jetbrains.cidr.lang – net.cpp: DFA time is over
    2016-08-03 12:22:14,039 [ 46469] INFO – #com.jetbrains.cidr.lang – net.cpp: DFA time is over
    2016-08-03 12:22:20,314 [ 52744] INFO – #com.jetbrains.cidr.lang – net.cpp: DFA time is over

    the solver.cpp breakpoints can work fine

    I changed gdb to lldb, everything ok, lldb can catch breakpoints and can find net.cpp file

    • auroua says:

      some error logs, I don’t know whether this log familiarize with the error.

      "AWT-EventQueue-0 2016.2#CL-162.1236.16 CLion, eap:false, os:Linux 3.19.0-58-generic, java-version:JetBrains s.r.o 1.8.0_76-release-b216" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at sun.font.FreetypeFontScaler.getGlyphImageNative(Native Method)
      at sun.font.FreetypeFontScaler.getGlyphImage(FreetypeFontScaler.java:116)
      at sun.font.FileFont.getGlyphImage(FileFont.java:208)
      at sun.font.FileFontStrike.getGlyphImagePtr(FileFontStrike.java:392)
      at sun.font.FileFontStrike.getGlyphAdvance(FileFontStrike.java:691)
      at sun.font.FileFontStrike.getGlyphAdvance(FileFontStrike.java:602)
      at sun.font.FileFontStrike.getCodePointAdvance(FileFontStrike.java:721)
      at sun.font.FontDesignMetrics.handleCharWidth(FontDesignMetrics.java:416)
      at sun.font.FontDesignMetrics.getLatinCharWidth(FontDesignMetrics.java:425)
      at sun.font.FontDesignMetrics.stringWidth(FontDesignMetrics.java:476)
      at sun.swing.SwingUtilities2.stringWidth(SwingUtilities2.java:403)
      at javax.swing.SwingUtilities.layoutCompoundLabelImpl(SwingUtilities.java:1005)
      at javax.swing.SwingUtilities.layoutCompoundLabel(SwingUtilities.java:890)
      at javax.swing.plaf.basic.BasicLabelUI.layoutCL(BasicLabelUI.java:94)
      at javax.swing.plaf.basic.BasicLabelUI.getPreferredSize(BasicLabelUI.java:238)
      at javax.swing.JComponent.getPreferredSize(JComponent.java:1662)
      at javax.swing.plaf.basic.BasicComboBoxRenderer.getPreferredSize(BasicComboBoxRenderer.java:84)
      at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1363)
      at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311)
      at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(BasicListUI.java:2623)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
      at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
      at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
      at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
      at javax.swing.JList.setSelectedIndex(JList.java:2210)
      at javax.swing.plaf.basic.BasicComboPopup.setListSelection(BasicComboPopup.java:1168)
      at javax.swing.plaf.basic.BasicComboPopup.access$300(BasicComboPopup.java:63)
      at javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(BasicComboPopup.java:999)
      at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1223)
      at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1280)
      at javax.swing.JComboBox.contentsChanged(JComboBox.java:1330)
      at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
      at com.intellij.ui.FontComboBox$Model.setSelectedItem(FontComboBox.java:136)
      at com.intellij.ui.FontComboBox.setFontName(FontComboBox.java:63)
      at com.intellij.ide.ui.AppearanceConfigurable.reset(AppearanceConfigurable.java:327)
      at com.intellij.openapi.options.ex.ConfigurableWrapper.reset(ConfigurableWrapper.java:187)
      at com.intellij.openapi.options.ex.ConfigurableCardPanel.reset(ConfigurableCardPanel.java:124)
      at com.intellij.openapi.options.ex.ConfigurableCardPanel$1.compute(ConfigurableCardPanel.java:80)
      at com.intellij.openapi.options.ex.ConfigurableCardPanel$1.compute(ConfigurableCardPanel.java:65)
      at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:866)
      at com.intellij.openapi.options.ex.ConfigurableCardPanel.create(ConfigurableCardPanel.java:65)
      at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:70)
      at com.intellij.openapi.options.newEditor.ConfigurableEditor$1.create(ConfigurableEditor.java:67)
      at com.intellij.ui.CardLayoutPanel.a(CardLayoutPanel.java:88)
      at com.intellij.ui.CardLayoutPanel.b(CardLayoutPanel.java:116)
      at com.intellij.ui.CardLayoutPanel.a(CardLayoutPanel.java:132)
      at com.intellij.ui.CardLayoutPanel$$Lambda$1040/609250873.run(Unknown Source)
      at com.intellij.openapi.application.TransactionGuardImpl$6.run(TransactionGuardImpl.java:291)
      at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.a(LaterInvocator.java:326)
      at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:310)
      at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
      at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:863)
      at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:699)
      at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
      at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:184)
      at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:229)
      at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:227)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:227)
      at java.awt.Dialog.show(Dialog.java:1084)
      at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:778)
      at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:455)
      at com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1665)
      at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1607)
      at com.intellij.openapi.options.newEditor.SettingsDialog.access$101(SettingsDialog.java:41)
      at com.intellij.openapi.options.newEditor.SettingsDialog.a(SettingsDialog.java:77)
      at com.intellij.openapi.options.newEditor.SettingsDialog$$Lambda$1030/1258186697.run(Unknown Source)
      at com.intellij.openapi.project.DumbPermissionServiceImpl.allowStartingDumbModeInside(DumbPermissionServiceImpl.java:37)
      at com.intellij.openapi.project.DumbService.allowStartingDumbModeInside(DumbService.java:283)
      at com.intellij.openapi.options.newEditor.SettingsDialog.show(SettingsDialog.java:77)
      at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.java:94)
      at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:62)
      at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:197)
      at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:88)
      at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:156)
      at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:211)
      at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.a(ActionMenuItem.java:304)
      at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter$$Lambda$763/189464678.run(Unknown Source)
      at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:905)
      at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124)
      at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:284)
      at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
      at com.intellij.openapi.actionSystem.impl.ActionMenuItem.a(ActionMenuItem.java:112)
      at com.intellij.openapi.actionSystem.impl.ActionMenuItem$$Lambda$762/1340007731.run(Unknown Source)
      at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:88)
      at com.intellij.openapi.application.TransactionGuardImpl.access$300(TransactionGuardImpl.java:40)
      at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:113)
      at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:123)
      at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:109)
      at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:112)
      at com.intellij.ui.plaf.beg.BegMenuItemUI.a(BegMenuItemUI.java:513)
      at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45)
      at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)
      at java.awt.Component.processMouseEvent(Component.java:6533)
      at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
      at java.awt.Component.processEvent(Component.java:6298)
      at java.awt.Container.processEvent(Container.java:2236)
      at java.awt.Component.dispatchEventImpl(Component.java:4889)
      at java.awt.Container.dispatchEventImpl(Container.java:2294)
      at java.awt.Component.dispatchEvent(Component.java:4711)
      at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
      at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
      at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
      at java.awt.Container.dispatchEventImpl(Container.java:2280)
      at java.awt.Window.dispatchEventImpl(Window.java:2746)
      at java.awt.Component.dispatchEvent(Component.java:4711)
      at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
      at java.awt.EventQueue.access$500(EventQueue.java:97)
      at java.awt.EventQueue$3.run(EventQueue.java:709)
      at java.awt.EventQueue$3.run(EventQueue.java:703)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      at java.awt.EventQueue$4.run(EventQueue.java:731)
      at java.awt.EventQueue$4.run(EventQueue.java:729)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
      at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
      at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:863)
      at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:695)
      at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:385)
      at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
      at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
      at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
      at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

      "ApplicationImpl pooled thread 68" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE

      at sun.management.ThreadImpl.dumpThreads0(Native Method)
      at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:454)
      at com.intellij.diagnostic.ThreadDumper.dumpThreadsToFile(ThreadDumper.java:58)
      at com.intellij.diagnostic.ThreadDumper.getThreadDumpInfo(ThreadDumper.java:48)
      at com.intellij.diagnostic.PerformanceWatcher.dumpThreads(PerformanceWatcher.java:273)
      at com.intellij.diagnostic.PerformanceWatcher.b(PerformanceWatcher.java:230)
      at com.intellij.diagnostic.PerformanceWatcher.a(PerformanceWatcher.java:210)
      at com.intellij.diagnostic.PerformanceWatcher.access$000(PerformanceWatcher.java:58)
      at com.intellij.diagnostic.PerformanceWatcher$1.run(PerformanceWatcher.java:101)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:229)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Connector-Local" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at jtermios.linux.JTermiosImpl$Linux_C_lib_DirectMapping.poll(Native Method)
      at jtermios.linux.JTermiosImpl.poll(JTermiosImpl.java:636)
      at jtermios.JTermios.poll(JTermios.java:452)
      at com.pty4j.unix.Pty.poll(Pty.java:326)
      at com.pty4j.unix.Pty.read(Pty.java:316)
      at com.pty4j.unix.PTYInputStream.read(PTYInputStream.java:47)
      at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
      at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
      at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
      at java.io.InputStreamReader.read(InputStreamReader.java:184)
      at com.jediterm.terminal.ProcessTtyConnector.read(ProcessTtyConnector.java:49)
      at com.jediterm.terminal.TtyChannel.fillBuf(TtyChannel.java:22)
      at com.jediterm.terminal.TtyChannel.getChar(TtyChannel.java:32)
      at com.jediterm.terminal.DataStreamIteratingEmulator.next(DataStreamIteratingEmulator.java:34)
      at com.jediterm.terminal.TerminalStarter.start(TerminalStarter.java:57)
      at com.jediterm.terminal.ui.JediTermWidget$EmulatorTask.run(JediTermWidget.java:340)
      at java.lang.Thread.run(Thread.java:745)

      "PtyProcess Reaper" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at com.sun.jna.Native.invokeInt(Native Method)
      at com.sun.jna.Function.invoke(Function.java:383)
      at com.sun.jna.Function.invoke(Function.java:315)
      at com.sun.jna.Library$Handler.invoke(Library.java:212)
      at com.sun.proxy.$Proxy95.waitpid(Unknown Source)
      at com.pty4j.unix.linux.OSFacadeImpl.waitpid(OSFacadeImpl.java:154)
      at com.pty4j.unix.Pty.wait0(Pty.java:281)
      at com.pty4j.unix.UnixPtyProcess.waitFor(UnixPtyProcess.java:300)
      at com.pty4j.unix.UnixPtyProcess$Reaper.run(UnixPtyProcess.java:361)

      "Activation listener" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at java.net.PlainSocketImpl.socketAccept(Native Method)
      at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
      at java.net.ServerSocket.implAccept(ServerSocket.java:545)
      at java.net.ServerSocket.accept(ServerSocket.java:513)
      at jetbrains.buildServer.activation.HttpActivationServer.run(HttpActivationServer.java:138)
      at java.lang.Thread.run(Thread.java:745)

      "BaseDataReader: error stream of fsnotifier64" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at java.io.FileInputStream.readBytes(Native Method)
      at java.io.FileInputStream.read(FileInputStream.java:255)
      at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
      at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
      at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
      at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
      at java.io.InputStreamReader.read(InputStreamReader.java:184)
      at java.io.Reader.read(Reader.java:140)
      at com.intellij.util.io.BaseOutputReader.readAvailableBlocking(BaseOutputReader.java:135)
      at com.intellij.util.io.BaseDataReader.readAvailable(BaseDataReader.java:82)
      at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:160)
      at com.intellij.util.io.BaseDataReader$1.run(BaseDataReader.java:61)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "BaseDataReader: output stream of fsnotifier64" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at java.io.FileInputStream.readBytes(Native Method)
      at java.io.FileInputStream.read(FileInputStream.java:255)
      at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
      at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
      at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
      at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
      at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
      at java.io.InputStreamReader.read(InputStreamReader.java:184)
      at java.io.Reader.read(Reader.java:140)
      at com.intellij.util.io.BaseOutputReader.readAvailableBlocking(BaseOutputReader.java:135)
      at com.intellij.util.io.BaseDataReader.readAvailable(BaseDataReader.java:82)
      at com.intellij.util.io.BaseDataReader.doRun(BaseDataReader.java:160)
      at com.intellij.util.io.BaseDataReader$1.run(BaseDataReader.java:61)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Netty Builtin Server 1" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
      at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
      at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
      at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
      at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
      at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:684)
      at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:344)
      at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:742)
      at java.lang.Thread.run(Thread.java:745)

      "process reaper" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at java.lang.UNIXProcess.waitForProcessExit(Native Method)
      at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:290)
      at java.lang.UNIXProcess$$Lambda$20/2106169128.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "DestroyJavaVM" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE

      "AWT-XAWT" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE
      (in native)
      at sun.awt.X11.XToolkit.waitForEvents(Native Method)
      at sun.awt.X11.XToolkit.run(XToolkit.java:568)
      at sun.awt.X11.XToolkit.run(XToolkit.java:532)
      at java.lang.Thread.run(Thread.java:745)

      "Signal Dispatcher" prio=0 tid=0x0 nid=0x0 runnable
      java.lang.Thread.State: RUNNABLE

      "Process I/O pool 84" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 83" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 82" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "process reaper" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@5b558d5a
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 81" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 80" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 79" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "process reaper" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@5b558d5a
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 78" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 77" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "process reaper" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@5b558d5a
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "Process I/O pool 76" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@33d7bbef
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "process reaper" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@5b558d5a
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "ApplicationImpl pooled thread 69" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@3b7a7215
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "JobScheduler FJ pool 7/8" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.ForkJoinPool@7e78e3be
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824)
      at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693)
      at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

      "JobScheduler FJ pool 4/8" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.util.concurrent.ForkJoinPool@7e78e3be
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824)
      at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693)
      at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

      "JobScheduler FJ pool 0/8" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.util.concurrent.ForkJoinPool@7e78e3be
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.ForkJoinPool.awaitWork(ForkJoinPool.java:1824)
      at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1693)
      at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

      "ApplicationImpl pooled thread 67" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@3b7a7215
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "ApplicationImpl pooled thread 61" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.SynchronousQueue$TransferStack@3b7a7215
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
      at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
      at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1066)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "CMake check configuration" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@72eaab47
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "pool-4-thread-1" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@5f1bb2a6
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
      at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "pool-5-thread-1" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on com.pty4j.unix.UnixPtyProcess@780c8a91
      at java.lang.Object.wait(Native Method)
      at java.lang.Object.wait(Object.java:502)
      at com.pty4j.unix.UnixPtyProcess.waitFor(UnixPtyProcess.java:133)
      at com.jediterm.terminal.ProcessTtyConnector.waitFor(ProcessTtyConnector.java:102)
      at com.jediterm.terminal.TtyConnectorWaitFor$1.run(TtyConnectorWaitFor.java:30)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "pool-2-thread-1" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@7605602f
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
      at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
      at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "TimerQueue" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@40cd1d59
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
      at java.util.concurrent.DelayQueue.take(DelayQueue.java:223)
      at javax.swing.TimerQueue.run(TimerQueue.java:171)
      at java.lang.Thread.run(Thread.java:745)

      "ProcessWaitFor: fsnotifier64" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.lang.UNIXProcess@42410964
      at java.lang.Object.wait(Native Method)
      at java.lang.Object.wait(Object.java:502)
      at java.lang.UNIXProcess.waitFor(UNIXProcess.java:396)
      at com.intellij.execution.process.ProcessWaitFor$1.run(ProcessWaitFor.java:50)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)

      "AWT-Shutdown" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.lang.Object@5e054bbf
      at java.lang.Object.wait(Native Method)
      at java.lang.Object.wait(Object.java:502)
      at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295)
      at java.lang.Thread.run(Thread.java:745)

      "Periodic tasks thread" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@35c4c48
      at sun.misc.Unsafe.park(Native Method)
      at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
      at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
      at java.util.concurrent.DelayQueue.take(DelayQueue.java:223)
      at com.intellij.util.concurrency.AppDelayQueue$1.run(AppDelayQueue.java:42)
      at java.lang.Thread.run(Thread.java:745)

      "Timer-0" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: TIMED_WAITING
      on java.util.TaskQueue@2bd3aeaf
      at java.lang.Object.wait(Native Method)
      at java.util.TimerThread.mainLoop(Timer.java:552)
      at java.util.TimerThread.run(Timer.java:505)

      "Java2D Disposer" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.lang.ref.ReferenceQueue$Lock@61138898
      at java.lang.Object.wait(Native Method)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
      at sun.java2d.Disposer.run(Disposer.java:148)
      at java.lang.Thread.run(Thread.java:745)

      "Finalizer" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.lang.ref.ReferenceQueue$Lock@15bf7fb6
      at java.lang.Object.wait(Native Method)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
      at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
      at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

      "Reference Handler" prio=0 tid=0x0 nid=0x0 waiting on condition
      java.lang.Thread.State: WAITING
      on java.lang.ref.Reference$Lock@74e04f45
      at java.lang.Object.wait(Native Method)
      at java.lang.Object.wait(Object.java:502)
      at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
      at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

  10. Ismail Sunni says:

    I developed Qt Application, trying to move from QtCreator to CLion, since I am already familiar with PyCharm. I got a problem when try to debug, and wanted to see the value of a variable. It gives me a random hexadecimal number. It happens only for Qt object, for example QString. Do you know how to fix it?

Leave a Reply

Your email address will not be published. Required fields are marked *