Wednesday, 20 July 2011

VB6: Internal error during Pass2

Very occasionally something will change in one of my VB projects (yes I still use VB) and it will stop compiling and display an error similar to this:

Unexpected error occurred in code generator or linker. 
Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

modCommon.OBJ : error : Internal error during Pass2

  ExceptionCode            = C0000005
  ExceptionFlags           = 00000000
  ExceptionAddress         = 10323E93
  NumberParameters         = 00000002
  ExceptionInformation[ 0] = 00000000
  ExceptionInformation[ 1] = 00842000

CONTEXT:
  Eax    = 00842000  Esp    = 0012EFAC
  Ebx    = 007D6008  Ebp    = 0012EFFC
  Ecx    = 00000001  Esi    = 0012EFC4
  Edx    = 00001000  Edi    = 007D6008
  Eip    = 10323E93  EFlags = 00010246
  SegCs  = 0000001B  SegDs  = 00000023
  SegSs  = 00000023  SegEs  = 00000023
  SegFs  = 0000003B  SegGs  = 00000000
  Dr0    = 0012EFAC  Dr3    = 007D6008
  Dr1    = 0012EFFC  Dr6    = 00000001
  Dr2    = 00000000  Dr7    = 00000000

I don’t know what causes this but I do know a simple fix, just re-order the file references. What I do is open the VBP file in a text editor and then sort the Class, Form, Module and UserControl values in to alphabetical order.

No comments: