***** ASSERT ***** on T43 display during program loading

I briefly see LOADING on the display , followed by the ASSERT message. It happens before the Main() function gets started, I put a breakpoint at the beginning of Main(). I show below the visual studio output window:

Found debugger!

Create TS.

Loading start at 202d5eb8, end 2030534c

Assembly: mscorlib (4.3.1.0) Assembly: Microsoft.SPOT.Native (4.3.1.0) Assembly: Microsoft.SPOT.Security.PKCS11 (4.3
.1.0) Assembly: System.Security (4.3.1.0) Assembly: Microsoft.SPOT.Hardware (4.3.1.0)
Assembly: Microsoft.SPOT.Graphics (4.3.1.0) Assembly: Microsoft.SPOT.TinyCore (4.3.1.0)
Assembly: Microsoft.SPOT.IO (4.3.1.0) Assembly: System.IO (4.3.1.0) Assembly: Microsoft.SPOT.Hardware.Usb (4.3.1.0)
Assembly: Microsoft.SPOT.Hardware.SerialPort (4.3.1.0) Assembly: Microsoft.SPOT.Touch (4.3.1.0)
Assembly: Microsoft.SPOT.Ink (4.3.1.0) Assembly: Microsoft.SPOT.Hardware.PWM (4.3.1.0)
Loading Deployment Assemblies.

Attaching deployed file.

Assembly: Gadgeteer.WebServer (2.43.1.0) Attaching deployed file.

Assembly: DeviceHiveMF (1.2.0.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.RS232 (4.3.3.0) Attaching deployed file.

Assembly: TemperatureSensor (1.0.0.0) Attaching deployed file.

Assembly: Microsoft.SPOT.Net.Security (4.3.1.0) Attaching deployed file.

Assembly: System.Xml (4.3.1.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.KeypadKP16 (4.3.3.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.Extender (4.3.3.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.SDCard (4.3.3.0) Attaching deployed file.

Assembly: TouchScreenInterface (1.0.0.0) Attaching deployed file.

Assembly: Configuration (1.0.0.0) Attaching deployed file.

Assembly: Microsoft.SPOT.Net (4.3.1.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.EthernetENC28 (4.3.3.0) Attaching deployed file.

Assembly: Microsoft.SPOT.Update (4.3.1.0) Attaching deployed file.

Assembly: System.Net.Security (4.3.1.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.DisplayT43 (4.3.3.0) Attaching deployed file.

Assembly: Microsoft.SPOT.Hardware.OneWire (4.3.1.0) Attaching deployed file.

Assembly: GHI.Pins (4.3.3.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.RS485 (4.3.3.0) Attaching deployed file.

Assembly: ProgrammableLogicControllers (1.0.0.0) Attaching deployed file.

Assembly: GHI.Networking (4.3.3.0) Attaching deployed file.

Assembly: GHI.Usb (4.3.3.0) Attaching deployed file.

Assembly: GHIElectronics.Gadgeteer.FEZCobraIINet (4.3.3.0) Attaching deployed file.

Assembly: Keyboards (1.0.0.0) Attaching deployed file.

Assembly: RFIDReaders (1.0.0.0) Attaching deployed file.

Assembly: GHI.Hardware (4.3.3.0) Attaching deployed file.

Assembly: Gadgeteer.SPI (2.43.1.0) Attaching deployed file.

Assembly: JsonSerializer (1.0.0.0) Attaching deployed file.

Assembly: HttpClient (1.0.0.0) Attaching deployed file.

Assembly: GHI.Glide (4.3.0.0) Attaching deployed file.

Assembly: SDCardReaders (1.0.0.0) Attaching deployed file.

Assembly: Logger (1.0.0.0) Attaching deployed file.

Assembly: System.Http (4.3.1.0) Attaching deployed file.

Assembly: Gadgeteer.Serial (2.43.1.0) Attaching deployed file.

Assembly: GHIElectronics.Gadgeteer.FEZRaptor (4.3.3.0) Attaching deployed file.

Assembly: SmartTruckRaptor (1.0.30.26162) Attaching deployed file.

Assembly: CWC.SmartKiosk.WebInterface (1.0.0.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.TempHumidity (4.3.3.0) Attaching deployed file.

Assembly: KioskUtility (1.0.0.0) Attaching deployed file.

Assembly: System (4.3.1.0) Attaching deployed file.

Assembly: SocketServer (1.0.0.0) Attaching deployed file.

Assembly: System.Text.RegularExpressions (4.3.1.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.RelayX1 (4.3.3.0) Attaching deployed file.

Assembly: Gadgeteer.WebClient (2.43.1.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.USBHost (4.3.3.0) Attaching deployed file.

Assembly: GTM.GHIElectronics.USBClientDP (4.3.3.0) Attaching deployed file.

Assembly: SmartView (1.0.0.0) Attaching deployed file.

Assembly: XGadgeteer.WebServer (2.43.0.0) Attaching deployed file.

Assembly: Gadgeteer (2.43.1.0) Attaching deployed file.

Assembly: Displays (1.0.0.0) Resolving.

GC: 1msec 1211148 bytes used, 65894616 bytes available

Type 0F (STRING ): 24 bytes

Type 15 (FREEBLOCK ): 65894616 bytes

Type 17 (ASSEMBLY ): 70068 bytes

Type 1E (BINARY_BLOB_HEAD ): 1140984 bytes

Type 34 (APPDOMAIN_HEAD ): 72 bytes

GC: performing heap compaction…

The debugging target runtime is loading the application assemblies and starting execution.
Ready.

‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\mscorlib.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Native.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Hardware.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Security.PKCS11.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\System.Security.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Graphics.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.TinyCore.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.IO.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\System.IO.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Hardware.Usb.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Hardware.SerialPort.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Touch.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Ink.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Hardware.PWM.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Net.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.3\le\Gadgeteer.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\System.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.3\le\Gadgeteer.WebServer.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Net.Security.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\System.Net.Security.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\System.Http.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\Logger\bin\Debug\le\Logger.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\DeviceHive\DeviceHiveMF\bin\Debug\le\DeviceHiveMF.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.3\le\Gadgeteer.Serial.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\RS232\NETMF 4.3\le\GTM.GHIElectronics.RS232.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Discontinued Gadgeteer Products SDK\Modules\TempHumidity\NETMF 4.3\le\GTM.GHIElectronics.TempHumidity.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.3 SDK\Libraries\le\GHI.Hardware.dll’
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.3 SDK\Libraries\le\GHI.Networking.dll’
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.3 SDK\Libraries\le\GHI.Usb.dll’
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Discontinued Gadgeteer Products SDK\Mainboards\FEZCobraIINet\NETMF 4.3\le\GHIElectronics.Gadgeteer.FEZCobraIINet.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Mainboards\FEZRaptor\NETMF 4.3\le\GHIElectronics.Gadgeteer.FEZRaptor.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\Utility\bin\Debug\le\KioskUtility.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\TemperatureSensor\bin\Debug\le\TemperatureSensor.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\System.Xml.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Discontinued Gadgeteer Products SDK\Modules\KeypadKP16\NETMF 4.3\le\GTM.GHIElectronics.KeypadKP16.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\Extender\NETMF 4.3\le\GTM.GHIElectronics.Extender.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\SDCard\NETMF 4.3\le\GTM.GHIElectronics.SDCard.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.3 SDK\Libraries\le\GHI.Glide.dll’
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\WebInterface\bin\Debug\le..\XGadgeteer.WebServer.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\Configuration\bin\Debug\le\Configuration.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\System.Text.RegularExpressions.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\WebInterface\bin\Debug\le\CWC.SmartKiosk.WebInterface.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\Keyboards\bin\Debug\le\Keyboards.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\DisplayT43\NETMF 4.3\le\GTM.GHIElectronics.DisplayT43.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\Displays\bin\Debug\le\Displays.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\SDCardReader\bin\Debug\le\SDCardReaders.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\TouchScreenInterface\bin\Debug\le\TouchScreenInterface.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.3\le\Gadgeteer.SPI.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\EthernetENC28\NETMF 4.3\le\GTM.GHIElectronics.EthernetENC28.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Update.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.3\Assemblies\le\Microsoft.SPOT.Hardware.OneWire.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI NETMF v4.3 SDK\Libraries\le\GHI.Pins.dll’
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\RS485\NETMF 4.3\le\GTM.GHIElectronics.RS485.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\ProgrammableLogicControllers\bin\Debug\le\ProgrammableLogicControllers.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\RFIDReaders\bin\Debug\le\RFIDReaders.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\DeviceHive\HttpClient\bin\Debug\le..\JsonSerializer.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\DeviceHive\HttpClient\bin\Debug\le\HttpClient.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\SmartView\bin\Debug\le\SmartView.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\SocketServer\bin\Debug\le\SocketServer.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\USBHost\NETMF 4.3\le\GTM.GHIElectronics.USBHost.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\USBClientDP\NETMF 4.3\le\GTM.GHIElectronics.USBClientDP.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\GHI Electronics\GHI .NET Gadgeteer SDK\Modules\RelayX1\NETMF 4.3\le\GTM.GHIElectronics.RelayX1.dll’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\CwcProjects\SmartTruck_tools\SmartTruckRaptor\bin\Debug\le\SmartTruckRaptor.exe’, Symbols loaded.
‘Microsoft.SPOT.Debugger.CorDebug.dll’ (Managed): Loaded ‘C:\Program Files (x86)\Microsoft .NET Gadgeteer\Core\Assemblies.NET Micro Framework 4.3\le\Gadgeteer.WebClient.dll’, Symbols loaded.
The thread ‘’ (0x2) has exited with code 0 (0x0).

Here are the modules I am using, from the Program.generated.cs:


        private void InitializeModules() {
            this.tempHumidity = new GTM.GHIElectronics.TempHumidity(2);
            this.ethernetENC28 = new GTM.GHIElectronics.EthernetENC28(3);
            this.extender = new GTM.GHIElectronics.Extender(5);
            this.usbHost = new GTM.GHIElectronics.USBHost(7);   //Lockup Testing
            this.usbClientDP = new GTM.GHIElectronics.USBClientDP(8);
            this.sdCard = new GTM.GHIElectronics.SDCard(9);
            this.rs485 = new GTM.GHIElectronics.RS485(11);
            this.relayX1 = new GTM.GHIElectronics.RelayX1(13);
            this.displayT43 = new GTM.GHIElectronics.DisplayT43(15, 16, 17, 14);   //Lockup Testing
            this.keypadKP16 = new GTM.GHIElectronics.KeypadKP16(18);
            this.rs232 = new GTM.GHIElectronics.RS232(12);
            this.rs2322 = new GTM.GHIElectronics.RS232(1);
            this.rs2323 = new GTM.GHIElectronics.RS232(10);
            this.rs2324 = new GTM.GHIElectronics.RS232(4);
        }


@ dspacek - The best way to narrow this down is to remove parts of the program until the problem disappears. Then slowly add even less back to see when it reappears.

Let me explain further. This should not happen and when it dies we need to know how through a test program so we can trace and fix.

Thanks, I will try, it is a difficult job because of many interdependent references. I did make a new project with the Gadgeteer designer that includes all of the same Gadgeteer modules, but that loads ok without ASSERT, but It does not load any of my DLLs.

P.S. The program does not stop or die while starting up, it continues on, but it locks up after a few hours.

For your reference, I was seeing ASSERT on the LCD in my app recently and it was due to a null reference on an un-initialised string array.

Check your code for any use of null variables as a start.

I saw this error when using UART. It turned out that on accasion the frame synchronization was lost and was injecting non-UTF-8 characters into UTF8Encoding.UTF8.GetChars(b). I worked around it by implementing my own conversion routine that would also clear the buffer if any bytes with a value greater than 127 were detected.

I don’t know exactly how the serial port works in Gadgeteer, but if you can try turning it off and seeing what happens.

I made the ASSERT message go away by removing the Gadgeteer USB module from the Gadgeteer Designer in Visual Studio.

I noticed that the ASSERT message did not completely go away, it appears for about 50 milliseconds, followed by the word “LOADING” in the middle of the screen. The sequence is: the assert message is seen, then “LOADING”, then execution stops at a breakpoint I put in the first line of Main().

Is this something to be concerned about?


      public static void Main() {
            // Important to initialize the Mainboard first
B.P. here ->   Program.Mainboard = new GHIElectronics.Gadgeteer.FEZRaptor();
            Program p = new Program();
            p.InitializeModules();
            p.ProgramStarted();
            // Starts Dispatcher
            p.Run();
        }

@ dspacek - The assert should not be displayed during the normal execution of your program. When you see it, it means something has gone wrong. I would continue removing parts of your program until it truly disappears to help narrow it down. It may be easiest to start with not drawing to the screen so you don’t accidently overwrite any assert messages.

Where does ASSERT come from? Could there be a more helpful error message, giving some hint as to what the problem is? All I get is the word ASSERT.

@ dspacek - Asserts essentially occur when an error occurs in the firmware for one reason or another. There can be some debug printed out as well that shows the location in the firmware that the error occurred at.

I put a breakpoint at the first line in Main() and the ASSERT is on the screen. What would cause this?


 public static void Main() {
            // Important to initialize the Mainboard first
>>>      Program.Mainboard = new GHIElectronics.Gadgeteer.FEZRaptor();
            Program p = new Program();
            p.InitializeModules();
            p.ProgramStarted();
            // Starts Dispatcher
            p.Run();
        }

@ dspacek - Any number of things could cause it. There are numerous static constructors that run before main is called.

I made a do-nothing project to demonstrate the ASSERT problem
When I include Microsoft.SPOT.Update with my project references, I get the ASSERT.When I remove Microsoft.SPOT.Update, no more ASSERT.


//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18444
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace SmartTruckRaptor {
    using Gadgeteer;
    using GTM = Gadgeteer.Modules;
    
    
    public partial class Program : Gadgeteer.Program {
        
        /// <summary>The RS232 module using socket 12 of the mainboard.</summary>
        private Gadgeteer.Modules.GHIElectronics.RS232 rs232;
        
        /// <summary>This property provides access to the Mainboard API. This is normally not necessary for an end user program.</summary>
        protected new static GHIElectronics.Gadgeteer.FEZRaptor Mainboard {
            get {
                return ((GHIElectronics.Gadgeteer.FEZRaptor)(Gadgeteer.Program.Mainboard));
            }
            set {
                Gadgeteer.Program.Mainboard = value;
            }
        }
        
        /// <summary>This method runs automatically when the device is powered, and calls ProgramStarted.</summary>
        public static void Main() {
            // Important to initialize the Mainboard first
            Program.Mainboard = new GHIElectronics.Gadgeteer.FEZRaptor();
            Program p = new Program();
            p.InitializeModules();
            p.ProgramStarted();
            // Starts Dispatcher
            p.Run();
        }
        
        private void InitializeModules() {
            this.rs232 = new GTM.GHIElectronics.RS232(12);
        }
    }
}


using System;
using System.Collections;
using System.Threading;
using System.IO;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using Microsoft.SPOT.Presentation;
using Microsoft.SPOT.Presentation.Media;
using Microsoft.SPOT.Touch;
using Gadgeteer.Modules.GHIElectronics;

namespace SmartTruckRaptor
{

    public partial class Program
    {

        /// <summary>
        ///This method is run when the mainboard is powered up or reset.    
        /// </summary>
        void ProgramStarted()
        {
            /*******************************************************************************************
            Modules added in the Program.gadgeteer designer view are used by typing 
            their name followed by a period, e.g.  button.  or  camera.
            
            Many modules generate useful events. Type +=<tab><tab> to add a handler to an event, e.g.:
                button.ButtonPressed +=<tab><tab>
            
            If you want to do something periodically, use a GT.Timer and handle its Tick event, e.g.:
                GT.Timer timer = new GT.Timer(1000); // every second (1000ms)
                timer.Tick +=<tab><tab>
                timer.Start();
            *******************************************************************************************/

            // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging.

        }


    }
}


<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProjectGuid>{696AA7ED-978D-464E-81F6-0D37B3650402}</ProjectGuid>
    <!--This is an executable-->
    <OutputType>Exe</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>SmartTruckRaptor</RootNamespace>
    <AssemblyName>SmartTruckRaptor</AssemblyName>
    <TargetFrameworkVersion>v4.3</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <!--Identify this as a MicroFramework, CSharp project-->
    <ProjectTypeGuids>{b69e3092-b931-443c-abe7-7e7b65f2a37f};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
    <!--This entry seems to be specific to NET MF projects-->
    <NetMfTargetsBaseDir Condition="'$(NetMfTargetsBaseDir)'==''">$(MSBuildExtensionsPath32)\Microsoft\.NET Micro Framework\</NetMfTargetsBaseDir>
    <!-- Default transport and device-->
    <DeployDevice>Gadgeteer</DeployDevice>
    <DeployTransport>USB</DeployTransport>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup>
    <StartupObject>SmartTruckRaptor.Program</StartupObject>
  </PropertyGroup>
  <!-- Everything below here is custom to .NET MF / Gadgeteer template-->
  <Import Project="$(NetMfTargetsBaseDir)$(TargetFrameworkVersion)\CSharp.Targets" />
  <ItemGroup>
    <Compile Include="Program.cs" />
    <Compile Include="Program.generated.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Program.gadgeteer</DependentUpon>
    </Compile>
    <Compile Include="Properties\AssemblyInfo.cs" />
    <Compile Include="Resources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <Reference Include="Gadgeteer, Version=2.43.1.0, Culture=neutral, processorArchitecture=MSIL" />
    <Reference Include="Gadgeteer.Serial, Version=2.43.1.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
    </Reference>
    <Reference Include="GHI.Glide, Version=4.3.0.0, Culture=neutral, processorArchitecture=MSIL" />
    <Reference Include="GHIElectronics.Gadgeteer.FEZRaptor, Version=4.3.3.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
    </Reference>
    <Reference Include="GTM.GHIElectronics.RS232, Version=4.3.3.0, Culture=neutral, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
    </Reference>
    <Reference Include="Microsoft.SPOT.Graphics" />
    <Reference Include="Microsoft.SPOT.Hardware" />
    <Reference Include="Microsoft.SPOT.Hardware.OneWire" />
    <Reference Include="Microsoft.SPOT.Native" />
    <Reference Include="Microsoft.SPOT.Update" />
    <Reference Include="mscorlib" />
    <Reference Include="System.Http" />
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="Resources.resx">
      <SubType>Designer</SubType>
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <None Include="Program.gadgeteer">
      <Generator>GadgeteerFileCodeGenerator</Generator>
      <LastGenOutput>Program.generated.cs</LastGenOutput>
    </None>
    <None Include="Program.gadgeteer.diagram">
      <DependentUpon>Program.gadgeteer</DependentUpon>
    </None>
    <None Include="Resources\NinaB.tinyfnt" />
    <None Include="Resources\small.tinyfnt" />
  </ItemGroup>
  <ItemGroup />
</Project>

@ dspacek - What functionality are you using in Microsoft.SPOT.Update? We do not currently support MFUpdate on our devices.

I was planning on adding functions to update the firmware over the internet. I was not aware that I cannot do that.

@ dspacek - it is supported using the GHI method.https://www.ghielectronics.com/docs/147/in-field-update