Microsoft KB Archive/95290

= FIX: GPF/UAE When Create or Use Huge Array w/ Large Elements =

Article ID: 95290

Article Last Modified on 1/8/2003

-

APPLIES TO


 * Microsoft Visual Basic 2.0 Standard Edition

-



This article was previously published under Q95290



SYMPTOMS
A general protection (GP) fault or unrecoverable application error (UAE) may occur when you try to run or compile a program if an array meets all of the following criteria:


 * It is a huge array (greater then 64k in total size).
 * The size of the array elements are large (usually 512 bytes or greater). This will usually occur only when the array elements are user-defined type variables.
 * An array element contains either one or more variant or variable length string variables.



WORKAROUND
To work around the problem, change the element size of the array elements. In general, the smaller the element size, the less likely the problem.



STATUS
Microsoft has confirmed this to be a problem in Microsoft Visual Basic version 2.0 for Windows. This problem was corrected in Microsoft Visual Basic version 3.0 for Windows.



Steps to Reproduce Problem
 Start VB.EXE. From the File menu, choose New Module (the default is Module1.BAS).  Add the following code to Module1.BAS: Type MyType va(1200) As Variant End Sub Dim ma(20) As MyType  Press the F5 key to run the code. Then from the Run menu, choose End. At this point a GP fault or UAE may occur. Change the array 'va(1200) As Variant' to 'va(1200) As String'. Note that because String variables are 6 bytes and Variants are 16 bytes, this change reduces the size of the user-defined type and therefore reduces the element size of the array. Press the F5 key to run the code. Then from the Run menu, choose End.</li></ol>

Because you reduced the element size of the array, you may not encounter a GP fault or UAE this time.

Additional query words: buglist2.00 fixlist3.00 2.00 3.00

Keywords: kbbug kbfix KB95290

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.