FMU Initialization Issue - initialization

I exported a FMU 2.0 model in Dymola 2015 recently, and I had some issue with the initialization.
Before exporting the model, I checked the validity of the model by connecting the input connectors to some constant values that know the exact output value, it turned out that everything looks good. The model could be translated, initialized and simulated as expected.
Then I went on to export my model as ME FMU 2.0 RC. In C, it could be instantiated, and fmiSetupExperiment is called successfully before entering the initialization, however, it failed initialization right after calling fmiEnterInitializationMode.
The Error looks like the image below
I tried to assign some reasonable input values to the model according to this post Initialization of a Dymola FMU in Simulink but it did not help.
Then I found that I had several scalarVariables that has initial="approx", but when I checked their final values in Dymola, the initial approximation is decently close to the final value.
So I am quite confused on what to try next...I wonder if anyone here could help me a bit (I don't even know what does this error message mean...) I'd be greatly appreciated.
Thanks!

Related

Failed to map data for input 91913 for index IdIndex?

I am using IDEA to learn the springMVC framework, but I think I have encountered a strange problem.
Let me introduce the process of what happened.
My computer is stuck, and then I start to compile my project, the result is as follows
Failed to map data for input 91913 for index IdIndex
At the same time, another thing happened, I can not create a class, as shown below

Why doesn't RStudio clear its Global Environment when something goes wrong?

Using R Version 4.0.2 and RStudio Version 1.3.1056
This is honestly one of the strangest features I've seen in RStudio, and I suppose there's probably a good reason for it to be there, but I'm currently not seeing it and I feel that it can lead to a lot of issues of misleading data.
Basically, to my understanding, when you create and open an R project in RStudio, RStudio creates a Session with a Global Environment.
Every time you run something, this is added to the Global Environment, I assume it's done as a cached value.
However, I've encountered situations where this feature leads to either:
Outdated/wrong values being shown in my tests.
Cases where a function stops working altogether after changing 1 piece of code, executing the new code, then undoing the change.
functions "bleeding into" other files without importing/sourcing them.
Case 1 and 2 obviously leads to a lot of issues while testing. If you try to run a test like
test <- someFunction()
test #to display the value of the test
If the code is correct, the test will execute and the results of test will be stored in the Global Environment.
However, if you then proceed to break the code and run the test again, since test already has a value stored in Global Environment, that old value will print, even though the function failed and thus didn't return anything. Of course if you go above on the console feed, you might run into a line after test <- someFunction() saying "someFunction failed for X reason", but I still think it's both pretty misleading and not very intuitive. Sometimes the result of a function is really large and it's complicated to scroll all the way up the console to see if the code exited with an error, whereas other IDEs would simply immediately tell you at the end of the console that the code failed, and not print the old and outdated value.
Example: Running the proper code.
Running the code after having changed is.na to the non-existent is.not.na.
Notice how it's still printing the old value belonging to the previous version of the function.
The third case can also lead to misleading scenarios.
If you execute a function in any file within your session, the function is stored in the Global Environment. This allows you to call the function from any other file, even if you haven't added a source statement at the top to load the file containing that function.
Once again this can lead to cases where you inadvertently change/add a new function on file B without running it, then try to invoke the function from file A and you get unexpected results because you were actually invoking the old/outdated function, and the Global Environment has no idea about the changes to the old one or the new function.
All of these issues are rather easy to fix, but I think that's a bit beyond the point. Why is this a feature in general? Why isn't the Global Environment emptied upon errors in execution? I know that you can manually empty the GE whenever you want, but it seems odd to me that the IDE doesn't do it on its own, or, to my knowledge, that it doesn't provide you with an option for it to do it.
I can imagine that it provides some benefit at runtime, but is it really that significant that it can justify these behaviors?

LLVM front end register class error OpenCL -- GPU target

I've recently been encountering this error when compiling OpenCL kernel files with my LLVM_IR pass:
aoc: ../../../TargetRegisterInfo.cpp:89: const llvm::TargetRegisterClass* llvm::TargetRegisterInfo::getMinimalPhysRegClass(unsigned int, llvm::EVT) const: Assertion `BestRC && "Couldn't find the register class"' failed.
I'm not sure what this means. What I've read from the documention doesn't make a lot of sense. Basically it means the backend doesn't know what type to place into the register?
Does anyone know what the error means?
It occurs in various kernels and doesn't seem to have a definitive pattern I can show as an example. I can post more details if needed, but really I'd just like to know what the error is telling me.
Thanks ahead of time for any help.
UPDATE:
It seems this command in LLVM is causing the issue:
AllocaInst* llvm::IRBuilder< preserveNames, T, Inserter >::CreateAlloca(Type * Ty, Value * ArraySize = 0,const Twine & Name = "")
It creates this error when I do a nonspecific allocation in this manner. The reason I use this command is that sometimes in a kernel there will be a store value that is a Constant. Since LLVM often requires a Value I needed a way of converting it. So I do a an allocation with an immediate store and load. This was suggested by another SOF user. Does anyone know an alternate method of converting a Constant to a Value in LLVM?
Thanks all.
Ok it seems a conventional:
Value *new_val = dyn_cast<Value>(old_val);
Works perfectly fine. Hopefully this knowledge will help someone else.
UPDATE3: Scratch that. Dynamic cast doesn't convert Constant to a Value type. So if anyone knows how to do that, please let me know.
I admit I don't understand the assertion error you get. However:
The reason I use this command is that sometimes in a kernel there will be a store value that is a Constant. Since LLVM often requires a Value I needed a way of converting it. So I do a an allocation with an immediate store and load.
That doesn't make sense to me:
Any llvm::Constant is already an llvm::Value
Storing a value and then loading it back seems like an expensive nop...

Rational Functional Tester MapFormatException

couple of months ago I upgraded my instance of RFT to 8.5.0.1 I have recently started trying to create new Test scripts and noticed thet every time I tried to run a new script wheter recorded or calling parts of the framework library I am geting the following error:
com.rational.test.ft.object.map.PbjectMapFormatException
Could not read Object.Map [C:.......... path goes here .....] It may be missing or inthe wrong format
I am at a loss here. If you know of a solution I would appreciate it if you could enlighten me.
Are you using a shared object map ? It looks like the object map is missing. Try creating a new RFT project and script with default object map to see if it solves the issue.

Oracle Report layout issue?

I am a novice user of Oracle Report Builder, so forgive me if the answer should be obvious.
I am attempting to run a 9i report, and I keep getting an error that appears like there is an issue with frames overlapping. I have two versions and both are getting the same error. One version is the report I want. The other is a stripped down version with only a couple fields, to narrow down what might be causing it.
Terminated with error: <br>REP-271187990: Virtual Memory System error. REP-0200: Cannot allocate enough memory. cavaa 22 REP-0002: Unable to retrieve a string from the Report Builder message file. REP-271187990:
Occasionally, it kicks out the message below when I try to run it, with no other accompanying details. The select runs and returns the desired results, and the function returns the ref cursor results as expected. The package is valid and compiled, so the query itself should be fine. There is only one query in the report, and I have tried various things, including stripping the report to narrow down the source of the error, with no luck. Any ideas to try would be appreciated.
Terminated with error: <br>REP-1401: 'qr_1refcurds1': Fatal PL/SQL error occurred.
It turns out that the problem was with data returned from my refcursor.
In the package spec I had one of the fields wrong field in the table.field%type declaration.
For those experiencing a similar error I would suggest:
If you have your SQL in functions, as opposed to right in the report, check your package spec to ensure your field order matches usage in the body.
If you have any overlapping frames in your report, this message can also come up. Check the object navigator for any hidden frames. They can be totally invisible, and the only way to know for sure is by checking in the navigator. Hint - Give meaningful names to your fields and text labels, so you can see what's contained in each frame. Also check the source of container frames is... but that's another REP error to enjoy.
Depending on setup, the first time you load a report it may error out referring to one of your queries. That happens after compile. Just try again, and every time going forward it's fine.
Consider the server patches mentioned above if your SQL statements are dynamic.
Feel free to add to this list if you know of others.
According to Oracle Support Note 430044.1 -
MS Windows: Reports 10g with Ref Cursors Fails with REP-200 and REP-65
Virtual Memory System Error [ID 430044.1]
This is a known Oracle Reports bug for MS Windows Platform.
Bug 5584001 DYNAMIC REF CURSORS DON'T WORK IN VERSION 10.1.2.0.2
REPORTS BUILDER
There are step by step instructions in the Oracle Note to apply the patch to resolve this issue. Also note, this problem is specific to MS Windows.
The suggested Oracle One-off patches are-
One-off patch 4505133
One-off patch 5634746
Log-on to Oracle Support, download the two patches and follow the step by step instructions mentioned in Note 430044.1 to apply the patch.

Resources