In case anyone wonders why I don’t like LDRA a whole lot (it’s good, it saves a lot of time, but it could be a lot easier to use) this is one good example. Poor Karl ran into this extremely “helpful” error message:
127
In case anyone wonders why I don’t like LDRA a whole lot (it’s good, it saves a lot of time, but it could be a lot easier to use) this is one good example. Poor Karl ran into this extremely “helpful” error message:
127
Our license server broke somehow so I can’t compile and I can’t run our testing software. Considering that’s about all I do nowadays I guess I won’t be getting much done the rest of the day, unless the IT guys figure out what’s wrong.
The downside to bored engineers is that they do things like this:
Karl, being bored and not a big fan of our testing software, made a fake logo for the software. It’s name is LDRA, so he made a logo that said “LARD”.
Here’s the original:
Here’s the new one:
This story gets better. Since I am also an engineer, and bored, I downloaded a resource editing program and modified the splash screen of the application so Karl’s version of the logo is now displayed. Karl is currently off editing some dialog boxes that annoyingly pop up every time you make a change and ask if you really want to do that.
So I figured out what that error message means. Apparently the code generated by LDRA was incorrect. The function was trying to return a reference to a local variable. Not good. (For those of you who aren’t programmers, a local variable only exists inside the function it was declared in so if you return a reference to it then whoever called that function tries to use that reference except the local variable doesn’t exist anymore).
I’m just impressed that program didn’t crash.
If anyone knows what on earth this error message means, please please let me know.
around PC=0x399b0, Nondeterministic read from stack beyond stack pointer at 0x24a920
around PC=0x399c0, Nondeterministic read from stack beyond stack pointer at 0x24a900
around PC=0x399c4, Nondeterministic read from stack beyond stack pointer at 0x24a8f8
around PC=0x39cdc, Nondeterministic read from stack beyond stack pointer at 0x24a920
around PC=0x399b0, Nondeterministic read from stack beyond stack pointer at 0x24a930
around PC=0x399c0, Nondeterministic read from stack beyond stack pointer at 0x24a910
around PC=0x399c4, Nondeterministic read from stack beyond stack pointer at 0x24a908
around PC=0x39cdc, Nondeterministic read from stack beyond stack pointer at 0x24a930
And yes I did figure out that its trying to non-deterministically read from the stack beyond the stack pointer. But why?
For your information I get this after running the program successfully. It seems to be occurring after my code finishes executing, which is what makes it so weird.
Update: LDRA works now! Yay!
After waiting five months for this piece of software to finally show up (it’s a sordid tale of lawyers, import/export control laws, and broken dongles) my team got it last week. Now if it only worked.
Well it does work. Sort of. It probably works really well, we just don’t know how to use it. This is despite paying many thousands of dollars for a three day training course that didn’t teach us much and that no one remembers. This software is somewhat lacking in the documentation department if you want to do anything complicated. Which is everything we need to do sadly. Also, I swear the user interface for changing the configuration of the software was developed by the Marquis de Sade.
Ok, enough about work except to say that for those who don’t know I work at the fifth largest defense contractor in America. You figure it out.