06-22-2021 12:34 PM
NIDAQmxBase started out as a good idea. Having the hardware interface as simple as possible and then writing an API in LV. HOWEVER the way it was implemented means that the code has conditionals for every board supported. This means that code is loaded for all possible boards even if they don't exist on the system.
Further adding a board means edition and adding a case to each of about 1500 VIs that check the board type.
It was a design choice that got the job done but did not allow for future maintenance and extension. I think a very different design pattern (Actor? GOOP?) might have made the the software much more successful.
The other problem is that LV does not produce particularly efficient and compact code. This has never been addressed and in most cases (PID kit etc. and drivers) the default is to go back to C or C++ to get the requisite performance. If instead the insistance was to make LV a first class development system by forcing "dog fooding", LV would be in a different space today.
06-27-2021 01:11 AM
Report: I figured would try the beta 21.01b11 64 bit having just gotten a Mac Mini with the M1 processor; BigSur 11.4. Things were humming along. Then about a week into things, I right click on a Block Diagram that I am working on to bring up the Functions Pallet and choose Structures (or any function) in the pallet doing absolutely nothing fancy, and LabVIEW quits without warning, without error message. I repeated this a few times, including with a brand new vi and after rebooting with no improvement. I reinstalled the beta and things are working normally again. Otherwise, things are much smoother (quicker, especially with screen redraws) with the Mac Mini than my usual Intel i9 MacBook Pro.
06-27-2021 11:02 PM
Similar to to my post just above, when calling Functions on the Block Diagram, you can see the Array, Cluster, and Numeric items not quite loading; no crash thought. Here, quitting and restarting LabVIEW seems to have restored things.
06-28-2021 07:44 AM
Well, so far I have not encountered such misbehavior...yet? In fact things run rather well with my LV21.0b11 (do you have a different version LV21.01b11?). Actually I am able to wirework in a rather productive smooth way on my MBPro M1 running Big Sur 11.4. I assume you have reported your problem as a big officially.
Happy wireworks
Urs
06-28-2021 12:28 PM
@PHacke wrote:
Then about a week into things, I right click on a Block Diagram that I am working on to bring up the Functions Pallet and choose Structures (or any function) in the pallet doing absolutely nothing fancy, and LabVIEW quits without warning, without error message.
Posting the LabVIEW crash report in either ~/Library/Logs/Diagnostic Reports or in the system location /Library/Logs/Diagnostic Reports might be helpful. There was one setting for issues with running on the M1 processor that may not have been incorporated into this beta.
Likewise, to resolve LabVIEW crashing in a similar fashion, you will need to enter the following (similar) commands via a terminal:
defaults write "com.ni.labview" NSGraphicsContextAllowOverRestore -bool YES
defaults write "com.ni.labview" NSViewAllowsRootLayerBacking -bool NO
Let us all know if this works.
06-28-2021 12:37 PM
I got NIDAQmxBase running on Big Sur again after the update to 11.4. I had to reauthorize the kext (kernel extensions again) but the GUI was not triggered and would not let me do it. So reboot into recovery mode (command-R until the apple icon appears at boot)
Then once Recovery comes up, go to Utilities -> Terminal and enter the following
spctl kext-consent add SKTKK2QZ74
This is "System Policy Security Control". This adds the developer key for NI to the kexts that are allowed to load. I had several others to install as well (CISCO, VMWare, Intel and hp), but I believe that is the one for NI. You can use "spctl kext-consent list" to list those that are approved.
For the bold and not afraid to trash their systems you can look at the data base during normal running. Just inspecting the database should be ok.
sudo sqlite3 /var/db/SystemPolicyConfiguration/KextPolicy
Will let you dump the database for various tables including kext_policy_mdm which is where I found that name. As my high school biology teach said about mushroom picking. Have fun but be careful.
06-30-2021 12:06 AM
Thanks,
Here is a screenshot of files in /Library/Logs/DiagnosticReports, and below that also in the screenshot, the LabVIEW install that I performed in the minutes after the above discussed hard crash of the LabVIEW application that grounds the events in time (looking at the Date Modified column). The only files that appear related to the crash based on the time stamps that appear just before the June 26 11:36PM reinstall are the shutdown_stall (highlighted) and the Brave Browser Helper items. What if anything here can I send you to help?
06-30-2021 08:21 AM
What *might* be helpful is a couple of things.
In ~/Documents/LabVIEW Data/lvfailurelog/ are files of the sort "lvlog2021-03-29-15-16-16.txt" These can sometimes show what LV was doing when it failed.
The other location is if there is a true crash of LabVIEW there will be a file ~/Library/Logs/DiagnosticReports/LabVIEW*.crash" or a similar file ending in .crash in /Library/Logs/DiagnosticReports, I don't recall why some go in each. These are fairly rare these days, thankfully, and you should get a system error message about LabVIEW unexpectedly quitting and if you want to send the error report to Apple.
07-10-2021 01:00 AM
The above instance where the hard crash occurred when right-clicking for the functions palette left no trace as far as I see. The running LabVIEW application immediately disappeared (repeatably).
New issue. I was running some calculations with one vi tree in the background that consumes some VM. I went to open another vi to work on it, trying Command E to bring up the Block Diagram did not work. Curious. I hit the run arrow on that just opened vi, LabVIEW Crashes. This left a trace, attached.
(for some reason, on the i9 macbook pro, my vi seem to consume more VM per the Activity Monitor than the M1 Mac Mini, but Big Sur 11.4 OS Activity Monitor is not 1:1 with the Catalina 10.15.7, so I'm not sure. Do you see any VM usage limitations on the M1 w/Big Sur 11.4 ?)
07-31-2021 04:16 PM - edited 07-31-2021 04:28 PM
Yet a new issue. I hit command S to save a vi I was working on and got this: