A Dreaded Intermittent Crash

Discussion forum for the new Picoscope Linux software
Post Reply
omegait
Newbie
Posts: 0
Joined: Tue Jul 15, 2014 7:59 pm

A Dreaded Intermittent Crash

Post by omegait » Tue Jul 15, 2014 9:38 pm

"Dreaded" because it's almost always HARD to debug an intermittent crash!

Here's my observations and specs:
I'm running Lubuntu 14.04 64bit (with lots of fluff removed to create a netbootable image, long story) on an AMD E-350 Processor and PicoScope 2.9.2.16 from the repository. Other than occasional, and very annoying, GUI hangs, the application runs fairly well. However, it will occasionally lock up. The first time this happened Mono reported an error I failed to write down - something about a SIGABRT.

My second run from commandline resulted in the following:

Code: Select all

...Lots of the glib error...
(PicoScope.GTK:10613): GLib-CRITICAL **: Source ID 1306987 was not found when attempting to remove it
*** Error in `/usr/bin/mono': corrupted double-linked list: 0x00007f97dc0858d0 ***
Stacktrace:
  at  <0xffffffff>
I know the glib error is a "known bug", but it is interesting that from the above error and from a quick google of the possible meanings of an error about SIGABRT, it seems that there's a problem either in Mono, the library, or in the GUI code itself with how memory is being handled.

It may be just a bad observation, but it seems like if I leave the window in the foreground it stays stable, but it crashes some time after switching desktops or foregrounding (focusing) another window. Or the memory corruption is just a little chaotic about when it decides to make a hash of in-use memory! :P

Willing to run test executables or libraries!

Running with --trace=program, will report the results when it crashes again.

greg
PICO STAFF
PICO STAFF
Posts: 23
Joined: Mon Dec 16, 2013 9:09 am

Re: A Dreaded Intermittent Crash

Post by greg » Thu Jul 17, 2014 4:22 pm

hi omegait,

Thanks for reporting this. Which device are you using?

We can also look at the trace.xml file (that is overwritten each time the program is started), which can be found in ~/.local/share/Pico Technology/260a68f1-30f-0a5e01d65514

omegait
Newbie
Posts: 0
Joined: Tue Jul 15, 2014 7:59 pm

Re: A Dreaded Intermittent Crash

Post by omegait » Thu Jul 17, 2014 9:55 pm

Knew I was missing something! :D The 2204A.

I was able to wait out a crash with the -trace option set, but it took so long to happen that I wound up with a 2GB log file! Not seeing anything major, but here's the last few lines, which may be irrelevant if the app is multithreaded:

Code: Select all

[0x7f5cdbee87c0: 6982.25861 4] ENTER: ah:System.ComponentModel.ISynchronizeInvoke.get_InvokeRequired ()(this:0x7f5cda008f80[.ah PicoScope.GTK.exe], )
[0x7f5cdbee87c0: 6982.25863 5] ENTER: ah:a ()(this:0x7f5cda008f80[.ah PicoScope.GTK.exe], )
[0x7f5cdbee87c0: 6982.25865 5] LEAVE: ah:a ()FALSE
[0x7f5cdbee87c0: 6982.25866 4] LEAVE: ah:System.ComponentModel.ISynchronizeInvoke.get_InvokeRequired ()FALSE
[0x7f5cdbee87c0: 6982.25868 4] ENTER: W:get_Visible ()(this:0x7f5cc64623f0[.W PicoScope.GTK.exe], )
[0x7f5cdbee87c0: 6982.25870 4] LEAVE: W:get_Visible ()TRUE:1
[0x7f5cdbee87c0: 6982.25946 4] ENTER: W:get_Visible ()(this:0x7f5cc6461000[.W PicoScope.GTK.exe], )
[0x7f5cdbee87c0: 6982.25949 4] LEAVE: W:get_Visible ()TRUE:1
[0x7f5cdbee87c0: 6982.25957 4] ENTER: ai:a (object)(this:0x7f5cda3e3d30[.ai PicoScope.GTK.exe], (nil), )
[0x7f5cdbee87c0: 6982.25960 4] LEAVE: ai:a (object)
[0x7f5cdbee87c0: 6982.25965 3] LEAVE: ai:a ()
[0x7f5cdbee87c0: 6982.25966 3] ENTER: ai:a ()(this:0x7f5cda3f0698[.ai PicoScope.GTK.exe], )
[0x7f5cdbee87c0: 6982.25970 4] ENTER: ah:System.ComponentModel.ISynchronizeInvoke.get_InvokeRequired ()(this:0x7f5cda008f80[.ah PicoScope.GTK.exe], )
[0x7f5cdbee87c0: 6982.25972 5] ENTER: ah:a ()(this:0x7f5cda008f80[.ah PicoScope.GTK.exe], )
[0x7f5cdbee87c0: 6982.25973 5] LEAVE: ah:a ()FALSE
[0x7f5cdbee87c0: 6982.25974 4] LEAVE: ah:System.ComponentModel.ISynchronizeInvoke.get_InvokeRequired ()FALSE
[0x7f5cdbee87c0: 6982.25980 4] ENTER: aD:SetPost (string)(this:0x7f5cd8f96520[.aD PicoScope.GTK.exe], [STRING:0x7f5cda3fee00:of 32], )
[0x7f5cdbee87c0: 6982.25982 4] LEAVE: aD:SetPost (string)
[0x7f5cdbee87c0: 6982.25983 4] ENTER: aD:SetMaximum (int)(this:0x7f5cd8f96520[.aD PicoScope.GTK.exe], 32, )
[0x7f5cdbee87c0: 6982.25984 4] LEAVE: aD:SetMaximum (int)
[0x7f5cdbee87c0: 6982.25986 4] ENTER: aD:a (object,System.ComponentModel.PropertyChangedEventArgs)(this:0x7f5cd8f96520[.aD PicoScope.GTK.exe], [.mD:0x7f5c9f45a6c8], [System.ComponentModel.PropertyChangedEventArgs:0x7f5cda3fee28], )
At my next lockup I'll get you the trace.xml.

omegait
Newbie
Posts: 0
Joined: Tue Jul 15, 2014 7:59 pm

Re: A Dreaded Intermittent Crash

Post by omegait » Thu Jul 17, 2014 10:04 pm

And this time the crash was pretty fast - it happened while I was writing that last post! :P

Code: Select all


    Trace opened 7/17/2014.
    Running on Mono - True
    Mono Display Name - 3.2.8 (Debian 3.2.8+dfsg-4ubuntu1)
    Host Operating System - Linux
    64Bit Operating System - True
    64Bit Process - True
    Logical Processors - 2
    Application 'PicoScope 6 Beta' (version 6.9.2.16) starting.
    58BEB47B27EFF6529353B91E51BF7C2A
    User is not Guest
    No Administrator Privileges
    Failed to detect access rights
    OS Version - Unix 3.13.0.24
    .net Version - 4.0.30319.17020
    Current Directory - /opt/picoscope/lib
    Command Line - /opt/picoscope/lib/PicoScope.GTK.exe
    Settings file version - 11.2.0
    Preferences file version - 2.0.0
    Probes file version - 1.0.0
    Data file binary header version - 1
    Using default culture: English (United States).
    Begin
    Begin
    Complete
    Attempting to load ps6000.dll
    Finished loading ps6000.dll
    Opening device using DLL ps6000.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps6000.dll
    Finished loading ps6000.dll
    Opening device using DLL ps6000.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps5000a.dll
    Finished loading ps5000a.dll
    Opening device using DLL ps5000a.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps5000.dll
    Finished loading ps5000.dll
    Opening device using DLL ps5000.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps4000a.dll
    Finished loading ps4000a.dll
    Opening device using DLL ps4000a.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps4000.dll
    Finished loading ps4000.dll
    Opening device using DLL ps4000.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps3000a.dll
    Finished loading ps3000a.dll
    Opening device using DLL ps3000a.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps3000a.dll
    Finished loading ps3000a.dll
    Opening device using DLL ps3000a.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps3000.dll
    Finished loading ps3000.dll
    Opening device using DLL ps3000.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps2000a.dll
    Finished loading ps2000a.dll
    Opening device using DLL ps2000a.dll
    Opening PS2000a.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load ps2000.dll
    Finished loading ps2000.dll
    Opening device using DLL ps2000.dll
    Opening device successful. Error NoError.
    Device opened CX365/360: PS2000 PS2204A PS2000
    Attempting to load ps2000.dll
    Finished loading ps2000.dll
    Opening device using DLL ps2000.dll
    Opening device unsuccessful. Error UnitNotFound
    Attempting to load USBDrDAQ.dll
    USBDrDAQ.dll System.DllNotFoundException: USBDrDAQ.dll
  at (wrapper managed-to-native) cs/a:a (int16,int16)
  at cs.LoadDll () [0x00000] in :0 
  at u.DoIsDllAvaialable () [0x00000] in :0 
    Finished loading USBDrDAQ.dll
    No of Devices Found: 1
    Device selected: PS2204A, CX365/360
    Driver: ps2000.dll Version: PS2000 Linux Driver, 2.1.1.2
    Kernel driver: picopp.sys Version: 0.0
    Complete
    Creating window Blackman.32768
    AllowProtocolDecoderImport=false
    Trigger set to : NonAdvancedEdge
    Source/Channel Index Changed to 0
    Trigger Direction set to Rising
    Trigger set to : NonAdvancedEdge
    Trigger set to : NonAdvancedEdge
    Using Embedded Resource: Pico.Automotive.Waveforms.VehicleDetails.VehicleDatabase.xml Custom Data Path: /home/ricky/.local/share/Pico Technology/CustomVehicles.xml Downloaded Data Path: /home/ricky/.local/share/Pico Technology/DownloadedVehicleMake.xml
    Probe light manager changed light state to True
    Trigger set to : NonAdvancedEdge
    Trigger set to : NonAdvancedEdge
    Trigger set to : NonAdvancedEdge
    The application was unexpectedly closed.
Looks like the trace log doesn't have much to say. Has an error with the USBDrDAQ, but that didn't seem to be critical. Just a little over a minute after my last interaction, the application was gone.

greg
PICO STAFF
PICO STAFF
Posts: 23
Joined: Mon Dec 16, 2013 9:09 am

Re: A Dreaded Intermittent Crash

Post by greg » Wed Jul 23, 2014 3:38 pm

thanks for that, it would also be useful to look at a .psdata or .pssettings file with the configuration you are running.

Post Reply