FIX: GPF/UAE with Huge Array Size as Multiple of 64K BytesLast reviewed: October 30, 1997Article ID: Q98990 |
2.00
WINDOWS
kbenv kbbuglist
The information in this article applies to: - Standard and professional editions of Microsoft Visual Basic programming system for Windows, version 2.0
SYMPTOMSA general protection (GP) fault or Unrecoverable Application Error (UAE) may result when you define a huge array using DIM, REDIM, or GLOBAL and specify a size that's a multiple of 64K.
CAUSEHuge arrays that cause a GP fault or UAE are a(n), where n is 4094 + 4095*i for i = 1 to 7 (assuming 16-byte element sizes). The problem occurs when the array plus its overhead fills a space of 128K and each increment of 64K exactly.
WORKAROUNDTo work around the problem, add or subtract one element in the array.
STATUSMicrosoft has confirmed this to be a bug in Microsoft Visual Basic version 2.0 for Windows. This bug was corrected in Microsoft Visual Basic version 3.0 for Windows.
MORE INFORMATION
Steps to Reproduce the Problem1. Start Visual Basic, or if Visual Basic is already running, choose NewProject from the File menu (ALT, F, N). Form_Click () ReDim A(32759) As Variant End Sub At this point, a GP fault or UAE occurs. The GP fault address is 0001:0CA2.
|
Additional reference words: buglist2.00 fixlist3.00 2.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |