Jump to content

TS custom user interface makes LV randomly crash


Recommended Posts

Hi all !

Currently building a TS custom interface for one of my customer, I decided (this time) to manage user rights directly using TS user manager.

Since I applied this solution, LV randomly crashes (or not crash) without giving any message that could help on resolving the issue.

This is not the first time I create TS custom interfaces, but this time there are few new things compared to other HMI I built :

  • newer LV | TS versions than usually (LV 2011 SP1.f2 and TS 2010 SP1.f1)
  • user rights are managed using TS user manager

For my user manager, I used a functional global to retain the TS engine reference and share through all functions I made to deal with user (I've built a library in order to reuse these functions later). Maybe this is not allowed... what do you think about it ?

Link to comment

Hi Crelf,

I can post my code (somehow ugly because of a lack of time and idrectly using the TS API exemple given with LV...). However, I already tried to trim it down... and it seems to crash just after callbacks are registered. So if the issue comes from a callback code, I'm stuck... Else, it would come from the functions made to deal with users and rights.

I tried to debug it using DETT, but every time I launch it LV crashes and nothing appears in DETT (it seems like DETT just stop logging...).


I just didn't get it when you talked about the object leak dialog. It is turned on on my computer.

Of course when LV crashes, the debug window doesn't show up.

But when my interface runs well, this dialog window doesn't show up either ! I assume that there is no memory leak...

Most of the time, when LV crashes, NIERR window indicates it's an acces violation which made it crash. Sometimes, I see a 'pure virtual function call' Visual C++ error window poping-up...

Don't know if that help a lot...

Edited by Zyl
Link to comment

I can post my code (somehow ugly because of a lack of time and idrectly using the TS API exemple given with LV...). However, I already tried to trim it down... and it seems to crash just after callbacks are registered. So if the issue comes from a callback code, I'm stuck... Else, it would come from the functions made to deal with users and rights.

Sounds like you have a starting place. Start dropping callbacks that you're registering for one-by-one until the crash goes away. Depending on what you're registering for, maybe you want to drop breakpoints right at the front of the callback VIs and make sure they're not responsible somehow for the crash.

Link to comment

Hi !

In fact the code is a bit big to be posted here, and as I'm continuing to develop this software program it's getting bigger everyday. So I guess I won't post it.

Just to let you know, the problem really looks like this post I found on NI forums : http://forums.ni.com/t5/NI-TestStand/LabVIEW-Access-Violation-Crashes-from-TestStand/td-p/2004661. Except that I don't communicate with devices for the moment and the situation is reversed (I call TS in a LV app ; they call LV modules in TS).

NI France was working on my issue, reproduced the bug, but couldn' explain it. So they transfered to NI US support. They, again, reproduced the bug... but it seems that they could'nt find where it comes from. They are still searching... So as soon as I have a decent answer from them I'll let you know...

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Guru Prasath
      Hello Everyone;
      How I plot the timestamp in the graph of the x-axis and numerical slider the timestamp given in 2d array.

      The array in 2d array of string...

      I will try this but it not plotting full timestamp can you help me to short of this problem.

      It will be a plot, but a few timestamps will plotting 
      How I plot full timestamp and date...
      I have attached my problems like the jpg file and .vi file for your reference.

      Does anyone have solution comments below...
      Thanks and Best regards...

    • By torekp
      I was trying a python http communication tutorial - https://aiohttp-demos.readthedocs.io/en/latest/tutorial.html#views - when I had to disable the NI Application Web Server to proceed.  And then I thought, what the **** am I doing?  Maybe I should take the free (well, prepaid) gift of a working web server.
      Here's my task.  A central HQ computer will have a GUI that monitors five machine stations, each of which has its own computer.  Every approx 10 ms (negotiable), each station gives a report consisting of two arrays, the larger being 2048 data points, the other much smaller.  Whenever HQ feels like it, HQ can tell a station to start or stop (its computer stays on).  A local IP connection is used, with a router at each end.  There is also a Raspberry Pi with its own IP address at each station's router, that can send camera frames to HQ.  The station-computers use Python and C++ to do their work, not counting whatever needs to be added to communicate with HQ.
      Your advice please?  Should I use Labview?  On both ends or just the HQ?  And which if any of these helpful add-ons suggested by Hooovahh should I use?
    • By AndyS
      I have to convert a dynamically generated array into a JSON string and back. Unfortunately I found that the un-flatten method loses the variant data. See the screenshot of FP and BD and the comments inside.

      Is this a bug in JSON Text or is my data-construction not supported as expected? In case of the letter I have modify huge parts of my code. So I hope that it is a bug 😉
      The 2nd thing I recognized is that the name "Value" of the cluster is not used during flatten. Instead the name of the connected constant / control / line is used. I found the green VI ("Set Data Name__ogtk.vi") at OpenG Toolkit that allows me to programmatically set the variant data name. As you can imagine I would prefer not to need the OpenG VI.
      Thanks in advance for your kind help 🙂
    • By kartik.azista
      HAs anyone tried creating a sub vi programmatically by selecting the set of blocks through scripting?????
    • By TDF
      TDF team is proud to propose for free download the scikit-learn library adapted for LabVIEW in open source.
      LabVIEW developer can now use our library for free as simple and efficient tools for predictive data analysis, accessible to everybody, and reusable in various contexts.
      It features various classification, regression and clustering algorithms including support vector machines, random forests, gradient boosting, k-means and DBSCAN, and is designed to interoperate with the Python numerical and scientific libraries NumPy and SciPy from the famous scikit-learn Python library. 
      Coming soon, our team is working on the « HAIBAL Project », deep learning library written in native LabVIEW, full compatible CUDA and NI FPGA.
      But why deprive ourselves of the power of ALL the FPGA boards ? No reason, that's why we are working on our own compilator to make HAIBAL full compatible with all Xilinx and Intel Altera FPGA boards.
      HAIBAL will propose more than 100 different layers, 22 initialisators, 15 activation type, 7 optimizors, 17 looses.
      As we like AI Facebook and Google products, we will of course make HAIBAL natively full compatible with PyTorch and Keras.
      Sources are available now on our GitHub for free : https://www.technologies-france.com/?page_id=487
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.