ABORT Data error?

Hi Gus,
I have a project using only the display and the ethernetJD11 that reliably crashes after some time.
The problem seems to be the posting of binary data.
Could I send you the project for review?

Thanks Felix

my email is gusi@ ghiele…

Hi Gus

FEZ Spider
T35
blank project with timer 1 second flashing the on board led
after some time.
Running on the wall wart for power. Does the same thing on a powered usb hub.
It is repeatiable.
SDK 4.2

MFDeploy Output


Pinging… Timer
TinyCLR
DeviceInfo:
HAL build info: 4.2.0.0, Microsoft Copyright (C) Microsoft Corporation. All rig
OEM Product codes (vendor, model, SKU): 255, 0, 65535
Serial Numbers (module, system):
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
Solution Build Info: 4.2.9.0, Copyright (C) GHI Electronics, LLC
AppDomains:
default, id=1
Assemblies:
mscorlib,4.2.0.0
Microsoft.SPOT.Native,4.2.0.0
Microsoft.SPOT.Security.PKCS11,4.2.0.0
System.Security,4.2.0.0
Microsoft.SPOT.IO,4.2.0.0
Microsoft.SPOT.Hardware.SerialPort,4.2.0.0
Gadgeteer,2.42.0.0
Microsoft.SPOT.Graphics,4.2.0.0
Microsoft.SPOT.Hardware,4.2.0.0
Microsoft.SPOT.Net.Security,4.2.0.0
Microsoft.SPOT.Touch,4.2.0.0
System.Http,4.2.0.0
GTM.GHIElectronics.UsbClientDP,1.1.1.0
GadgeteerApp2,1.0.0.0
System.Net.Security,4.2.0.0
Microsoft.SPOT.TinyCore,4.2.0.0
System.IO,4.2.0.0
GHI.Premium.System,4.2.9.0
System,4.2.0.0
GHI.Premium.IO,4.2.9.0
Microsoft.SPOT.Net,4.2.0.0
GHI.Premium.Hardware,4.2.9.0
Microsoft.SPOT.Hardware.PWM,4.2.0.1
GHIElectronics.Gadgeteer.FEZSpider,1.1.1.0


ABORT Prefetch

Build Date:
Feb 13 2013
13:29:40

cps=0x00000d3
pc =0xfeb7c044
lr =0xa0020ec4
sp =0x40004094

Just to be sure, please reload your firmware on your device and try again.

Welcome to the community.

I did that already. But I will do it again.

Ok, reloaded the firmware and still have the same thing.
Any ideas?

Welcome to the forum!

You could post your code (be sure to use the code tags, but using the orange 101010 button when posting)

@ mhectorgato -


using Microsoft.SPOT;

using GT = Gadgeteer;

namespace GadgeteerApp3
{
    public partial class Program
    {
        // This method is run when the mainboard is powered up or reset.   
        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.
            Debug.Print("Program Started");
            GT.Timer timer = new GT.Timer(1000); // every second (1000ms)
            timer.Tick += new GT.Timer.TickEventHandler(timer_Tick);
            timer.Start();
        }
        bool Debug_Led_ON = false;
        int count = 0;
        void timer_Tick(GT.Timer timer)
        {
            Debug_Led_ON = !Debug_Led_ON;
            Mainboard.SetDebugLED(Debug_Led_ON);

        }
    }
}

@ Cowboy - I, hardly a definitive source, don’t see anything in the code that might cause the issue.

I was guessing perhaps memory usage, but you’re not doing anything that I see that would exhaust it.

Try making the GT.Timer object a class member.

That shouldn’t matter. The object shouldn’t be disposed while in use. But I don’t use timers often, I prefer to stick with threads.

The code is solid so at a guess I would say it is GT.Timer related. First try Mike’s suggestion. If that fails throw it into a thread with a sleep statement instead of a timer and see if that fixes it. If it does, we know where the error lies.

If that makes a difference … then MS needs to update their default comments:


/*
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();
 *******************************************************************************************/

Making the GT.Timer object a class member makes sense but didn’t fix the problem.
I will try using a thread with a sleep.

@ Gus -

Well I still have the issue after reloading the firmware and making the timer a class member and I just tried using a thread with a sleep.

I’m begining to think maybe I have a hardware issue.

any ideas?

using Microsoft.SPOT;
using System.Threading;

namespace GadgeteerApp3
{
    public partial class Program
    {
        // This method is run when the mainboard is powered up or reset.   
        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.
            Debug.Print("Program Started");
            th = new Thread(timer_th);
            th.Start();
        }
        Thread th;
        bool Debug_Led_ON = false;
        int count;
        void timer_th()
        {
            while (true)
            {
                Debug_Led_ON = !Debug_Led_ON;
                Mainboard.SetDebugLED(Debug_Led_ON);
                Debug.Print(count.ToString() + " Timer Thread");
                count++;
                Thread.Sleep(1000);
            }
        }
    }
}

@ Gus - I just ordered another Spider to see if it works any better.

This is very strange, defiantly let us know how it goes with the new spider.

@ Gus - Well, I got the new Spider about an hour ago and it has been running every sense. The old one would only run about ten min at most. I will let it run over night to make sure but I’m positive the other one has a hardware issue.
Thank everyone for the help.

Please shoot me an email. Well take care of this for you