User forums > Using Code::Blocks

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

<< < (3/5) > >>

erezz:

--- Quote from: ollydbg on October 28, 2013, 03:52:59 pm ---
--- Quote from: erezz on October 28, 2013, 03:47:23 pm ---In my env, it happens every time I click ctrl+G. I guess that other users did not encounter this bug, so it's probably related to my specific project (which I can't share) + my home directory (which is mounted and is actually located on another server).

If you want to debug what happens between the  "Starting re-parsing" log message and the "parsing stage done" message, you can add more specific logs (between those 2 messages) and upload a debug version that I can run.

--- End quote ---
If you want to see more logs, you can simply enable the debug macro in plugins\codecompletion\nativeparser.cpp
By change:
#define CC_NATIVEPARSER_DEBUG_OUTPUT 0
to
#define CC_NATIVEPARSER_DEBUG_OUTPUT 1

Then you will see a lot of log message in Code::Blocks Debug log.


--- End quote ---

Recompiled cb with this flag set, and now everything works well... If it happens again, I will send a report.

erezz:
Found a scenario in which cb hangs for ~30 seconds: I go to management->symbols and select view = "current file's symbols". cb freezes and when it's back I got this error:


--- Code: ---** (codeblocks:10221): CRITICAL **: murrine_style_draw_flat_box: assertion `width >= -1' failed
--- End code ---

Then, I moved to other c files in the project. cb freezes again, I don't see any logs and when it's back, I see logs that looks OK:


--- Code: ---[erezz@erez-lx:~/work/tmp]$ NativeParser::GetAllPathsByFilename(): Enter
NativeParser::GetAllPathsByFilename(): Traversing 'my_proj/include' for: myfile.*
NativeParser::GetAllPathsByFilename(): Traversing ' - my_proj' for: myfile.*
NativeParser::GetAllPathsByFilename(): Found 1 files:
- my_proj/include/myfile.h
NativeParser::GetAllPathsByFilename(): Leave
NativeParser::Done(): true
NativeParser::GetProjectByFilename(): /tmp/somefile.c
ClassBrowser::OnThreadEvent(): Updating class browser...
ClassBrowser::OnThreadEvent(): Class browser updated.
NativeParser::Done(): true
NativeParser::GetProjectByFilename(): /tmp/somefile.c
NativeParser::Done(): true
NativeParser::GetProjectByFilename(): /tmp/somefile.c

--- End code ---

ollydbg:

--- Quote from: erezz on October 28, 2013, 03:47:23 pm ---In my env, it happens every time I click ctrl+G. I guess that other users did not encounter this bug, so it's probably related to my specific project (which I can't share) + my home directory (which is mounted and is actually located on another server).

--- End quote ---
I guess this is the cause of the your lag issue.
There are some traverser in CC's code, which search the folder for some specified file names.

--- Code: ---dir.Traverse(traverser, filespec, wxDIR_FILES);
--- End code ---
But in your case, all the file are in-fact in another computer, which can take several seconds to do the traversing.
Can you try to test the project if you put them in your own computer (not remote server).

erezz:

--- Quote from: ollydbg on October 29, 2013, 03:24:08 am ---
--- Quote from: erezz on October 28, 2013, 03:47:23 pm ---In my env, it happens every time I click ctrl+G. I guess that other users did not encounter this bug, so it's probably related to my specific project (which I can't share) + my home directory (which is mounted and is actually located on another server).

--- End quote ---
I guess this is the cause of the your lag issue.
There are some traverser in CC's code, which search the folder for some specified file names.

--- Code: ---dir.Traverse(traverser, filespec, wxDIR_FILES);
--- End code ---
But in your case, all the file are in-fact in another computer, which can take several seconds to do the traversing.
Can you try to test the project if you put them in your own computer (not remote server).

--- End quote ---

I tested the same project on my local machine and it works very well. Still, I need to work on my mounted home directory... Our internal network is fast enough, so it's not a bottleneck. Any chance for a fix for this problem?

Thanks,
Erez

erezz:

--- Quote from: erezz on October 29, 2013, 07:48:51 am ---
--- Quote from: ollydbg on October 29, 2013, 03:24:08 am ---
--- Quote from: erezz on October 28, 2013, 03:47:23 pm ---In my env, it happens every time I click ctrl+G. I guess that other users did not encounter this bug, so it's probably related to my specific project (which I can't share) + my home directory (which is mounted and is actually located on another server).

--- End quote ---
I guess this is the cause of the your lag issue.
There are some traverser in CC's code, which search the folder for some specified file names.

--- Code: ---dir.Traverse(traverser, filespec, wxDIR_FILES);
--- End code ---
But in your case, all the file are in-fact in another computer, which can take several seconds to do the traversing.
Can you try to test the project if you put them in your own computer (not remote server).

--- End quote ---

I tested the same project on my local machine and it works very well. Still, I need to work on my mounted home directory... Our internal network is fast enough, so it's not a bottleneck. Any chance for a fix for this problem?

--- End quote ---

BTW - I went over my project to see how many files it contains:


--- Code: ---[erezz@erez-lx:~/myproj]$ find . -name *.c | wc -l
521
[erezz@erez-lx:~/myproj]$ find . -name *.h | wc -l
395
[erezz@erez-lx:~/myproj]$ find . -name *.py | wc -l
681
[erezz@erez-lx:~/myproj]$ find . -name *.sh | wc -l
81
[erezz@erez-lx:~/myproj]$ find . -name Makefile | wc -l
27

--- End code ---

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.

Erez

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version