I have a problem using C::B on Mint 19.1.
System info:
inxi -Fxz System: Host: simon-PC Kernel: 4.18.0-16-generic x86_64 bits: 64 compiler: gcc v: 7.3.0 Desktop: Cinnamon 4.0.10 Distro: Linux Mint 19.1 Tessa base: Ubuntu 18.04 bionic Machine: Type: Desktop System: Hewlett-Packard product: HP Z800 Workstation v: N/A serial: <filter> Mobo: Hewlett-Packard model: 0AECh v: D serial: <filter> BIOS: Hewlett-Packard v: 786G5 v03.61 date: 03/05/2018 CPU: Topology: 2x Quad Core model: Intel Xeon X5687 bits: 64 type: MT MCP SMP arch: Nehalem rev: 2 L2 cache: 24.0 MiB flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 115091 Speed: 1599 MHz min/max: 1596/3592 MHz Core speeds (MHz): 1: 1599 2: 1599 3: 1599 4: 1599 5: 1598 6: 1598 7: 1598 8: 1599 9: 1599 10: 1599 11: 1598 12: 1599 13: 1598 14: 1598 15: 1599 16: 1598 Graphics: Device-1: AMD Hawaii XT / Grenada XT [Radeon R9 290X/390X] vendor: PC Partner Limited driver: amdgpu v: kernel bus ID: 0f:00.0 Display: x11 server: X.Org 1.20.1 driver: modesetting resolution: 1920x1080~50Hz, 1920x1080~60Hz, 1920x1080~60Hz OpenGL: renderer: AMD Radeon R9 200 Series (HAWAII DRM 3.26.0 4.18.0-16-generic LLVM 8.0.0) v: 4.5 Mesa 19.1.0-devel (git-e4e6a3d 2019-03-31 bionic-oibaf-ppa) direct render: Yes Audio: Device-1: AMD Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] vendor: PC Partner Limited driver: snd_hda_intel v: kernel bus ID: 0f:00.1 Device-2: C-Media CMI8788 [Oxygen HD Audio] vendor: ASUSTeK Virtuoso 100 driver: snd_virtuoso v: kernel bus ID: 61:04.0 Sound Server: ALSA v: k4.18.0-16-generic Network: Device-1: Broadcom and subsidiaries NetXtreme BCM5764M Gigabit Ethernet PCIe vendor: Hewlett-Packard driver: tg3 v: 3.137 port: b0c0 bus ID: 01:00.0 IF: enp1s0 state: down mac: <filter> Device-2: Broadcom and subsidiaries NetXtreme BCM5764M Gigabit Ethernet PCIe vendor: Hewlett-Packard driver: tg3 v: 3.137 port: b0c0 bus ID: 02:00.0 IF: enp2s0 state: down mac: <filter> Device-3: ASUSTek USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] type: USB driver: usb-network bus ID: 2-2:3 IF-ID-1: wlx503eaab2873f state: up mac: <filter> Drives: Local Storage: total: 4.38 TiB used: 1.64 TiB (37.4%) ID-1: /dev/sda vendor: Intel model: SSDSA2BW160G3H size: 149.05 GiB ID-2: /dev/sdb vendor: Intel model: SSDSA2BW160G3H size: 149.05 GiB ID-3: /dev/sdc vendor: Intenso model: SSD Sata III size: 465.76 GiB temp: 40 C ID-4: /dev/sdd vendor: Western Digital model: WD40EZRZ-00GXCB0 size: 3.64 TiB temp: 23 C RAID: Hardware-1: Intel SATA Controller [RAID mode] driver: ahci v: 3.0 bus ID: 00:1f.2 Partition: ID-1: / size: 452.76 GiB used: 74.95 GiB (16.6%) fs: ext4 dev: /dev/sdc2 ID-2: /boot size: 944.6 MiB used: 285.5 MiB (30.2%) fs: ext4 dev: /dev/sdc1 ID-3: swap-1 size: 3.81 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sdc5 Sensors: System Temperatures: cpu: 33.0 C mobo: N/A gpu: amdgpu temp: 45 C Fan Speeds (RPM): N/A gpu: amdgpu fan: 0 Info: Processes: 331 Uptime: 3h 43m Memory: 47.14 GiB used: 3.56 GiB (7.6%) Init: systemd runlevel: 5 Compilers: gcc: 7.3.0 Shell: bash v: 4.4.19 inxi: 3.0.27
It doesn't matter which version of C::B I'm using (16.x from repo, 17.x installed as.deb, self-built), it's always the same.
Problem descrition:
C::B Always hangs forever if I close it. I started it from console, to get some details.
How to reproduce:
- Start C::B, close it, reproduces 100% of the time for me.
Here's the startup trace shown if my self-built (r11579) executable is used.
Starting Code::Blocks svn build rev 0 Mar 31 2019, 19:23:33 - wx3.0.4 (Linux, unicode) - 64 bit Manager initialized Initialize EditColourSet ..... Initialize EditColourSet: done. Loading menubar... SymTab: loaded SmartIndentHDL: loaded CppCheck: loaded SmartIndentLua: loaded SmartIndentPython: loaded ReopenEditor: loaded FilesExtensionHandler: loaded ToDoList: loaded lib_finder: loaded SmartIndentXML: loaded CB_Koders: loaded CodeCompletion: loaded AStylePlugin: loaded Exporter: loaded CodeStat: loaded rndgen: loaded SmartIndentCpp: loaded HelpPlugin: loaded OccurrencesHighlighting: loaded SmartIndentPascal: loaded NassiShneidermanPlugin: loaded Valgrind: loaded Autosave: loaded RegExTestbed: loaded Debugger: loaded Profiler: loaded HeaderFixup: loaded cbKeyBinder: loaded Compiler: loaded BrowseTracker: loaded SmartIndentFortran: loaded EditorTweaks: loaded CodeSnippets: loaded DoxyBlocks: loaded IncrementalSearch: loaded ProjectOptionsManipulator: loaded wxSmithContribItems: loaded wxSmithAui: loaded HexEditor: loaded EnvVars: loaded wxSmith: loaded wxSmithMime: loaded BYOGames: loaded ToolsPlus: loaded ThreadSearch: loaded ProjectsImporter: loaded Cscope: loaded FileManager: loaded Abbreviations: loaded AutoVersioning: loaded Cccc: loaded ScriptedWizard: loaded copystrings: loaded OpenFilesList: loaded ClassWizard: loaded SpellChecker: loaded EditorConfig: loaded MouseSap: loaded cbDragScroll: loaded Symbol Table Plugin plugin activated SmartIndentHDL plugin activated CppCheck plugin activated SmartIndentLua plugin activated SmartIndentPython plugin activated ReopenEditor plugin activated Files extension handler plugin activated Todo List plugin activated Library finder plugin activated SmartIndentXML plugin activated Koders query plugin activated Code completion plugin activated Source code formatter (AStyle) plugin activated Source Exporter plugin activated Code statistics plugin activated rndgen plugin activated SmartIndentCpp plugin activated Help plugin plugin activated OccurrencesHighlighting plugin activated SmartIndentPascal plugin activated NassiShneidermanPlugin plugin activated Valgrind plugin activated Autosave plugin activated Regular expressions testbed plugin activated Debugger plugin activated Code profiler plugin activated Header Fixup plugin activated Keyboard shortcuts plugin activated Added compiler "GNU GCC Compiler" Added compiler "Intel C/C++ Compiler" Added compiler "GDC D Compiler" Added compiler "GNU Fortran Compiler" Added compiler "G95 Fortran Compiler" Added compiler "GNU GCC Compiler for ARM" Added compiler "GNU GCC Compiler for TriCore (HighTec)" Added compiler "GNU GCC Compiler for LM8" Added compiler "GNU GCC Compiler for LM32" Added compiler "PGI Fortran Compiler" Added compiler "GNU GCC Compiler for MSP430 (HighTec)" Added compiler "LLVM D Compiler" Added compiler "GNU GCC Compiler for PowerPC (HighTec)" Added compiler "GNU GCC Compiler for Android" Added compiler "Small Device C Compiler" Added compiler "*No Compiler*" Added compiler "GNU GCC Compiler for ZPU" Added compiler "GNU GCC Compiler for PowerPC EABI" Added compiler "LLVM Clang Compiler" Added compiler "GNU GCC Compiler for AVR" Added compiler "Digital Mars D Compiler" Added compiler "Tiny C Compiler" Added compiler "GNU GCC Compiler for Blackfin" Master path of compiler ID "gcc" is empty -> triggers auto-detection. Master path of compiler ID "icc" is empty -> triggers auto-detection. Master path of compiler ID "sdcc" is empty -> triggers auto-detection. Master path of compiler ID "tcc" is empty -> triggers auto-detection. Master path of compiler ID "clang" is empty -> triggers auto-detection. Master path of compiler ID "arm-elf-gcc" is empty -> triggers auto-detection. Master path of compiler ID "lm8-gcc" is empty -> triggers auto-detection. Master path of compiler ID "lm32-gcc" is empty -> triggers auto-detection. Master path of compiler ID "android-gcc" is empty -> triggers auto-detection. Master path of compiler ID "zpu-gcc" is empty -> triggers auto-detection. Master path of compiler ID "avr-gcc" is empty -> triggers auto-detection. Master path of compiler ID "bfin-elf-gcc" is empty -> triggers auto-detection. Master path of compiler ID "msp430-gcc" is empty -> triggers auto-detection. Master path of compiler ID "tricore-gcc" is empty -> triggers auto-detection. Master path of compiler ID "ppc-gcc" is empty -> triggers auto-detection. Master path of compiler ID "powerpc-eabi" is empty -> triggers auto-detection. Master path of compiler ID "gdc" is empty -> triggers auto-detection. Master path of compiler ID "ldc" is empty -> triggers auto-detection. Master path of compiler ID "dmd" is empty -> triggers auto-detection. Master path of compiler ID "gfortran" is empty -> triggers auto-detection. Master path of compiler ID "g95" is empty -> triggers auto-detection. Master path of compiler ID "pgifortran" is empty -> triggers auto-detection. Master path of compiler ID "null" is empty -> triggers auto-detection. Compiler plugin activated BrowseTracker plugin activated SmartIndentFortran plugin activated Editor Tweaks plugin: Building menu Editor Tweaks plugin: making the menu 15 Editor Tweaks plugin: Folding menu EditorTweaks plugin activated Code snippets plugin activated DoxyBlocks plugin activated IncrementalSearch plugin activated Project options manipulator plugin activated wxSmith - Contrib Items plugin activated wxSmith - Aui plugin activated HexEditor plugin activated Environment variables plugin activated wxSmith plugin activated wxSmith - MIME plugin plugin activated BYO Games plugin activated ToolsPlus plugin activated ThreadSearch plugin activated Foreign projects importer plugin activated Cscope plugin activated FileManager plugin activated Abbreviations plugin activated AutoVersioning plugin activated Cccc plugin activated Project wizard added for 'Empty project' Project wizard added for 'Fortran application' Project wizard added for 'Fortran library' Project wizard added for 'Fortran DLL' Project wizard added for 'Console application' Project wizard added for 'D application' Project wizard added for 'FLTK project' Project wizard added for 'GLFW project' Project wizard added for 'GLUT project' Project wizard added for 'GTK+ project' Project wizard added for 'Irrlicht project' Project wizard added for 'Java application' Project wizard added for 'Lightfeather project' Project wizard added for 'Matlab project' Project wizard added for 'OpenCV project' Project wizard added for 'OpenGL project' Project wizard added for 'Ogre project' Project wizard added for 'Code::Blocks plugin' Project wizard added for 'QT4 project' Project wizard added for 'QT4 (shared) project' Project wizard added for 'QT5 project' Project wizard added for 'SDL project' Project wizard added for 'SDL2 project' Project wizard added for 'SFML project' Project wizard added for 'Static library' Project wizard added for 'Shared library' Project wizard added for 'wxWidgets project' Build-target wizard added for 'Console' Build-target wizard added for 'Static library' Build-target wizard added for 'wxWidgets' Project wizard added for 'Arduino Project' Project wizard added for 'ARM Project' Project wizard added for 'AVR Project' Project wizard added for 'MSP430 Project' Project wizard added for 'TriCore Project' Project wizard added for 'PowerPC Project' Project wizard added for 'MCS51 Project' File(s) wizard added for 'Empty file' File(s) wizard added for 'C/C++ source' File(s) wizard added for 'D source' File(s) wizard added for 'C/C++ header' File(s) wizard added for 'Fortran source' File(s) wizard added for 'Java source' Scripted wizard plugin activated Copy Strings to clipboard plugin activated Open files list plugin activated Class wizard plugin activated Detected dict path: /usr/share/hunspell Detected thes path: /usr/share/myspell/dicts Found dictionary: es_CR Found dictionary: pt_BR Found dictionary: es_BO Found dictionary: fr Found dictionary: en_CA Found dictionary: fr_CH Found dictionary: it_CH Found dictionary: es_DO Found dictionary: fr_FR Found dictionary: es_CO Found dictionary: es_PA Found dictionary: es_SV Found dictionary: de_AT_frami Found dictionary: de_CH_frami Found dictionary: fr_CA Found dictionary: es_PR Found dictionary: es_VE Found dictionary: ru_RU Found dictionary: en_ZA Found dictionary: es_HN Found dictionary: es_CL Found dictionary: it_IT Found dictionary: es_EC Found dictionary: fr_LU Found dictionary: es_CU Found dictionary: de_DE_frami Found dictionary: fr_BE Found dictionary: es_US Found dictionary: en_AU Selected dictionary: en_US Found dictionary: en_US Found dictionary: en_GB Found dictionary: es_ES Found dictionary: es_PE Found dictionary: es_PY Found dictionary: es_MX Found dictionary: de_AT Found dictionary: es_UY Found dictionary: de_DE Found dictionary: es_AR Found dictionary: de_CH Found dictionary: es_GT Found dictionary: es_NI Found dictionary: fr_MC Found dictionary: pt_PT Detected bitmap path: /usr/local/share/codeblocks/SpellChecker Detected bitmap path: /usr/local/share/codeblocks/SpellChecker SpellChecker plugin activated EditorConfig plugin for Code::Blocks plugin activated MouseSap plugin activated DragScroll plugin activated Loading toolbar... Initializing plugins...
After closing, the following lines are shown, after that, it hangs forever.
(codeblocks:16134): Gtk-CRITICAL **: 20:28:24.774: IA__gtk_tree_model_iter_nth_child: assertion 'n >= 0' failed Deinitializing plugins...
Tell me if more information is needed.
Can you start cb under a debugger and post the backtrace? Press ctrl-c and execute the bt or thread apply all bt command.
I found the problem, it was caused by my 3-Monitor setup.
I've got 3 Monitors (1 is a TV) @1920x1080p, which where sorted left(TV)-middle(primary)-right.
Usually the TV is turned off, I use the middle monitor most, I also used it for C::B. When I closed it, the "Perspective has changed...." dialog was shown, but it was not visible to me because it poped up on the TV... So for me the GUI was frozen and didn't react anymore.
The real problem is imo that this dialog (maybe others aswell?) don't check for the current Monitor where the C::B Mainwindow is currently running, and therefore might pop up on another screen.
Interesting. How do you do your monitor setup? I'm not really familiar with AMD cards. Can you post the xrandr settings or anything that should the arrangement of monitors in X?
Are you able to rebuild codeblocks applying patches, so you can test fixes?
I've made a startup shell script, containing the following 2 lines:
xrandr --output DVI-D-1 --mode 1920x1080 --rate 60 --output HDMI-1 --same-as DVI-D-1
xrandr --output DVI-D-2 --right-of DVI-D-1
Without that, as it was when I got the problem with C::B, the monitors are arranged as follows: (I'll also add an attachment, with a screenshot from the GUI settings menu for Monitors)
How do you mean "applying patches"? Just replace some Source code files with others & make a rebuild? If so, sure.
If you wish, we could switch the discussion to PM, and keep it clean here & just put updates here.
Last edit: Simon 2019-04-03
Is the TV set as the main/default monitor?
And yes - applyuing patches means replace some source code and do rebuild.
I'll try to make a fix in the next days if after 5 day you don't hear from me, then don't hesitate to ping me.
Last edit: Teodor Petrov 2019-04-03
No, the TV is not the default monitor. However, a lot of software opens up there, I think this is because its the left monitor and maybe because it's connected by HDMI.
Just let me know if you have found sth, I'll rebuild & test then :)
BTW: What happens if you press alt-g does the search dialog open on the correct monitor? Have you checked the multi-monitor related settings in Settings -> Environment (the won't help for the dialog for the layout, just yet)?
Just deleted the Cache of my C::B, to get the first launch wizard again.
After closing Codeblocks properly, and starting again, the Mainwindow starts on the primary monitor as intended. However, when closing, the "Perspective has changed...." dialog is AGAIN on the TV, the Alt+G window is still correct.
Conclusion: Not all C::B windows do behave consistant, e.g. the "Select File"-dialog (opened via Alt+g) does work properly, the "Perspective has changed...."- dialog does not.
Edit:
When enabling the "Enhanced Multi Monitor Dialog placement" in Settings->Environment->View (I guess that's what you mean), then it all seems to behave correctly, as far as i just found out now.
Last edit: Simon 2019-04-03
Thanks for testing this.
I guess that for the well behaved windows we're calling PlaceWindow and we're not calling it for the others.
Hm, seems legit. But I'm questioning myself than: Why is that option not enabled by default? Or, e.g. If C::B detects multile monitors on (first) startup?
What option? If the call to PlaceWindow is missing the option is useless as far as I know.
I mean, if the "Enhanced Multi Monitor Dialog placement" in Settings->Environment->View is enabled, the problem seems to be solved, so I don't know why this option is not enabled by default?
20.03 or newer should have this option default to "Center On Parent", so I think this ticket could be closed. If 20.03 or newer doesn't work as expected please let me know.