|
honey the codewitch wrote: Check this out, I thought I had isolated it to a section of code. But it wasn't that code. Because undoing a different section of code, that code starts working again. It's like pushing a bubble out of a waterbed. It just keeps moving around.
Although that doesn't always happen it should not be a surprise.
When you change the execution flow you are always going to change the data space of the application. That applies to stack, heap, etc.
Those changes can cause an overwrite/underwrite to move in the data space. And thus the system exception will appear and disappear. Could be that it never fails after that or it could just move to a different failure point. Because it really does matter where the bad write goes.
|
|
|
|
|
It does. But if that bad write doesn't actually cause an issue, and the app can be tested to work under those conditions, with that particular firmware, is it worth releasing? not for anything mission critical - it's a tool to monitor your PC's temps and usage.
Sort of a philosophical question if anything.
Check out my IoT graphics library here:
https://honeythecodewitch/gfx
|
|
|
|
|
honey the codewitch wrote: with that particular firmware, is it worth releasing?
Perhaps in your situation (as per your other point about deterministic threads.)
If you can be assured of the data flow then the error is going to be there but not be impacting anything.
When I worked in C/C++ I knew the data flow was not predictable. So I could not have left that in any of those systems.
|
|
|
|
|
I've decided not to release it. It's silly, but I decided to make my standard such that it must at least work on the device I embedded in my PC's chassis. Currently it does not. That's one of the problem devices.
I have some ideas on how to tip toe around this issue, but it involves static allocation. I've already tried lazy dynamic allocation, both with releasing/recreating and recycling. Neither method seems to work with my UIX library. I think if i make several static controls things might be okay, although I'd be hard pressed to understand why. Right now it's just a hunch.
Check out my IoT graphics library here:
https://honeythecodewitch/gfx
|
|
|
|
|
Well as you mentioned you could buckle down, create a test environment, and add a memory check library to track it down.
|
|
|
|
|
Some MS controls leave "artifacts" when they change from one state to another. I have to do certain things (that look like "rituals") to make them go away. I consider that an MS "bug". It's also where I wind up putting the most comments. But it is deterministic ... you just have to determine what is required to fix it.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
Gerry Schmitz wrote: rituals Having delved into COM, the words 'arcane' and 'obscene' both come to mind.
Software Zen: delete this;
|
|
|
|
|
|
honey the codewitch wrote: I will get the same sequence of As and Bs every time, on every machine with the same chip.
I am not a great fan of absolutes. Especially if one starts relying on them.
No doubt that is true for some cases. But although I know almost nothing about embedded I do know that they have been adding more complexity over time. So seems likely that some chips either do or will start managing threads in a less deterministic way.
Although you will probably be able to shop for devices where either that is true or not true.
|
|
|
|
|
When I said every machine, I meant every machine I am targeting, and this all holds true for those.
Check out my IoT graphics library here:
https://honeythecodewitch/gfx
|
|
|
|
|
ok - that is sound.
But might want to do a check every once in a while just to make sure they don't sneak something in.
|
|
|
|
|
jschell wrote: I am not a great fan of absolutes. Especially if one starts relying on them.
Long ago I coined the adage: "Only a novice thinks computers are deterministic machines".
Mircea
|
|
|
|
|
|
I am mindful of this poem (https://www.gnu.org/fun/jokes/last.bug.txt):
Quote: THE LAST BUG
by Lou Ellen Davis
"But you're out of your mind,"
They said with a shrug.
"The customer's happy;
What's one little bug?"
But he was determined.
The others went home.
He spread out the program,
Deserted, alone.
The cleaning men came,
The whole room was cluttered
With memory-dumps, punch cards.
"I'm close," he muttered.
The mumbling got louder,
Simple deduction,
"I've got it, it's right,
Just change one instruction."
It still wasn't perfect,
As year followed year,
And strangers would comment,
"Is that guy still here?"
He died at the console,
Of hunger and thirst.
Next day he was buried,
Face down, nine-edge first.
And the last bug in sight,
An ant passing by,
Saluted his tombstone,
And whispered, "Nice try."
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
|
Criminal banner eats fires. (14)
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
Criminal CON
banner FLAG
eats RATIONS
fires.
CONFLAGRATIONS
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
YAUM! I thought it might last a bit longer than 7 minutes, though.
Software rusts. Simon Stephenson, ca 1994. So does this signature. me, 2012
|
|
|
|
|
It leapt out at me as soon as I saw it.
Good clue, though!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
just pipped me
In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP
|
|
|
|
|
Just had a program fail to appear on the screen, even though it showed in the taskbar. This has happened a couple times throughout the years. I rebooted, to see if that made a difference, but it didn't. Finally used a window 'peeker' and found that somehow the X and Y were at -32,000. Manually set them to reasonable numbers, and it appeared.
How would a non-technical user be able to overcome this difficulty? I cannot see them doing so in my mind - it was frustrating enough for me!
(I suspect a forced Windows reboot due to Windows Update somehow clobbered the setting, but don't know for sure.)
|
|
|
|
|
They ask to technical users.
"In testa che avete, Signor di Ceprano?"
-- Rigoletto
|
|
|
|
|
|
Have faced this earlier. Our development environment was a higher resolution machine, whereas deployment machine was of a much lesser resolution (640 x 480, i am talking about 25 year old story).
Then we suggested to use Alt + Spacebar, and using arrow keys to move the application screen, till it became visible. This was the workaround before we sent them the update.
|
|
|
|
|
It has been so long I had forgotten that one.
|
|
|
|