LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

digital graph causes exception in 8.5

Wanted to port some of my older LV panels to 8.5.  I noticed that LabView would generate the following message when attempting to load one of my panels:


"Unhandled exception at 0x007513e0 in LabVIEW.exe: 0xC0000005: Access violation reading location 0x00000000"

 

The following is a snippit of code from the debugger:


007513B0  aaa
007513B1  adc         esi,dword ptr [ebp]
007513B4  bound       edx,qword ptr [ebx]
007513B6  jne         007513B8
007513B8  jnp         007513CD
007513BA  jne         007513BC
007513BC  xchg        eax,esp
007513BD  adc         esi,dword ptr [ebp]
007513C0  xor         ecx,ecx
007513C2  xor         eax,eax
007513C4  test        edx,edx
007513C6  je          00751461
007513CC  mov         eax,dword ptr [edx+4]
007513CF  test        eax,eax
007513D1  push        esi
007513D2  mov         esi,dword ptr [edx]
007513D4  jle         0075145B
007513DA  mov         edx,dword ptr [edx+8]
007513DD  push        edi
007513DE  mov         edi,eax
007513E0  mov         al,byte ptr [esi]    <<<<************************************************ Dies here
007513E2  cmp         al,2
007513E4  jne         007513EB
007513E6  or          ecx,4
007513E9  jmp         00751412
007513EB  cmp         al,5
 

Panels like this one are mid sized, containing 10 - 20 sub VIs.  I stripped the panel down to try and find what exactly was causing LV 8.5 to crash.  It turns out to be the digital graph.    I have attached a very simple panel that just contains the digital graph with nothing wired to it.  If you try to run this in 8.5 I am guessing it will cause the problem.  I tried it on a few PCs and get the same results.

 

 

Message 1 of 11
(4,467 Views)

lecroy,

 

I was able to reproduce this behavior.  I believe the cause of it is the Single-plot cursor(s).  If you open this VI up and get rid of the cursors and save it, it should then be able to be opened in 8.5.

 

If you are able to do this, would you then also try recreating the Single-plot cursors in 8.5, when you do this, does the bug still happen?

 

I was able to reproduce this behavior in LabVIEW 8.0, 8.2, 8.5, and 8.6.

 

Do you know which version of LabVIEW this VI (or at least the indicator) originated from?

Regards,

Jared Boothe
Staff Hardware Engineer
National Instruments
0 Kudos
Message 2 of 11
(4,447 Views)

If I remove the cursors it still crashes 8.5.

 

If I recreate the plot in 8.5 with or without cursors it does not crash. 

 

I would have started using the digital graphs whenever NI came out with them.  I don't think version 4 had it.  Maybe version 5 or 5.1?   I would have started with NI's example and gone from there.  I am guessing that if you load the version 5 example, it will cause the exception.  

 

At least you have a file that you can give to the developers that will replicate the problem.  I could understand the tool popping up a message about some feature not being supported during a port, but when it fails with an exception, it makes porting difficult. 

 

 

0 Kudos
Message 3 of 11
(4,412 Views)

Looking at my disks, version 6 appears to have been the first release to support digital graphs.  I remember using as soon as it was available.  

 

I tried several tests to see if I could further narrow down the problem for NI.

 

I am able to load the raw version 6.0 examples directly into 8.5.  

 

1) I saved version 6.0 example  "Simple Digital Waveform Graph" (SDWG) into a seperate VI.   It loads in both 6.1 and 8.5 with no exception.

 

2) Loaded main.vi example and copied it into the SDWG using 6.1.   Causes exception in 8.5

 

3) Connect the two graphs together in example so digital data is shown on both graphs, then saved the values as defaults.  This version loads in 8.5 with no exception.

 

4) Start with main.vi, clear all the waveform data and save as defaults.  Causes exception in 8.5

 

So, problem appears to have nothing to do with the cursors but does appear to be something with the data that had been stored into this graph when the defaults were saved.   It is really strange that clearing the data does not solve the problem.  Maybe this is a bigger problem than I originally thought.   

Message Edited by lecroy on 10-09-2008 01:07 PM
0 Kudos
Message 4 of 11
(4,405 Views)

LOL, just got some sort of unhandled problem from your website when trying to edit my last post.  

 

Ok, one last test that really sheds some light on it.  If I start with the SDWG and copy the main.vi graph onto the pannel as in step 2 above.  Next, wire the two graphs as in step 3.  Don't run the panel.  Just save it.  This will load in 8.5 with no exception. 

 

Somehow just wiring the two together solves it.   

 

Not sure what else I can do on my end to help NI solve it.   Good luck.

 

 

 

0 Kudos
Message 5 of 11
(4,401 Views)

One last test.  Run same test as above, connecting the two graphs (note, this is when Labview see a change in the panel) and then erase the connection.  Then save the file.    This allows the panel to be loaded into 8.5 with no exceptions.

 

So just making the connection seems to pass somthing down to the graph that solves the problem. 

 

With all the 8.5 exceptions being created, I seemed to have caused another problem.  See the attached screen print of the 8.5 error.  Never seen this one before.  No idea what it means.  Forcing 8.5 to close in task manager and restarting did not clear it.  Had to reboot the PC to get 8.5 to work again.    I doubt the two are releated, but it may be another clue...

 

 

0 Kudos
Message 6 of 11
(4,395 Views)

lecroy,

 

Thank you for the extensive information!  I will try to process all of this and come up with a straightforward method of doing this.  I think I may end up needing to install LabVIEW 6 to do this and see if the behavior happens in 8.6 as well or if it is an issue anymore in the latest version.

 

Have a great weekend!

Regards,

Jared Boothe
Staff Hardware Engineer
National Instruments
0 Kudos
Message 7 of 11
(4,378 Views)

I passed the main.vi I posted to the group.  All of the people using the latest version of LabView stated that it causes an exception.   That was 5 different users, PCs and licenses.  So, I am just guessing that your latest version has the same problem.

 

 

Message Edited by lecroy on 10-15-2008 02:04 PM
0 Kudos
Message 8 of 11
(4,316 Views)

lecroy,

 

Yes, the main.vi that is attached above causes the issue.  What I meant was that I will try the process you described in post 4 with LabVIEW 6 and LabVIEW 8.6, rather than 6 and 8.5 just to check.  I'm assuming the results will be the same, but I just want to be sure.

Regards,

Jared Boothe
Staff Hardware Engineer
National Instruments
0 Kudos
Message 9 of 11
(4,303 Views)

I just ran the entire test with 8.6 and it repeats.    If there is anything else you would like to try before you pass this onto the developers, feel free to let me know. 

 

 

0 Kudos
Message 10 of 11
(4,278 Views)