Link to home
Start Free TrialLog in
Avatar of ChloesDad
ChloesDadFlag for United Kingdom of Great Britain and Northern Ireland

asked on

System.TypeInitialisation error

We have a system that has been working without a problem for over a year. The site had a power outage which took down the PC in an uncontrolled manor. On restart our software now fails to run. We get a Watson Bucket in the event viewer.

having researched what these mean, P4 verified that it is our program that has the problem, P7 is 956 and P8 is 11. P9 says System.TypeInitialisation.

I then ran the decompiler to allow me to see what caused the issue

.class /*0200004D*/ private auto ansi sealed a1cbiss.CDAS.DataCollection.Startup
       extends [mscorlib/*23000001*/]System.Object/*01000003*/
{
  .custom /*0C000075:0A000010*/ instance void [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.CompilerServices.StandardModuleAttribute/*01000067*/::.ctor() /* 0A000010 */ = ( 01 00 00 00 ) 
  .method /*06000956*/ public static void 
          Main(string[] args) cil managed
  {
    .entrypoint
    .custom /*0C00038F:0A0002C5*/ instance void [mscorlib/*23000001*/]System.STAThreadAttribute/*0100011C*/::.ctor() /* 0A0002C5 */ = ( 01 00 00 00 ) 
    // Code size       426 (0x1aa)
    .maxstack  5
    .locals /*11000597*/ init (bool V_0,
             class [mscorlib/*23000001*/]System.Exception/*01000073*/ V_1,
             class [mscorlib/*23000001*/]System.Exception/*01000073*/ V_2,
             string[] V_3)
    IL_0000:  ldnull
    IL_0001:  ldftn      void a1cbiss.CDAS.DataCollection.Startup/*0200004D*/::HandleError(object,
                                                                                           class [System/*23000005*/]System.Threading.ThreadExceptionEventArgs/*01000053*/) /* 06000957 */
    IL_0007:  newobj     instance void [System/*23000005*/]System.Threading.ThreadExceptionEventHandler/*0100011A*/::.ctor(object,
                                                                                                                           native int) /* 0A0002B9 */
    IL_000c:  call       void [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::add_ThreadException(class [System/*23000005*/]System.Threading.ThreadExceptionEventHandler/*0100011A*/) /* 0A0002BA */
    IL_0011:  call       string [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::get_CommonAppDataPath() /* 0A0002BB */
    IL_0016:  call       string [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::get_CommonAppDataPath() /* 0A0002BB */
    IL_001b:  ldstr      "\\" /* 70000C79 */
    IL_0020:  ldc.i4.m1
    IL_0021:  ldc.i4.0
    IL_0022:  call       int32 [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.Strings/*010000C9*/::InStrRev(string,
                                                                                                                      string,
                                                                                                                      int32,
                                                                                                                      valuetype [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.CompareMethod/*0100011B*/) /* 0A0002BC */
    IL_0027:  call       string [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.Strings/*010000C9*/::Left(string,
                                                                                                                   int32) /* 0A0002BD */
    IL_002c:  stsfld     string a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::DataPath /* 04000397 */
    IL_0031:  ldsfld     string a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::DataPath /* 04000397 */
    IL_0036:  ldstr      bytearray (D3 00 00 0A 07 17 D6 13 06 0A 2B 7C 02 7B 48 0A   // ..........+|.{H.
                                    00 04 06 8C 5E 00 00 01 6F A2 00 00 0A 74 C0 00   // ....^...o....t..
                                    00 02 0C 02 6F 3B 23 00 06 06 18 D8 17 DA 8C 5E   // ....o;#........^
                                    00 00 01 6F D7 00 00 0A 02 6F 3B 23 00 06 06 18   // ...o.....o;#....
                                    D8 8C 5E 00 00 01 6F D7 00 00 0A 02 6F 5F 17 00   // ..^...o.....o_..
                                    06 6F 8D 00 00 0A 08 6F D8 00 00 0A 02 7B 48 0A   // .o.....o.....{H.
                                    00 04 06 18 D8 17 DA 8C 5E 00 00 01 6F D7 )       // ........^...o. /* 7000557C */
    IL_003b:  call       class [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/ [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/::Parse(string,
                                                                                                                                                                                                                            string) /* 0A0002BE */
    IL_0040:  stsfld     class [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::RunningCheck /* 040003A9 */
    IL_0045:  newobj     instance void a1cbiss.CDAS.DataCollection.Systems.WarningMessagesHashtableDictionary/*0200005A*/::.ctor() /* 06000C32 */
    IL_004a:  stsfld     class a1cbiss.CDAS.DataCollection.Systems.WarningMessagesHashtableDictionary/*0200005A*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::WarningMessages /* 040003AB */
    .try
    {
      IL_004f:  ldsfld     class [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::AuthorisationCodes /* 040003A8 */
      IL_0054:  ldc.i4.0
      IL_0055:  callvirt   instance bool [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/::CheckForDongle(bool) /* 0A0002BF */
      IL_005a:  stloc.0
      IL_005b:  leave.s    IL_00aa

    }  // end .try
    catch [mscorlib/*23000001*/]System.Exception/*01000073*/ 
    {
      IL_005d:  dup
      IL_005e:  call       void [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.CompilerServices.ProjectData/*01000072*/::SetProjectError(class [mscorlib/*23000001*/]System.Exception/*01000073*/) /* 0A00001C */
      IL_0063:  stloc.1
      IL_0064:  ldloc.1
      IL_0065:  call       void [a1cbiss.Common.Functions/*2300000D*/]a1cbiss.Common.Functions.EventLogs/*0100009A*/::GenerateLogMessage(class [mscorlib/*23000001*/]System.Exception/*01000073*/) /* 0A000090 */
      IL_006a:  ldnull
      IL_006b:  ldstr      bytearray (C0 00 00 02 0C 02 6F 3B 23 00 06 06 18 D8 17 DA   // ......o;#.......
                                      8C 5E 00 00 01 6F D7 00 00 0A 02 6F 3B 23 00 06   // .^...o.....o;#..
                                      06 18 D8 8C 5E 00 00 01 6F D7 00 00 0A 02 6F 5F   // ....^...o.....o_
                                      17 00 06 6F 8D 00 00 0A 08 6F D8 00 00 0A 02 7B   // ...o.....o.....{
                                      48 0A 00 04 06 18 D8 17 DA 8C 5E 00 00 01 6F D7   // H.........^...o.
                                      00 00 0A 02 7B 48 0A 00 04 06 18 D8 8C 5E 00 00   // ....{H.......^..
                                      01 6F D7 00 00 0A 06 15 D6 0A 06 11 06 3C 7C FF   // .o...........<|.
                                      FF FF 2A 00 )                                     // ..*. /* 7000559A */
      IL_0070:  ldloc.1
      IL_0071:  callvirt   instance string [mscorlib/*23000001*/]System.Exception/*01000073*/::get_Message() /* 0A00001E */
      IL_0076:  call       string [mscorlib/*23000001*/]System.String/*0100006E*/::Concat(string,
                                                                                          string) /* 0A0000AA */
      IL_007b:  ldstr      bytearray (6F 5F )                                           // o_ /* 700055C8 */
      IL_0080:  ldc.i4.0
      IL_0081:  ldc.i4.s   16
      IL_0083:  call       valuetype [System.Windows.Forms/*23000003*/]System.Windows.Forms.DialogResult/*0100007E*/ [a1cbiss.Common.Functions/*2300000D*/]a1cbiss.Common.Functions.GlobalisationLibrary.RightToLeftAwareMessageBox/*01000086*/::Show(class [System.Windows.Forms/*23000003*/]System.Windows.Forms.IWin32Window/*01000087*/,
                                                                                                                                                                                                                                                      string,
                                                                                                                                                                                                                                                      string,
                                                                                                                                                                                                                                                      valuetype [System.Windows.Forms/*23000003*/]System.Windows.Forms.MessageBoxButtons/*01000088*/,
                                                                                                                                                                                                                                                      valuetype [System.Windows.Forms/*23000003*/]System.Windows.Forms.MessageBoxIcon/*01000089*/) /* 0A000054 */
      IL_0088:  pop
      IL_0089:  ldc.i4     0x1e94e5
      IL_008e:  call       void [mscorlib/*23000001*/]System.Environment/*0100009B*/::set_ExitCode(int32) /* 0A000092 */
      IL_0093:  ldsfld     class [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::RunningCheck /* 040003A9 */
      IL_0098:  ldc.i4.0
      IL_0099:  callvirt   instance void [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/::set_RunningProperly(bool) /* 0A000093 */
      IL_009e:  call       void [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::Exit() /* 0A000094 */
      IL_00a3:  call       void [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.CompilerServices.ProjectData/*01000072*/::ClearProjectError() /* 0A000020 */
      IL_00a8:  leave.s    IL_00aa

    }  // end handler
    .try
    {
      IL_00aa:  ldloc.0
      IL_00ab:  brfalse    IL_0133

      IL_00b0:  ldsfld     class [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::AuthorisationCodes /* 040003A8 */
      IL_00b5:  callvirt   instance bool [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/::get_AllowCdasToInstruments() /* 0A0002C0 */
      IL_00ba:  ldsfld     class [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::AuthorisationCodes /* 040003A8 */
      IL_00bf:  callvirt   instance bool [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/::get_AllowCdasToNetServer() /* 0A00024D */
      IL_00c4:  or
      IL_00c5:  brfalse.s  IL_0117

      IL_00c7:  ldsfld     class [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::AuthorisationCodes /* 040003A8 */
      IL_00cc:  callvirt   instance bool [CDAS.Classes/*23000004*/]a1cbiss.CDAS.Common.Classes.Security.Dongle/*0100004E*/::get_AllowCdasToNetServer() /* 0A00024D */
      IL_00d1:  brfalse.s  IL_0108

      IL_00d3:  call       bool a1cbiss.CDAS.DataCollection.Startup/*0200004D*/::SynchroniseDataFiles() /* 06000958 */
      IL_00d8:  brfalse.s  IL_00e9

      IL_00da:  newobj     instance void a1cbiss.CDAS.DataCollection.Systems.Main/*0200004F*/::.ctor() /* 060009AF */
      IL_00df:  call       void [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::Run(class [System.Windows.Forms/*23000003*/]System.Windows.Forms.Form/*01000005*/) /* 0A0002C1 */
      IL_00e4:  leave      IL_01a9

      IL_00e9:  ldc.i4     0x1e94e5
      IL_00ee:  call       void [mscorlib/*23000001*/]System.Environment/*0100009B*/::set_ExitCode(int32) /* 0A000092 */
      IL_00f3:  ldsfld     class [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::RunningCheck /* 040003A9 */
      IL_00f8:  ldc.i4.0
      IL_00f9:  callvirt   instance void [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/::set_RunningProperly(bool) /* 0A000093 */
      IL_00fe:  call       void [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::Exit() /* 0A000094 */
      IL_0103:  leave      IL_01a9

      IL_0108:  newobj     instance void a1cbiss.CDAS.DataCollection.Systems.Main/*0200004F*/::.ctor() /* 060009AF */
      IL_010d:  call       void [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::Run(class [System.Windows.Forms/*23000003*/]System.Windows.Forms.Form/*01000005*/) /* 0A0002C1 */
      IL_0112:  leave      IL_01a9

      IL_0117:  ldc.i4     0x1e94e5
      IL_011c:  call       void [mscorlib/*23000001*/]System.Environment/*0100009B*/::set_ExitCode(int32) /* 0A000092 */
      IL_0121:  ldsfld     class [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::RunningCheck /* 040003A9 */
      IL_0126:  ldc.i4.0
      IL_0127:  callvirt   instance void [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/::set_RunningProperly(bool) /* 0A000093 */
      IL_012c:  call       void [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::Exit() /* 0A000094 */
      IL_0131:  leave.s    IL_01a9

      IL_0133:  ldc.i4     0x1e94e5
      IL_0138:  call       void [mscorlib/*23000001*/]System.Environment/*0100009B*/::set_ExitCode(int32) /* 0A000092 */
      IL_013d:  ldsfld     class [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/ a1cbiss.CDAS.DataCollection.Declarations/*0200004B*/::RunningCheck /* 040003A9 */
      IL_0142:  ldc.i4.0
      IL_0143:  callvirt   instance void [a1cbiss.Common.Controls/*23000008*/]a1cbiss.Common.Controls.Classes.StartStop/*0100004F*/::set_RunningProperly(bool) /* 0A000093 */
      IL_0148:  call       void [System.Windows.Forms/*23000003*/]System.Windows.Forms.Application/*0100009C*/::Exit() /* 0A000094 */
      IL_014d:  leave.s    IL_01a9

    }  // end .try
    catch [mscorlib/*23000001*/]System.Exception/*01000073*/ 
    {
      IL_014f:  dup
      IL_0150:  call       void [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.CompilerServices.ProjectData/*01000072*/::SetProjectError(class [mscorlib/*23000001*/]System.Exception/*01000073*/) /* 0A00001C */
      IL_0155:  stloc.2
      IL_0156:  ldnull
      IL_0157:  ldc.i4.5
      IL_0158:  newarr     [mscorlib/*23000001*/]System.String/*0100006E*/
      IL_015d:  stloc.3
      IL_015e:  ldloc.3
      IL_015f:  ldc.i4.0
      IL_0160:  ldstr      bytearray (06 18 D8 17 )  /* 700055DE */
      IL_0165:  stelem.ref
      IL_0166:  ldloc.3
      IL_0167:  ldc.i4.1
      IL_0168:  ldloc.2
      IL_0169:  callvirt   instance string [mscorlib/*23000001*/]System.Exception/*01000073*/::get_Message() /* 0A00001E */
      IL_016e:  stelem.ref
      IL_016f:  ldloc.3
      IL_0170:  ldc.i4.2
      IL_0171:  ldstr      "\r\n" /* 70000EBB */
      IL_0176:  stelem.ref
      IL_0177:  ldloc.3
      IL_0178:  ldc.i4.3
      IL_0179:  ldloc.2
      IL_017a:  callvirt   instance string [mscorlib/*23000001*/]System.Exception/*01000073*/::get_StackTrace() /* 0A0002C2 */
      IL_017f:  stelem.ref
      IL_0180:  ldloc.3
      IL_0181:  ldc.i4.4
      IL_0182:  ldstr      "\r\n" /* 70000EBB */
      IL_0187:  stelem.ref
      IL_0188:  ldloc.3
      IL_0189:  call       string [mscorlib/*23000001*/]System.String/*0100006E*/::Concat(string[]) /* 0A0000C8 */
      IL_018e:  ldstr      bytearray (6F 5F )                                           // o_ /* 700055C8 */
      IL_0193:  ldc.i4.0
      IL_0194:  ldc.i4.s   16
      IL_0196:  call       valuetype [System.Windows.Forms/*23000003*/]System.Windows.Forms.DialogResult/*0100007E*/ [a1cbiss.Common.Functions/*2300000D*/]a1cbiss.Common.Functions.GlobalisationLibrary.RightToLeftAwareMessageBox/*01000086*/::Show(class [System.Windows.Forms/*23000003*/]System.Windows.Forms.IWin32Window/*01000087*/,
                                                                                                                                                                                                                                                      string,
                                                                                                                                                                                                                                                      string,
                                                                                                                                                                                                                                                      valuetype [System.Windows.Forms/*23000003*/]System.Windows.Forms.MessageBoxButtons/*01000088*/,
                                                                                                                                                                                                                                                      valuetype [System.Windows.Forms/*23000003*/]System.Windows.Forms.MessageBoxIcon/*01000089*/) /* 0A000054 */
      IL_019b:  pop
      IL_019c:  ldloc.2
      IL_019d:  call       void [a1cbiss.Common.Functions/*2300000D*/]a1cbiss.Common.Functions.EventLogs/*0100009A*/::GenerateLogMessage(class [mscorlib/*23000001*/]System.Exception/*01000073*/) /* 0A000090 */
      IL_01a2:  call       void [Microsoft.VisualBasic/*23000002*/]Microsoft.VisualBasic.CompilerServices.ProjectData/*01000072*/::ClearProjectError() /* 0A000020 */
      IL_01a7:  leave.s    IL_01a9

    }  // end handler
    IL_01a9:  ret
  } // end of method Startup::Main

Open in new window


This indicates that the call to commonapppath is the problem. I have another program that references the same constant, and it works fine. I have reinstalled the program and this hasn't fixed the problem.
ASKER CERTIFIED SOLUTION
Avatar of ChloesDad
ChloesDad
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial