Author Topic: C::B freeze when trying to replace a text in many files from many projects  (Read 4318 times)

Offline Freem

  • Almost regular
  • **
  • Posts: 219
C::B rev 7965, on Debian 64bit.

C::B just freeze at a moment when I am trying to replace a text by another one on a code I have written if I use the "All" option. If I just say "All in the file" for each file, there are no problems.

Here is the log when I run it from console and simple try to replace the text:
Code
berenger@netber:~$ codeblocks autorealm/autorealm.workspace 
Initialize EditColourSet .....
Initialize EditColourSet: done.
cbKeyBinder: loaded
ThreadSearch: loaded
ScriptedWizard: loaded
ClassWizard: loaded
cbDragScroll: loaded
AStylePlugin: loaded
CodeCompletion: loaded
IncrementalSearch: loaded
EditorTweaks: loaded
copystrings: loaded
wxSmithAui: loaded
wxSmith: loaded
wxSmithMime: loaded
CodeStat: loaded
DoxyBlocks: loaded
EnvVars: loaded
ToDoList: loaded
SpellChecker: loaded
Compiler: loaded
Cccc: loaded
wxSmithContribItems: loaded
Debugger: loaded
Keyboard shortcuts 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 'Lightfeather project'
Project wizard added for 'Matlab 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 'SDL 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 'ARM Project'
Project wizard added for 'AVR 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 'C/C++ header'
File(s) wizard added for 'Fortran source'
Scripted wizard plugin activated
Class wizard plugin activated
Source code formatter (AStyle) plugin activated
Code completion plugin activated
Code statistics plugin activated
DoxyBlocks plugin activated
Todo List plugin activated
SpellChecker plugin activated
Added compiler "GNU GCC Compiler"
Updating class browser...
Class browser updated.
Added compiler "Intel C/C++ Compiler"
Added compiler "SDCC Compiler"
Added compiler "Tiny C Compiler"
Added compiler "GDC D Compiler"
Added compiler "LLVM D Compiler"
Added compiler "Digital Mars D Compiler"
Added compiler "GNU Fortran Compiler"
Added compiler "G95 Fortran Compiler"
Added compiler "GNU ARM GCC Compiler"
Added compiler "GNU AVR GCC Compiler"
Added compiler "GNU GCC Compiler for PowerPC"
Added compiler "GNU GCC Compiler for TriCore"
Compiler plugin activated
Cccc plugin activated
Debugger plugin activated

(codeblocks:2845): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GtkRadioMenuItem'

(codeblocks:2845): Gtk-CRITICAL **: IA__gtk_radio_menu_item_get_group: assertion `GTK_IS_RADIO_MENU_ITEM (radio_menu_item)' failed

(codeblocks:2845): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GtkRadioMenuItem'

(codeblocks:2845): Gtk-CRITICAL **: IA__gtk_radio_menu_item_get_group: assertion `GTK_IS_RADIO_MENU_ITEM (radio_menu_item)' failed
Loading toolbar...
Initializing plugins...
Opening file /home/berenger/autorealm/autorealm.workspace
Loading workspace "/home/berenger/autorealm/autorealm.workspace"
Loading project file...
Parsing project file...
Loading target Debug
Loading target Release
Loading project files...
17 files loaded
Done loading project in 5ms
Project's base path: /home/berenger/autorealm/src/
Project's common toplevel path: /home/berenger/autorealm/src/
Loading project file...
Parsing project file...
Loading target Debug
Loading target Release
Loading project files...
4 files loaded
Done loading project in 3ms
Project's base path: /home/berenger/autorealm/src/
Project's common toplevel path: /home/berenger/autorealm/src/
Loading project file...
Parsing project file...
Loading target Debug
Loading target Release
Loading project files...
11 files loaded
Done loading project in 4ms
Project's base path: /home/berenger/autorealm/src/
Project's common toplevel path: /home/berenger/autorealm/src/
Loading project file...
Parsing project file...
Loading target Debug
Loading target Release
Loading project files...
10 files loaded
Done loading project in 3ms
Project's base path: /home/berenger/autorealm/src/
Project's common toplevel path: /home/berenger/autorealm/src/
Loading project file...
Parsing project file...
Loading target Debug Dynamic
Loading target Debug Static
Loading target Release Dynamic
Loading target Release Static
Loading project files...
15 files loaded
Done loading project in 6ms
Project's base path: /home/berenger/prj/Pluma-1.0/build/gcc/
Project's common toplevel path: /home/berenger/prj/Pluma-1.0/
Loading project file...
Parsing project file...
Loading target Debug
Loading target Release
Loading project files...
3 files loaded
Done loading project in 3ms
Project's base path: /home/berenger/autorealm/src/plugins/core/
Project's common toplevel path: /home/berenger/autorealm/src/plugins/core/
Loading project file...
Parsing project file...
Loading target Debug
Loading target Release
Loading project files...
3 files loaded
Done loading project in 3ms
Project's base path: /home/berenger/autorealm/src/plugins/core/
Project's common toplevel path: /home/berenger/autorealm/src/plugins/core/
autorealm now depends on pluginEngine (1 deps)
autorealm now depends on renderEngine (2 deps)
autorealm now depends on menuEngine (3 deps)
autorealm now depends on pluma (4 deps)
autorealm now depends on Mover (5 deps)
autorealm now depends on LineMonoColor (6 deps)

(codeblocks:2845): GLib-GObject-WARNING **: invalid uninstantiatable type `<invalid>' in cast to `GtkRadioMenuItem'

(codeblocks:2845): Gtk-CRITICAL **: IA__gtk_radio_menu_item_get_group: assertion `GTK_IS_RADIO_MENU_ITEM (radio_menu_item)' failed
Caching result of `wx-config --cppflags`
Cached
Caching result of `wx-config --libs aui gl adv core base`
Cached
Caching GCC dir: /usr/include/c++/4.7
Caching GCC dir: /usr/include/c++/4.7/x86_64-linux-gnu
Caching GCC dir: /usr/include/c++/4.7/backward
Caching GCC dir: /usr/lib/gcc/x86_64-linux-gnu/4.7/include
Caching GCC dir: /usr/local/include
Caching GCC dir: /usr/lib/gcc/x86_64-linux-gnu/4.7/include-fixed
Caching GCC dir: /usr/include/x86_64-linux-gnu
Caching GCC dir: /usr/include
Passing list of files to batch-parser.
Header to parse with priority: '/usr/include/c++/4.7/cstddef'
Header to parse with priority: '/usr/include/wx-2.9/wx/defs.h'
Header to parse with priority: '/usr/include/wx-2.9/wx/dlimpexp.h'
Header to parse with priority: '/usr/include/wx-2.9/wx/toplevel.h'
Header to parse with priority: '/usr/include/boost/config.hpp'
Header to parse with priority: '/usr/include/boost/filesystem/config.hpp'
Add 6 priority parsing file(s) for project 'autorealm'...
Added 17 file(s) for project 'autorealm' to batch-parser...
Create new parser for project 'autorealm'
Updating class browser...
Class browser updated.
Starting batch parsing for project 'autorealm'...
Project 'autorealm' parsing stage done!
Project 'autorealm' parsing stage done (708 total parsed files, 49824 tokens in 0 minute(s), 4.909 seconds).
Updating class browser...
Class browser updated.
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Windows Western European (CP 1252) (ID: 33)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Windows Western European (CP 1252) (ID: 33)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Final encoding detected: Unicode 8 bit (UTF-8) (ID: 41)
Caching result of `wx-config -libs aui core`
^C
Here, the ^C is because C::B did not reply for more than 1/4H. So I ended it's execution.
Before killing C::B, "$top" indicates that it took all time of a core. It was also impossible to stop the search&replace.

Offline Freem

  • Almost regular
  • **
  • Posts: 219
It seem that disabling code completion plugin avoid that problem.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5913
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
C::B rev 7965, on Debian 64bit.

C::B just freeze at a moment when I am trying to replace a text by another one on a code I have written if I use the "All" option. If I just say "All in the file" for each file, there are no problems.

Where is "All" and "All in the file"? I can't find such options/dialogs. When I hit CTRL+R, there is two panel "Replace" and "Replaces in files", do you mean this???

EDIT: I see  those buttons when I hit the "replace" buttons in the Replace dialog. But with a small test code, I can't reproduce the lag.
I'm in WinXP, C::B trunk.

« Last Edit: June 06, 2012, 02:43:37 pm by ollydbg »
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline Freem

  • Almost regular
  • **
  • Posts: 219
Sorry, I was not clear enough.

Yes, I meant the CTRL+SHIFT+R replacement.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5913
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
I still can not reproduce this lag. Maybe my project is not so big enough as yours. :)
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline Freem

  • Almost regular
  • **
  • Posts: 219
Hum... my project is not really big, it just contain a fun quantity of files (48 small files (the bigger one have 150 lines) should have been affected by the change, and I just notice 15 which should be in that workspace and can not have been affected. They are not mine and are not using the same license so...) and libs.
In fact, I did not had that problem on a project, but on a workspace. I guess C::B sources would be big enough to have that problem.
Or maybe my computer is a weak one, I also forgot to say that is is a simple netbook (2x1.55gHz).
But I don't think that's a reason, I never had such kind of problems before this week... (But I did not request a change on 48 files, too)