MATLAB / dSPACE (GmbH) Memory Alignment Error - matlab

My DS1005 multi-board dSPACE system recently had its companion PC upgraded to MATLAB r2019b and ControlDesk 7.1. Since upgrading, I have been unable to get a Simulink model to compile, with the MATLAB diagnostic window issuing the following error:
LOADING APPLICATION "Debug_Local.sdf" ...
PLATFORM: ds1005
*** ERROR: Memory alignment error (double word alignment required).
Could not download real-time application: C:\Experiments\MATLAB Files\ENME303_DS1005\Debug_Local\debug_local.ppc.
An error occurred while loading the application.
DsErrorHandling: Panic! Format string 'The Clib Wrapper is not initialized.' for code 0x2711 starts with invalid character 'T'. Expecting '%'!
LOADING FAILED (1)
*** Stopped RTI build procedure for model: Debug_Local.
----------------------------------------------------------------------
Error:The call to rti1005_make_rtw_hook, during the after_make hook generated the following error:
*** Stopped RTI build procedure
The build process will terminate as a result.
Caused by:
*** Stopped RTI build procedure
Note that the model builds without error - it is when downloading to the DS1005 that the problem occurs. The Simulink model "Debug_Local" consists of a DS2001 A/D block, memory store with write, and that is all.
Prior to software upgrade, the multi-board system performed flawlessly, so the problem is likely a software configuration issue rather a hardware problem. I have read dSPACE FAQ 239, which describes a procedure for determining the cause of memory errors, but due to the fact that my Simulink model is the simplest possible, its suggestions do not seem relevant here.
Searching the web for help, there is mention of a memory alignment option in MATLAB, but only for a toolbox, rather than for the MATLAB core product.

Related

Vivado: [XSIM 43-3294] Signal EXCEPTION_ACCESS_VIOLATION received

I'm getting the following error when I run the simulation.
ERROR: [Common 17-39] 'launch_simulation' failed due to earlier errors.
This project worked fine, but after reinstalling the same Vivado version, I keep getting errors when running the simulation. I have searched and searched several times and places, there are many who end up with this error, but got different suggestions. I honestly do not know what this error means.
The simulation referred me to the behav folder to open the elaborate log for more information about the error.
Here it is:
Vivado Simulator 2017.1
Copyright 1986-1999, 2001-2016 Xilinx, Inc. All Rights Reserved.
Running: C:/Xilinx2017v1/Vivado/2017.1/bin/unwrapped/win64.o/xelab.exe -wto 89ab4d8a8bd74d6d87079040762eb149 --debug typical --relax --mt 2 -L xil_defaultlib -L lib_cdc_v1_0_2 -L proc_sys_reset_v5_0_11 -L fit_timer_v2_0_8 -L secureip -L xpm --snapshot design_1_wrapper_behav xil_defaultlib.design_1_wrapper -log elaborate.log
Using 2 slave threads.
Starting static elaboration
Completed static elaboration
Starting simulation data flow analysis
ERROR: [XSIM 43-3294] Signal EXCEPTION_ACCESS_VIOLATION received.
What could the error 'Signal EXCEPTION_ACCESS_VIOLATION received' mean?
Someone who have tips and advices?
Are you using VHDL 2008 and trying to access a lower level signal in you test bench?
something like
alias CTL_empty is <<signal Inst_VMUX_Top.Inst_Switch_IF.CTL_empty : std_logic>>;
When I try to make decisions based on CTL_empty, my simulation fails

Error received while deploying code to Pixhawk4 from Simulink

I am trying to run an example Simulink model provided by Mathworks, but while deploying the model to the Pixhawk flight controller, I am receiving the following error:
Error(s) encountered while building "px4demo_uORBReadWrite":
### Failed to generate all binary outputs.
Caused by:
Validation error(s):
### Validating other build tools ...
Unable to locate build tool "GNU PX4 Archiver": echo
I have followed all the steps to configure the hardware properly, except the last part where I was not able to receive the accelerometer data too. The error received while testing the connection at that time was:
Error reading data from the serial port. Operation timed out before requested data was received.
Can someone explain why I am having this issue?
Thanks

Commands invalid after 'import_board_preset' command

Currently I am trying to follow the MathWorks tutorial 1 to register a TE0720 with a TE0701-6 carrier board in Matlab. I followed the instructions, designed the block design and exported it as advised. Using the Matlab HDL Workflow Advisor I can follow unitl step 4.1 Create Project. Here, I get the following error message:
invalid command name "CONFIG.PCW_INCLUDE_ACP_TRANS_CHECK"
while executing
"CONFIG.PCW_INCLUDE_ACP_TRANS_CHECK {0} CONFIG.PCW_IOPLL_CTRL_FBDIV {30} CONFIG.PCW_IO_IO_PLL_FREQMHZ {1000.000} CONFIG.PCW_IRQ_F2P_INTR {1} CONFIG..."
(procedure "create_root_design" line 49)
invoked from within
"create_root_design """
(file "vivado_custom_block_design.tcl" line 986)
while executing
"source vivado_custom_block_design.tcl"
(file "vivado_create_prj.tcl" line 15)
This is regarding the exported block design in the corresponding *.tlc file.
After deleting the line mentioned in the error, the error persists, but for the following line. This holds true until I deleted all lines following
CONFIG.PCW_IMPORT_BOARD_PRESET {preset}
It seems to me that once the preset for the board is imported, all following commands are seen as invalid. If I put this line in the end of the list though, I get the error
ERROR [Common 17-69] Command failed: Missing name/value pair in -dict argument.
If I remove this line, I get the error
ERROR [BD 41-1811] The interconnect </axi_interconnect_0> is missing a valid master interface connection
ERROR [Common 17-39] 'validate_bd_design' failed due to earlier errors.
Is there a way to fix this or what is the problem here?
EDIT: I am using Vivado 2017.4 from the Vivado HL WebPACK. Could it be that there is a feature not available in this version for rebuilding the project as MATLAB intends to do?
EDIT 2: I started the complete tutorial fresh from scratch again and now I only get the error
ERROR: [BD 41-1811] The interconnect </axi_interconnect_0> is missing a valid master Interface connection
when going throught the HDL Workflow Advisor. As far as I understand the issue, Vivado searches for something to connect the axi_interconnect to. But isn't this the interface port (DUT) as described later in the tutorial (end of step 2 in Register the custom reference design in HDL Workflow Advisor, where the compiled simulink model should be connected?

OrientDB 2.1.9 crashes with OStorageException EOFException when running SQL script in console

I've been using my SQL database initialization script for a while, but it seems that recently the database crashes in the middle of the execution and I don't know why, but here's some details:
I am running OrientDB on Ubuntu 14 Trusty x64 (via Vagrant)
It always seems to crash while the script attempts to create a UNIQUE_HASH_INDEX, but doesn't always crash at the same UNIQUE_HASH_INDEX instruction
The script creates a lot of vertices and edges, but for example, it will crash here (see line with UNIQUE_HASH_INDEX):
CREATE CLASS Channel EXTENDS V;
CREATE PROPERTY Channel.version LONG;
CREATE PROPERTY Channel.channelId STRING;
CREATE INDEX Channel.uq_channelId ON Channel(channelId) UNIQUE_HASH_INDEX;
The database crashes entirely with the following error:
Creating index... Error:
com.orientechnologies.orient.core.exception.OStorageException: Error
on executing command: sql.create INDEX Channel.uq_channelId ON
Channel(channelId) UNIQUE_HASH_INDEX
Error: java.io.EOFException
Looking at the log files, the only hint I get are the last two lines:
2016-01-14 17:17:05:437 INFO Received signal: SIGTERM [OSignalHandler]
2016-01-14 17:17:05:454 INFO Received signal: SIGTERM [OSignalHandler]
How can I resolve this issue, or at least get better hints as to what is making the database crash?
I also test with OrientDB 2.1.6, as I was running the older version initially. Same problem.
Sorry, false alarm -- this is a Vagrant issue, not an OrientDB issue. Running the exact same script on a 32bit instance instead of 64bit solved my problem, and installing the same script on a real 64bit server also works.

Can't Get The matlabpool Started

I'm running MATLAB on since about one and a half year now. And I've been trying to get matlabpool ready to go once in nearly every three months. Before I give up on it completely, I've decided to ask for help. :)
My problem starts with matlabpool command. Whenever I type in the matlabpool command, I get this :
One or more output arguments not assigned during call to "system_dependent".
Error in matlabpool>iIsOnClient (line 73)
onclient = ~system_dependent('isdmlworker');
Error in matlabpool>iVerifyJava (line 64)
if iIsOnClient()
Error in matlabpool (line 10)
iVerifyJava();
After some research and sleepless nights, I've found out that one has to settle the things down with the "Cluster Profile Manager". But I never did have the opportunity to see it working either. Here is what I get after clicking Cluster Profile Manager from Parallel panel :
com.mathworks.jmi.MatlabException: Feature isdmlworker not found
at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1710)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
at com.mathworks.toolbox.distcomp.ui.profile.model.MatlabProfileManager$1.runOnMatlabThread(MatlabProfileManager.java:80)
at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)
Attempt to reference field of non-structure array.
Error in parallel.internal.ui.AbstractValidationManager (line 20)
obj.Validator.addlistener('ValidationStarted', ...
Error in parallel.internal.ui.ValidationManager (line 21)
obj#parallel.internal.ui.AbstractValidationManager();
com.mathworks.jmi.MatlabException: Attempt to reference field of non-structure array.
at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:266)
at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
at com.mathworks.jmi.Matlab.mtFevalConsoleOutput(Matlab.java:1778)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:195)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:172)
at com.mathworks.toolbox.distcomp.ui.profile.model.ValidationManager$1.runOnMatlabThread(ValidationManager.java:45)
at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:475)
After getting this message, the Cluster Profile Manager pops up, but doesn't really shows anything besides "wait" sign. I've checked my Distributed Computing Licence and that too is looking fine.
license checkout Distrib_Computing_Toolbox
command returns 1.
By the way, there is another error message which I suspected to have a connection with my problem of some kind. I get this in every MATLAB start:
Error using feature
Feature isdmlworker not found
Error in matlabrc (line 187)
if ~(ismcc || isdeployed || feature('isdmlworker')) && usejava('jvm')
In addition to all of those; I get this message whenever I try to open "Parallel Preferences" from Environment tab :
com.mathworks.jmi.MatlabException: Feature isdmlworker not found
at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:265)
at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:120)
at com.mathworks.jmi.Matlab.mtFeval(Matlab.java:1619)
at com.mathworks.jmi.MatlabWorker.feval(MatlabWorker.java:197)
at com.mathworks.toolbox.distcomp.ui.profile.model.MatlabProfileManager$1.runOnMatlabThread(MatlabProfileManager.java:72)
at com.mathworks.jmi.MatlabWorker$2.run(MatlabWorker.java:79)
at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:440)
I've tried to find the function system_dependent.m but it doesn't seem to exist. Other common spots of the errors I get, the function "feature.m", the option "isdmlworker" are other mysteries that I couldn't find any kind of information about.
I really appreciate if anyone can help me with the problem I've encountered starting MATLAB's distributed computing system.
Edit: I'm working on an Ubuntu 14.04 and my MATLAB version is R2014a.
This appears to be an issue with your specific installation of Ubuntu 14.04. It is possible though that it relates to how matlabpool spawns worker threads in R2014a given that the error occurs in com.mathworks.jmi.NativeMatlab.dispatchMTRequests().
matlabpool has been tested to work without issue on Ubuntu 15.04 and 15.10. It may not be an ideal solution but upgrading Ubuntu to 15.04 or 15.10 and reinstalling MATLAB R2014a should resolve the issue.