Different versions of msvbvm60.dll on Win7 and Win10

6

We have a legacy VB6 application that is crashing at a certain point on Windows 10, but not on Windows 7. It also doesn't crash when run via the VB6 IDE (on either OS).

On trying to track down the differences I discovered that msvbvm60.dll is subtely different on Win7 and Win10. Specifically, it has the same version number and size, but different dates. Subsequent binary comparison shows that the versions are indeed different.

If we force the Win10 machine to use the Win7 version of msvbvm60.dll, the crash is fixed. Can anyone shed any light on the difference between these versions? I have confirmed that the two versions are the same as you get on clean installations of Win7 and Win10, so it is not due to any corruption.

The crash happens while trying to display information on a grid (MSFlxGrd.ocx). However, the grid works most of the time. The data set is larger than usual, but only 8000 rows so not extreme. The application is very convoluted, so it is not easy to examine the data or give more information.

The system event log shows the following:

Faulting module name: MSVBVM60.DLL, version: 6.0.98.15, time stamp: 0x49b01fc3
Exception code: 0xc00000fd
vb6
asked on Stack Overflow Feb 26, 2018 by Ant Waters • edited Feb 27, 2018 by Ant Waters

2 Answers

0

So the extra rows count perhaps. But somewhere in your code is a recursive function. This is from a program of mine that converts NTStatus codes to Windows Error codes.

A stack is where a function's local variables, temporary variables, parameters to functions, return value, and the return address is stored. A program starts with 1 MByte of stack space with a guard page at the end. When the stack grows into the guard page a memory exception is raised by the virtual memory manager, which grows the stack by 4KByte, and puts a new guard page in. Your stack has hit memory that is not free and cannot grow.

---------------------------
Serenity's Unicode Text Editor
---------------------------
NT Status 0xC00000FD (-1073741571)

Windows Error 0x3E9 (1001)

---------------------------
NT Status Message:

A new guard page for the stack cannot be created.


---------------------------
Windows Error Message:

Recursion too deep; the stack overflowed.


---------------------------
OK   
---------------------------
answered on Stack Overflow Feb 27, 2018 by ACatInLove • edited Feb 27, 2018 by ACatInLove
-1

I had problems in windows 10 with MSFlxGrd.ocx. These problems appeared as "license errors", though i suppose the ocx was supplied with vb6. Anyway, all these problems went away when I ran the exe in the followin zip file (unzip all files in a folder before running it).

First, close visual basic if open. Then unzip this file, then run the exe file in it

answered on Stack Overflow Jul 29, 2020 by A. Plevrakis • edited Jul 29, 2020 by Dharman

User contributions licensed under CC BY-SA 3.0