Invalid Page Fault in MSVBVM60 
Author Message
 Invalid Page Fault in MSVBVM60

I have a VB6 SP5 Standard EXE app that generates an invalid page fault in
module MSVBVM60.DLL at 0187:660697fe on 3 of our 6 Win98 SE computers when
the app closes.  This happens at the END statement, literally the last
statement in the Form_Unload event of the main form.  Removing the END
statement and letting the app "die" on it's own does not prevent this error
from occurring.

This error only occurs when the app has preformed a function where it checks
the database for pending routine tasks (Checking new customer entries
against existing entries to identify duplicates).  This time frame is set
for 10 minute intervals.  If I close the app before this check occurs, no
error.

This is not a MDI app.  All other forms are unloaded and Set to Nothing in
the Main form code when they are closed.

Suggestions?  Solutions?

Steve Thomas



Sat, 31 Jan 2004 05:06:13 GMT  
 Invalid Page Fault in MSVBVM60
End statements are bad.  Why do you need one?

If all of your forms are unloaded, set to nothing, and all your global data
is also cleaned up, your app should end.


Quote:
> I have a VB6 SP5 Standard EXE app that generates an invalid page fault in
> module MSVBVM60.DLL at 0187:660697fe on 3 of our 6 Win98 SE computers when
> the app closes.  This happens at the END statement, literally the last
> statement in the Form_Unload event of the main form.  Removing the END
> statement and letting the app "die" on it's own does not prevent this
error
> from occurring.

> This error only occurs when the app has preformed a function where it
checks
> the database for pending routine tasks (Checking new customer entries
> against existing entries to identify duplicates).  This time frame is set
> for 10 minute intervals.  If I close the app before this check occurs, no
> error.

> This is not a MDI app.  All other forms are unloaded and Set to Nothing in
> the Main form code when they are closed.

> Suggestions?  Solutions?

> Steve Thomas




Sat, 31 Jan 2004 05:46:46 GMT  
 Invalid Page Fault in MSVBVM60
Even without the End statement, the error is still generated.  That was a
carryover from the app's previous incarnation when there was not a startup
form defined and shutdown was a seperate sub.

Steve Thomas


Quote:
> End statements are bad.  Why do you need one?

> If all of your forms are unloaded, set to nothing, and all your global
data
> is also cleaned up, your app should end.



> > I have a VB6 SP5 Standard EXE app that generates an invalid page fault
in
> > module MSVBVM60.DLL at 0187:660697fe on 3 of our 6 Win98 SE computers
when
> > the app closes.  This happens at the END statement, literally the last
> > statement in the Form_Unload event of the main form.  Removing the END
> > statement and letting the app "die" on it's own does not prevent this
> error
> > from occurring.

> > This error only occurs when the app has preformed a function where it
> checks
> > the database for pending routine tasks (Checking new customer entries
> > against existing entries to identify duplicates).  This time frame is
set
> > for 10 minute intervals.  If I close the app before this check occurs,
no
> > error.

> > This is not a MDI app.  All other forms are unloaded and Set to Nothing
in
> > the Main form code when they are closed.

> > Suggestions?  Solutions?

> > Steve Thomas




Sat, 31 Jan 2004 06:39:55 GMT  
 Invalid Page Fault in MSVBVM60

Quote:

>This error only occurs when the app has preformed a function where it checks
>the database for pending routine tasks (Checking new customer entries
>against existing entries to identify duplicates).  This time frame is set
>for 10 minute intervals.  If I close the app before this check occurs, no
>error.

Why run a routine to check for duplicates?.  Why not prevent
duplicates ever being entered in the first place?  Seems the logical
thing to do.

The way to do that is to create an index on one or more fields, that
when combined with provide a unique reference to that customer.  Full
name and date of birth is usually a good starter,  Name and Social
Security number is guaranteed to be unique.  Name and Zip Code is
another that comes to mind.

Stuart Sutherland



Sat, 31 Jan 2004 07:33:49 GMT  
 Invalid Page Fault in MSVBVM60
Thanks.  This duplicate check is necessary since data is batched in from
clients around the country.  Each client is checked at the time of their
data entry (logical enough).  The server is checked as resources are
available.  Since we check for (among other fields) variations of name and
address, each entry can take up to 10 seconds when querying 70,000 records
with *NameFragment*.  A very slow query process.

With this is mind, the error will occur after this function is call,
regardless whether there are entries to be checked or not.

All objects are Set xxx = nothing, String vars = "" in all functions and
subs.

I noticed a different thread referenced IPF in MSVBVM60 in with Norton Anti
Virus (We have NAV on ALL 6 computers, only 3 are a problem.).  I followed
up on the no "Script Blocking" suggestion Symantic made in their two support
docs.

I have compared dependant modules installed on each machine. All machines
have the exact same dependant modules.  One of the machines that generates
the error has an exact duplicate machine here that does NOT generate an
error.  They both have the same software and updates installed.  Obviously,
there is SOMETHING different between these two!  I will be running a
complete file compare, but that will take plenty of time to sort though the
results (not putting it off, just dread the task).


Quote:

> >This error only occurs when the app has preformed a function where it
checks
> >the database for pending routine tasks (Checking new customer entries
> >against existing entries to identify duplicates).  This time frame is set
> >for 10 minute intervals.  If I close the app before this check occurs, no
> >error.

> Why run a routine to check for duplicates?.  Why not prevent
> duplicates ever being entered in the first place?  Seems the logical
> thing to do.

> The way to do that is to create an index on one or more fields, that
> when combined with provide a unique reference to that customer.  Full
> name and date of birth is usually a good starter,  Name and Social
> Security number is guaranteed to be unique.  Name and Zip Code is
> another that comes to mind.

> Stuart Sutherland



Sat, 31 Jan 2004 08:16:35 GMT  
 Invalid Page Fault in MSVBVM60
which SP do you use for VB?
Why not sent the 'bulk import' to a stored proc? (using ADODB.Command for
instance). The duplicates will be checked in the stored proc and written to
a conflict table...

--



Sat, 31 Jan 2004 15:01:43 GMT  
 Invalid Page Fault in MSVBVM60
VB6 SP5

The problem is not what the function does.  It only checks new entries
against existing AFTER a bulk import.  Most of the day, there no records to
check.  The function opens a table, closes that table, clean-up and exit.

In reproducing the problem, I run the app, let this function be called,
close the app -> error happens.

I do want to migrate this app to ADO, but this app is a monster.  I would
sooner rewrite it in C++ with do ADO then!

Steve Thomas


Quote:
> which SP do you use for VB?
> Why not sent the 'bulk import' to a stored proc? (using ADODB.Command for
> instance). The duplicates will be checked in the stored proc and written
to
> a conflict table...

> --



Sat, 31 Jan 2004 21:52:17 GMT  
 Invalid Page Fault in MSVBVM60
So what technology does the app use instead of ADO now?
Does it use async methods yet? It is well known that using forms and async
methods can conflict because of thread conflicts.

--
Egbert Nierop



Sun, 01 Feb 2004 16:20:39 GMT  
 Invalid Page Fault in MSVBVM60
Hi BillyBob,
    You appear to be crashing in one of your controls on a call to
QueryInterface.  You crash while attempting to dereference a cached
interface pointer.  Are you using any 3rd party controls which could be
causing you some grief?  Can you provide any other information which may
help determine the root cause?

(66069799) MSVBVM60!COcx__QueryCachedInterface+0x65

0:001> u 660697fe
MSVBVM60!COcx__QueryCachedInterface+65:
660697fe ff11 call dword ptr [ecx]                          <-- Failing here
66069800 85c0 test eax,eax
66069802 7d05 jge MSVBVM60!COcx__QueryCachedInterface+0x70 (66069809)
66069804 830eff or dword ptr [esi],0xffffffff
66069807 ebc8 jmp MSVBVM60!COcx__QueryCachedInterface+0x38 (660697d1)
66069809 8b450c mov eax,[ebp+0xc]
6606980c 8906 mov [esi],eax
6606980e 8b08 mov ecx,[eax]

Thanks,
Steve Edwards
Microsoft Developer Support - VB


Quote:
> I have a VB6 SP5 Standard EXE app that generates an invalid page fault in
> module MSVBVM60.DLL at 0187:660697fe on 3 of our 6 Win98 SE computers when
> the app closes.  This happens at the END statement, literally the last
> statement in the Form_Unload event of the main form.  Removing the END
> statement and letting the app "die" on it's own does not prevent this
error
> from occurring.

> This error only occurs when the app has preformed a function where it
checks
> the database for pending routine tasks (Checking new customer entries
> against existing entries to identify duplicates).  This time frame is set
> for 10 minute intervals.  If I close the app before this check occurs, no
> error.

> This is not a MDI app.  All other forms are unloaded and Set to Nothing in
> the Main form code when they are closed.

> Suggestions?  Solutions?

> Steve Thomas




Sat, 07 Feb 2004 05:21:06 GMT  
 
 [ 9 post ] 

 Relevant Pages 

1. Invalid Page Fault in MSVBVM60.DLL

2. invalid page fault in module MSVBVM60.DLL

3. IEXPLORE caused an invalid page fault in module MSVBVM60.DLL

4. Invalid page fault in module MSVBVM60.DLL

5. VB6 caused an invalid page fault in module MSVBVM60.DLL at 014f:6604b3ce

6. Invalid Page Faults in MSVBVM60.DLL or What the hell?

7. msvbvm60.dll page fault at 00178:660ee981 and overflow memory

8. Page Fault in MSVBVM60.DLL (reposted)

9. Page Fault in MSVBVM60.DLL

10. MSVBVM60.DLL Page Fault

11. invalid page fault VBA332.dll

12. VBA332.DLL invalid page fault

 

 
Powered by phpBB® Forum Software