Discussion:
GPF caused by Coolbar control
(too old to reply)
Paulo
2014-10-12 16:25:50 UTC
Permalink
Hi, all

I maintain an application writen in VB6 that uses CoolBar control version
6.0 (SP5). Some weeks ago a customer told me that the application was
generating an error in Windows XP (SP3) when closing it, althoug this error
didn't prevent from running it and didn't cause loss of data.

The error message is:
"Invoice Manager has encountered a problem and needs to close. We are sorry
by the inconvenience."

The error report contains the following error signature:
AppName: ivcman.exe
AppVer: 2.1.0.117
ModName: kernel32.dll
ModVer: 5.1.2600.6532
Offset: 00012fd3

After some tests I found that the error is caused by the CoolBar control.
After some search in the web I found also that this is an old issue reported
by Microsoft in the KB BUG report:
Title: Wrapped CoolBar Control May GPF Client EXE Program
URL: ftp://ftp.microsoft.com/misc1/DEVELOPR/VB/KB/Q189/9/14.TXT

The resolution proposed in this BUG report (Clear the Bands object) does not
work. This is the only application where I used the CoolBar control but it
is important for me to maintain it's VB6 interface.

Does anybody knows if any solution was ever found?

TIA
Paulo
Deanna Earley
2014-10-13 07:50:18 UTC
Permalink
Post by Paulo
Hi, all
I maintain an application writen in VB6 that uses CoolBar control version
6.0 (SP5). Some weeks ago a customer told me that the application was
generating an error in Windows XP (SP3) when closing it, althoug this error
didn't prevent from running it and didn't cause loss of data.
"Invoice Manager has encountered a problem and needs to close. We are sorry
by the inconvenience."
AppName: ivcman.exe
AppVer: 2.1.0.117
ModName: kernel32.dll
ModVer: 5.1.2600.6532
Offset: 00012fd3
After some tests I found that the error is caused by the CoolBar control.
After some search in the web I found also that this is an old issue reported
Title: Wrapped CoolBar Control May GPF Client EXE Program
URL: ftp://ftp.microsoft.com/misc1/DEVELOPR/VB/KB/Q189/9/14.TXT
The resolution proposed in this BUG report (Clear the Bands object) does not
work. This is the only application where I used the CoolBar control but it
is important for me to maintain it's VB6 interface.
That KB article also only applied to Win9x based systems. NT based (of
which XP is one) are not affected.
http://c-bit.org/kb/189914/EN-US/
http://smallbusiness.support.microsoft.com/de-ch/Kb/189914?lcid=1033
(Affecting only 9x is probably why MS have taken the original offline)
--
Deanna Earley (***@icode.co.uk)
iCatcher Development Team
http://www.icode.co.uk/icatcher/

iCode Systems

(Replies direct to my email address will be printed, shredded then fed
to the rats. Please reply to the group.)
Paulo
2014-10-13 16:51:27 UTC
Permalink
Post by Deanna Earley
Post by Paulo
Hi, all
I maintain an application writen in VB6 that uses CoolBar control version
6.0 (SP5). Some weeks ago a customer told me that the application was
generating an error in Windows XP (SP3) when closing it, althoug this error
didn't prevent from running it and didn't cause loss of data.
"Invoice Manager has encountered a problem and needs to close. We are sorry
by the inconvenience."
AppName: ivcman.exe
AppVer: 2.1.0.117
ModName: kernel32.dll
ModVer: 5.1.2600.6532
Offset: 00012fd3
After some tests I found that the error is caused by the CoolBar control.
After some search in the web I found also that this is an old issue reported
Title: Wrapped CoolBar Control May GPF Client EXE Program
URL: ftp://ftp.microsoft.com/misc1/DEVELOPR/VB/KB/Q189/9/14.TXT
The resolution proposed in this BUG report (Clear the Bands object) does not
work. This is the only application where I used the CoolBar control but it
is important for me to maintain it's VB6 interface.
That KB article also only applied to Win9x based systems. NT based (of
which XP is one) are not affected.
http://c-bit.org/kb/189914/EN-US/
http://smallbusiness.support.microsoft.com/de-ch/Kb/189914?lcid=1033
(Affecting only 9x is probably why MS have taken the original offline)
--
iCatcher Development Team
http://www.icode.co.uk/icatcher/
iCode Systems
(Replies direct to my email address will be printed, shredded then fed to
the rats. Please reply to the group.)
This article:
http://smallbusiness.support.microsoft.com/de-ch/Kb/189914?lcid=1033
says: "... The EXE will not give the above error running on NT 4.0 or
Windows 2000..."
Windows XP (NT 5.1.2600) is not referred specificaly.

It is amazing that I didnŽt notice this behavior before. This version of the
application was developed in 2003 in Windows 2000. Now, in my Windows XP SP3
the error occurs also.
Deanna Earley
2014-10-14 10:37:22 UTC
Permalink
Post by Deanna Earley
Post by Deanna Earley
Post by Paulo
After some search in the web I found also that this is an old
Title: Wrapped CoolBar Control May GPF Client EXE Program
URL: ftp://ftp.microsoft.com/misc1/DEVELOPR/VB/KB/Q189/9/14.TXT
The resolution proposed in this BUG report (Clear the Bands
object) does not work. This is the only application where I used
the CoolBar control but it is important for me to maintain it's
VB6 interface.
That KB article also only applied to Win9x based systems. NT based (of
which XP is one) are not affected.
http://c-bit.org/kb/189914/EN-US/
http://smallbusiness.support.microsoft.com/de-ch/Kb/189914?lcid=1033
(Affecting only 9x is probably why MS have taken the original offline)
http://smallbusiness.support.microsoft.com/de-ch/Kb/189914?lcid=1033
says: "... The EXE will not give the above error running on NT 4.0 or
Windows 2000..."
Windows XP (NT 5.1.2600) is not referred specificaly.
No, as it predates Windows XP. The "not effecting NT4/2000" implies that
all NT based systems are equally unaffected, and that specific bug only
occurred on Windows 9x which is thankfully long gone.

This also ties up with why the article is no longer available (in the
normal location) as all affected systems are long out of support.
--
Deanna Earley (***@icode.co.uk)
iCatcher Development Team
http://www.icode.co.uk/icatcher/

iCode Systems

(Replies direct to my email address will be printed, shredded then fed
to the rats. Please reply to the group.)
Farnsworth
2014-10-13 11:54:41 UTC
Permalink
Are you doing any subclassing?
Paulo
2014-10-13 16:30:31 UTC
Permalink
Post by Farnsworth
Are you doing any subclassing?
Yes, but in another form, with no problem.
Farnsworth
2014-10-13 12:04:41 UTC
Permalink
Try setting the Container property for all controls on the Coolbar to the
form before it's closed. Example:

Set Command1.Container = Form1
Set Picture1.Container = Form1
...
Paulo
2014-10-13 17:42:39 UTC
Permalink
Post by Farnsworth
Try setting the Container property for all controls on the Coolbar to the
Set Command1.Container = Form1
Set Picture1.Container = Form1
...
Thanks, I will try this.
Farnsworth
2014-10-13 18:47:03 UTC
Permalink
Post by Paulo
Post by Farnsworth
Try setting the Container property for all controls on the Coolbar to the
Set Command1.Container = Form1
Set Picture1.Container = Form1
...
Thanks, I will try this.
This related article describes a problem that I was able to duplicate on
XP+SP2(You have to add Err.Raise 5 line and click on the band separator to
see the crash):

http://smallbusiness.support.microsoft.com/en-us/kb/189632

I was not able to make it crash based on the article that you originally
gave(Q189914).
Paulo
2014-10-14 02:34:45 UTC
Permalink
Post by Farnsworth
Post by Paulo
Post by Farnsworth
Try setting the Container property for all controls on the Coolbar to
Set Command1.Container = Form1
Set Picture1.Container = Form1
...
Thanks, I will try this.
This related article describes a problem that I was able to duplicate on
XP+SP2(You have to add Err.Raise 5 line and click on the band separator to
http://smallbusiness.support.microsoft.com/en-us/kb/189632
Yes, the GPF message is the same.
Post by Farnsworth
I was not able to make it crash based on the article that you originally
gave(Q189914).
I think that I found the origin. The QueryUnload event of the form
containing the CoolBar contral calls a sub that contains an End statement.
By removing the End statement the GPF is not raised.
Paulo
2014-10-14 03:15:58 UTC
Permalink
Well, I knew that the use of the End statement is not advisable and that
should be used with caution.

If the user confirms to close the application the QueryUnload of my form
calls a Sub that contains an End statement. The GPF raised in my application
is caused when this End statement is called.

I found that the GPF is not raised with anyone of this two workarounds :
1. Remove the End statement.
2. The Sub called by the QueryUnload of my form loads an invisible form that
contains the End statement in the Load event.

I have chosen to deliver an update with the second "solution" that keeps the
End statement.

Paulo
Deanna Earley
2014-10-14 10:42:33 UTC
Permalink
Post by Paulo
Well, I knew that the use of the End statement is not advisable and that
should be used with caution.
If the user confirms to close the application the QueryUnload of my form
calls a Sub that contains an End statement. The GPF raised in my application
is caused when this End statement is called.
1. Remove the End statement.
2. The Sub called by the QueryUnload of my form loads an invisible form that
contains the End statement in the Load event.
I have chosen to deliver an update with the second "solution" that keeps the
End statement.
Why not just let it exit as normal?
As you said, End is well known to cause many problems, in another form
or not.
--
Deanna Earley (***@icode.co.uk)
iCatcher Development Team
http://www.icode.co.uk/icatcher/

iCode Systems

(Replies direct to my email address will be printed, shredded then fed
to the rats. Please reply to the group.)
Paulo
2014-10-19 16:17:00 UTC
Permalink
I found why I put and End statement. The application needs to close
completely because it can be run only one instance at time (Windows session)
due to the remote database design. So, when run the app twice in the same
Windows session, the app abborted in the second time. At that time, as I
didn't found why it didn't close, I found that solution.

Thank you for your support, Deanna.
Post by Deanna Earley
Why not just let it exit as normal?
As you said, End is well known to cause many problems, in another form or
not.
--
iCatcher Development Team
http://www.icode.co.uk/icatcher/
iCode Systems
(Replies direct to my email address will be printed, shredded then fed to
the rats. Please reply to the group.)
Loading...