 |
BorlandTalk.com Borland discussion newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Dennis Jones Guest
|
Posted: Sun Dec 11, 2005 5:08 pm Post subject: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Hi Andreas,
I'm not sure where to report bugs with bcc32pch, so I'll start here. I just
downlaoded and tried it for the compiler speed fix and background
compilation.(I already use pre-compiled headers in my projects).
It works great in BCB6, but in BCB5 there is a bug. When I build a project
in BCB5, it works fine the first time. But if I try to execute build a
second time, I get an access violation. The exception information (as shown
by madExcept) is as follows (hopefully the call stack will be of some use to
you):
date/time : 2005-12-11, 09:04:33, 466ms
computer name : DJONES_XP
user name : djones
operating system : Windows XP Service Pack 1 build 2600
system language : English
system up time : 1 day 15 hours
program up time : 2 minutes 10 seconds
processors : 2x Intel(R) Pentium(R) 4 CPU 3.20GHz
physical memory : 1283/2047 MB (free/total)
free disk space : (C 133.51 GB
display mode : 1600x1200, 32 bit
process id : $da0
allocated memory : 14.39 MB
command line : bcb Setup.bpg
executable : bcb.exe
madExcept version : 2.7i
exception class : EAccessViolation
exception message : Access violation at address 520C39C0 in module
'CorIde50.bpl'. Read of address 00000020.
main thread ($b8c):
520c39c0 +000 CorIde50.bpl Edtrackr TEdTracker.GetCount
520c3b3e +00a CorIde50.bpl Edtrackr
TEdTracker.IndexOfData
520c2166 +006 CorIde50.bpl Msglines TFileEntry.Remove
520c22cd +009 CorIde50.bpl Msglines
TFileBuffer.RemoveLine
520c25ba +05a CorIde50.bpl Msglines
TLineBuffer.ClearLineClass
03325af9 +025 bcc32pchPlugin50.bpl Bcc32pch_messagepane TMessagePane.Clear
03338085 +09d bcc32pchPlugin50.bpl Bcc32pch_main
TBcc32PchNotifier.OpenCompiler
03338a17 +42f bcc32pchPlugin50.bpl Bcc32pch_main
TBcc32PchNotifier.Compile
03339fa2 +072 bcc32pchPlugin50.bpl Bcc32pch_main
TBcc32PchNotifier.CompileHookEntryPoint
54033a2e +02e bcbide50.bpl Cppmgr
TCppProjectUpdater.CompileProject
52090569 +079 CorIde50.bpl Containers
TStdProjectContainer.BuildProject
52090331 +0a1 CorIde50.bpl Containers
TStdProjectContainer.CommandHandler
40062034 +068 Vcl50.bpl Menus TMenuItem.Click
40063447 +013 Vcl50.bpl Menus
TMenu.DispatchCommand
400642a6 +082 Vcl50.bpl Menus TPopupList.WndProc
77d48fcd +006 user32.dll DispatchMessageA
4005aa87 +083 Vcl50.bpl Forms
TApplication.ProcessMessage
4005aabe +00a Vcl50.bpl Forms
TApplication.HandleMessage
4005acc9 +081 Vcl50.bpl Forms TApplication.Run
- Dennis
|
|
| Back to top |
|
 |
Dennis Jones Guest
|
Posted: Sun Dec 11, 2005 5:30 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
"Dennis Jones" <nospam (AT) nospam (DOT) com> wrote
| Quote: | Hi Andreas,
I'm not sure where to report bugs with bcc32pch, so I'll start here. I
just
downlaoded and tried it for the compiler speed fix and background
compilation.(I already use pre-compiled headers in my projects).
It works great in BCB6, but in BCB5 there is a bug. When I build a
project
in BCB5, it works fine the first time. But if I try to execute build a
second time, I get an access violation. The exception information (as
shown
by madExcept) is as follows (hopefully the call stack will be of some use
to
you):
|
Follow-up:
The separate IDECompilerSpeedFix50.bpl seems to work just fine. The BCB5
IDE only crashes with bcc32pchPlugin50.bpl installed.
- Dennis
|
|
| Back to top |
|
 |
Andreas Hausladen Guest
|
Posted: Sun Dec 11, 2005 5:57 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Dennis Jones wrote:
| Quote: | It works great in BCB6, but in BCB5 there is a bug.
|
And this bug seems to be in BCB 5 (that's what I read out of the stack
trace).
I do not have BCB 5 so I cannot test it. I misused my Delphi 5 for primary
ToolsAPI testing but that can't be enough.
You can download an updated version for BCB 5 from here:
http://andy.jgknet.de/cpp/files/bcc32pchPlugin50.zip
I have changed the code from calling
Messages->ClearCompilerMessages();
Messages->ClearToolsMessages();
to
#ifdef COMPILER6_UP
Messages->ClearCompilerMessages();
Messages->ClearToolsMessages();
#else
try {
Messages->ClearAllMessages();
catch(..) {
// ignore
}
#endif
I hope this fixes it. At least it catches the exception and proceeds.
--
Regards,
Andreas Hausladen
|
|
| Back to top |
|
 |
Andreas Hausladen Guest
|
Posted: Sun Dec 11, 2005 5:59 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Dennis Jones wrote:
| Quote: | The separate IDECompilerSpeedFix50.bpl seems to work just fine. The BCB5
IDE only crashes with bcc32pchPlugin50.bpl installed.
|
bcc32pch offeres much more functionallity and the new version will improve
the compilation time by caching files. I will release it after I have
finished the Delphi 2006 support.
--
Regards,
Andreas Hausladen
|
|
| Back to top |
|
 |
Dennis Jones Guest
|
Posted: Sun Dec 11, 2005 7:06 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
"Andreas Hausladen" <AndreasDOTHausladen (AT) gNOMAILmx (DOT) de> wrote
| Quote: | Dennis Jones wrote:
It works great in BCB6, but in BCB5 there is a bug.
And this bug seems to be in BCB 5 (that's what I read out of the stack
trace).
I do not have BCB 5 so I cannot test it. I misused my Delphi 5 for primary
ToolsAPI testing but that can't be enough.
You can download an updated version for BCB 5 from here:
http://andy.jgknet.de/cpp/files/bcc32pchPlugin50.zip
|
This seems to have corrected the crash, however when the build finishes, I
get "There are errors" even though there were no errors.
- Dennis
|
|
| Back to top |
|
 |
Dennis Jones Guest
|
Posted: Sun Dec 11, 2005 7:07 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
"Dennis Jones" <nospam (AT) nospam (DOT) com> wrote
| Quote: |
"Andreas Hausladen" <AndreasDOTHausladen (AT) gNOMAILmx (DOT) de> wrote in message
news:439c6803 (AT) newsgroups (DOT) borland.com...
Dennis Jones wrote:
It works great in BCB6, but in BCB5 there is a bug.
And this bug seems to be in BCB 5 (that's what I read out of the stack
trace).
I do not have BCB 5 so I cannot test it. I misused my Delphi 5 for
primary
ToolsAPI testing but that can't be enough.
You can download an updated version for BCB 5 from here:
http://andy.jgknet.de/cpp/files/bcc32pchPlugin50.zip
This seems to have corrected the crash, however when the build finishes, I
get "There are errors" even though there were no errors.
|
And even when there are errors, the error count is still zero, there is no
list of the errors, and nothing is highlighted in the IDE.
- Dennis
|
|
| Back to top |
|
 |
Carmelo Viavattene Guest
|
Posted: Sun Dec 11, 2005 7:59 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Andreas Hausladen ha scritto:
| Quote: | Dennis Jones wrote:
It works great in BCB6, but in BCB5 there is a bug.
And this bug seems to be in BCB 5 (that's what I read out of the stack
trace).
I do not have BCB 5 so I cannot test it. I misused my Delphi 5 for primary
ToolsAPI testing but that can't be enough.
You can download an updated version for BCB 5 from here:
http://andy.jgknet.de/cpp/files/bcc32pchPlugin50.zip
I have changed the code from calling
Messages->ClearCompilerMessages();
Messages->ClearToolsMessages();
to
#ifdef COMPILER6_UP
Messages->ClearCompilerMessages();
Messages->ClearToolsMessages();
#else
try {
Messages->ClearAllMessages();
catch(..) {
// ignore
}
#endif
I hope this fixes it. At least it catches the exception and proceeds.
--
Regards,
Andreas Hausladen
|
Installed new version, the bug is present only at reopen of MyProject,
or removing Bcc32pchPlugin50.bpl:
Access violation at address 0BE9E5C4. Read of 0BE9E5C4.
Removed and Added the new version, the plugin work, in Build, and also
in Run.
Tryed remove, and add the plugin, only the bug of remove is present.
All the other problem are solved.
Very good work.
The plugin in slow, compared to previous bugged version
(I think is Try ... catch)
If You remove try...catch, can be the running solution is You added:
Messages->ClearAllMessages();
Regards,
Carmelo Viavattene
|
|
| Back to top |
|
 |
Andreas Hausladen Guest
|
Posted: Sun Dec 11, 2005 8:18 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Carmelo Viavattene wrote:
| Quote: | The plugin in slow, compared to previous bugged version
(I think is Try ... catch)
If You remove try...catch, can be the running solution is You added:
Messages->ClearAllMessages();
|
The "try ClearAllMessages catch" is executed only once. And not during
compilation.
This version uses "header file caching" what could consume a lot of RAM.
And it is my development version but a release version. You meight
activate the buildin-compiler replacement which is the "old" one.
--
Regards,
Andreas Hausladen
|
|
| Back to top |
|
 |
Old Wolf Guest
|
Posted: Sun Dec 11, 2005 10:53 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
"Dennis Jones" <nospam (AT) nospam (DOT) com> wrote:
| Quote: | "Dennis Jones" <nospam (AT) nospam (DOT) com> wrote in message
It works great in BCB6, but in BCB5 there is a bug. When I
build a project in BCB5, it works fine the first time.
But if I try to execute build a second time, I get an access
violation. The exception information (as shown by madExcept)
is as follows (hopefully the call stack will be of some use
to you):
The separate IDECompilerSpeedFix50.bpl seems to work just fine.
The BCB5 IDE only crashes with bcc32pchPlugin50.bpl installed.
|
I get the exact same symptoms, except that after the first
compile, any action in the IDE (eg. clicking messages, or
closing the project) causes the access violations.
The crash didn't happen with the old version of bcc32pch, it
only happens with the new version released on December 8.
There is definitely a bug in BCB5's messages dialog, maybe or maybe not it is the same bug as is showing up here.
Ever since BCB5 first came out, I have from time to time had the
IDE throw up access violations, and then seen garbage appear in
the Messages window, or lines from the Messages window go blank
one by one. Usually the crashing starts happening after double-
clicking something in the Messages window. I don't know how to
debug this but my best guess is that the Messages window isn't
thread-safe but it is used by several threads within the IDE
(these symptoms are the sort of thing you get with other
thread-safety issues). Or perhaps it just has a simple buffer
overflow.
|
|
| Back to top |
|
 |
Carmelo Viavattene Guest
|
Posted: Mon Dec 12, 2005 8:04 am Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Andreas Hausladen ha scritto:
| Quote: | Carmelo Viavattene wrote:
The plugin in slow, compared to previous bugged version
(I think is Try ... catch)
If You remove try...catch, can be the running solution is You added:
Messages->ClearAllMessages();
The "try ClearAllMessages catch" is executed only once. And not during
compilation.
This version uses "header file caching" what could consume a lot of RAM.
And it is my development version but a release version. You meight
activate the buildin-compiler replacement which is the "old" one.
I understand You have in development another version of plugin. |
Then, the new version has solved most of the bugs with BCB5.
The only bugs I found hare:
1) after installing, in reopening a project;
2) if I want remove the plugin.
I not understand Your words:
| Quote: | You meight activate the buildin-compiler replacement which is the
"old" one. |
I'am installed the plugin, then I think the buildin-compiler is replaced.
Or I must to activate some ulterior procedure?
Also I have noticed that your new version is slower than before.
In fact it employs nearly the double quantity of the time in order to
compile.
Can You solve this?
I not have the source of new version to understand the changed You made in.
I hope that you complete the new version in short time.
I hope that the previous errors with BCB5 are definitively passings.
Regards,
Carmelo Viavattene
|
|
| Back to top |
|
 |
Andreas Hausladen Guest
|
Posted: Mon Dec 12, 2005 10:58 am Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Carmelo Viavattene wrote:
| Quote: | I understand You have in development another version of plugin.
|
Yes. I'm moving the "status" console output to a thread so the Compiler
can work on the files and do not have to wait for console/pipe output.
| Quote: | Then, the new version has solved most of the bugs with BCB5.
|
I still have no BCB 5 (and will never have as my D2006 arrived on
saturday)
| Quote: | The only bugs I found hare:
1) after installing, in reopening a project;
|
I try to fix that by resetting the compiler
(CppCompiler.CloseProject/ClearProjectFiles/OpenProject) as I do in the
Option dialog formular at the moment (but not at startup).
| Quote: | 2) if I want remove the plugin.
|
That's problem I do not have in BCB and BDS 2006.
| Quote: | I not understand Your words:
You meight activate the buildin-compiler replacement which is the
"old" one.
I'am installed the plugin, then I think the buildin-compiler is
replaced. Or I must to activate some ulterior procedure?
|
I thought you have deactivated the builtin compiler replacement. If you
have not, than I cannot imagine why you experience a speed difference
because bcc32ide.exe hasn't changed yet. Maybe you should deactivate
the builtin compiler replacement and use the hooked builtin compiler.
--
Regards,
Andreas Hausladen
|
|
| Back to top |
|
 |
Carmelo Viavattene Guest
|
Posted: Mon Dec 12, 2005 11:50 am Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Andreas Hausladen ha scritto:
| Quote: | Carmelo Viavattene wrote:
The only bugs I found hare:
1) after installing, in reopening a project;
I try to fix that by resetting the compiler
(CppCompiler.CloseProject/ClearProjectFiles/OpenProject) as I do in the
Option dialog formular at the moment (but not at startup).
2) if I want remove the plugin.
That's problem I do not have in BCB and BDS 2006.
I not understand Your words:
You meight activate the buildin-compiler replacement which is the
"old" one.
I'am installed the plugin, then I think the buildin-compiler is
replaced. Or I must to activate some ulterior procedure?
I thought you have deactivated the builtin compiler replacement. If you
have not, than I cannot imagine why you experience a speed difference
because bcc32ide.exe hasn't changed yet. Maybe you should deactivate
the builtin compiler replacement and use the hooked builtin compiler.
No, no, the replacement is activated in my BCB5. |
My compile time with version 2.51: 2.60 s.
With the new pbl: 7.24 s.
Then, deactivated the replacement, build My Project, then activated the
replacement, the time of build is 2.61.
I do not understand why.
Then, hour, the time of compilation is returned that one before.
I found another bug.
If I build, then execute MyProject, then exit from BCB5, all is OK.
If I build MyProject, not execute, then exit from BCB5, saving changes,
I'am an error:
Access violation at address 520C39C0 in module 'Coride.bpl'. Read of
address 00000020.
If I build MyProject, not execute, then exit from BCB5, not saving
changes, I'am an error:
Access violation at address 520C39C0 in module 'Coride.bpl'. Read of
address 00000020.
or an error:
Access violation at address 00000000. Read of address 00000000.
These news you can be useful in order to resolve the problem?
Therefore, attended rest in of the new version
| Quote: | Yes. I'm moving the "status" console output to a thread so the Compiler
can work on the files and do not have to wait for console/pipe output.
and
I try to fix that by resetting the compiler
(CppCompiler.CloseProject/ClearProjectFiles/OpenProject) as I do in the
Option dialog formular at the moment (but not at startup).
|
Regards,
Carmelo Viavattene
|
|
| Back to top |
|
 |
Michael Brazee Guest
|
Posted: Mon Dec 12, 2005 1:56 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
"Dennis Jones" <nospam (AT) nospam (DOT) com> wrote
| Quote: | Hi Andreas,
I'm not sure where to report bugs with bcc32pch, so I'll start here. I
just
downlaoded and tried it for the compiler speed fix and background
compilation.(I already use pre-compiled headers in my projects).
snip
|
I found another bug. This one seems to appear only when I have more than one
project in a project group. I am not sure yet if there are any other causes
for this.
When I close Builder 6 the following dialog message appears.
'Instance of Class TIDEEditorServices has dangling reference count of 2.'
Then it is followed by
'The instruction at "0x40008f98"referenced memory at "0x032c3e5c". The
memory could not be "read". Click on OK to terminate the program".
Even with the above messages the productivity gains have been amazing.
Thanks again Andreas.
Mike
|
|
| Back to top |
|
 |
Andreas Hausladen Guest
|
Posted: Mon Dec 12, 2005 9:10 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
Dennis Jones wrote:
| Quote: | And even when there are errors, the error count is still zero, there is
no list of the errors, and nothing is highlighted in the IDE.
|
Have you tried the "Detailed Message Dialog" ? Maybe there is an error
that bcc32pch does not analyise from the console output but
GetProcessExitCode returns ExitCode != 0.
--
Regards,
Andreas Hausladen
|
|
| Back to top |
|
 |
Dennis Jones Guest
|
Posted: Mon Dec 12, 2005 11:00 pm Post subject: Re: (ping Andreas) bug in bcc32pch with BCB5 IDE |
|
|
"Andreas Hausladen" <AndreasDOTHausladen (AT) gNOMAILmx (DOT) de> wrote
| Quote: | Dennis Jones wrote:
And even when there are errors, the error count is still zero, there is
no list of the errors, and nothing is highlighted in the IDE.
Have you tried the "Detailed Message Dialog" ? Maybe there is an error
that bcc32pch does not analyise from the console output but
GetProcessExitCode returns ExitCode != 0.
|
No, but by enabling extended error information, I do get the output I
expected to see without it. The compiling dialog shows 0 errors, but there
are clearly many errors. Here is just a small sample of the output:
[C++ TLicenseViewerMainForm.cpp] 0: Compiling:
P:G2-SetupTLicenseViewerMainForm.cpp
[Error] TLicenseViewerMainForm.cpp(34): E2303 Type name expected
[Warning] Full parser context
[Warning] TLicenseViewerMainForm.cpp(33): class LicenseInfo_t
[Error] TLicenseViewerMainForm.cpp(34): E2139 Declaration missing ;
[Warning] Full parser context
[Warning] TLicenseViewerMainForm.cpp(33): class LicenseInfo_t
[Error] TLicenseViewerMainForm.cpp(171): E2316 'AppInfo' is not a member of
'LicenseInfo_t'
[Warning] Full parser context
[Warning] TLicenseViewerMainForm.cpp(158): parsing: int GetLicenseInfo(char
*,LicenseInfo_t &)
[Error] TLicenseViewerMainForm.cpp(236): E2451 Undefined symbol
'security_error_code'
and so on...
So, why does bcc32pch think there are 0 errors, and why is there no output
in the messages tab?
- Dennis
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|