News:

When registered with our forums, feel free to send a "here I am" post here to differ human beings from SPAM bots.

Main Menu

cb hangs and I get "Pool task operated?!" message

Started by erezz, October 24, 2013, 10:42:51 AM

Previous topic - Next topic

oBFusCATed

Quote from: erezz on October 30, 2013, 09:10:48 AM
which is a total of 1705 files. It sounds strange to me that going over 1705 files takes ~30 seconds, even if it's on a network fs.
Probably you can strace codeblocks to see what going on and where it is slow.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Jenna

The network I/O is very slow even on fast networks, especially on windows shares (my experience from windows to windows and even worse from linux to windows).

For the statistics, we have fantastic plugin in contrib-plugins. Just open "Plugins -> Code statistics".

Jenna

#17
By the way: one real evil thing is that C::B always looks for changed files, if it regains focus.
That can be really slow on network shares if you have multiple files open.

If I find the time, I will add a (per project) option, that can switch this off.

erezz

I ran c::b with strace and I saw that stat64() gets called for files that are not included in my project. My project is located in ~/dir1/dir2/myproj. I see that stat64() gets called for files in ~/dir1/dir2/otherproj. Unfortunately, otherproj is huge, so it may take time to go over all its files.

Am I doing something wrong? Is it something in my project configuration?

Thanks,
Erez

erezz

Quote from: erezz on October 30, 2013, 02:48:12 PM
I ran c::b with strace and I saw that stat64() gets called for files that are not included in my project. My project is located in ~/dir1/dir2/myproj. I see that stat64() gets called for files in ~/dir1/dir2/otherproj. Unfortunately, otherproj is huge, so it may take time to go over all its files.

Am I doing something wrong? Is it something in my project configuration?

Thanks,
Erez

One more thing - the c::b project (i.e. bmarks, cbp & layout files) is located at ~/dir1/dir2/codeblocks_proj/proj_name.

Erez

ollydbg

1, I see there is not text "Pool task operated?!" in current CodeCompletion plugin's source code, so I think this log message has changed after C::B 12.11.


2,
QuoteMy project is located in ~/dir1/dir2/myproj. I see that stat64() gets called for files in ~/dir1/dir2/otherproj. Unfortunately, otherproj is huge, so it may take time to go over all its files.
Maybe The cbp file in ~/dir1/dir2/myproj folder contains some files/reference to ~/dir1/dir2/otherproj. (This is only a guess)
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.

erezz

I moved the c::b project into the dir that contains the project src code, and now it seems to work. Still, I think that c::b should scan only files that belong to the project.

Erez

yaoyansi

It seems that we have the same problem. My C::B freezes either, and my home directory has 396 sub-directories. Here is my post
http://forums.next.codeblocks.org/index.php/topic,19936.msg136142.html#msg136142

Finally, I find a temp solution to walk around this problem. The solution is to modify all of the absolute source file paths to relative file paths in the *.cbp file manually. But I'm not satisfied with this temp solution at all, because I have to change the *.cbp file which is generated by CMake.
http://forums.next.codeblocks.org/index.php/topic,19936.msg136145.html#msg136145

Did you solve this problem with a better solution?

Cheers