-
Interesting!
Yes, what I posted was all the output after the "dump()" command was executed 🙂. Right-hand editor only (except from when using dump()/reset()/trace()). The output of trace does not make sense to me 😏.
Me:
Windows 10 desktop
Espruino IDE 0.73.7
Upload destination: Flash
Hardware: Ai-Thinker ESP32-S
process.env: {
VERSION: "2v06",
GIT_COMMIT: "21168a2b",
BOARD: "ESP32",
FLASH: 0, STORAGE: 262144, RAM: 524288,
SERIAL: "8caab5a2-89e8",
CONSOLE: "Serial1",
MODULES: "Flash,Storage,hea" ... "r,crypto,neopixel",
EXPTR: 1073484860 }Did you post about the issue back then? Maybe we can continue there then.
I tried some simpler code (
function onInit() { let a = 0; }
), but I'm not sure how dump is supposed to work, but if I go to "Device Storage" and inspect the content of "RAM" it seems to hold exactly the same content as dump() outputs (dual onInit() function + pinMode's). If I inspect the .bootcde-file, I see the actual code that I uploaded (single function only, and no pinMode's).Just to expand on what I said by RAM before; if I click
flash
witha = 0
, and inspect the RAM, I see two onInit functions there witha = 0
. If I seta = 1
and inspect the RAM, I then see two functions witha = 1
(this proving that the data is updated--I temporarily had the idea that the first onInit held some data from an old upload).Something else, which might be interesting. If I have
let b;
outside of a function, the first occurence becomesvar b = undefined;
(the next still being let b;), but anything inside functions does not seem to be touched. So I guess the first "copy" (before all the pinMode's) is pre-parsed code, but I wonder why the original is still present though.
-
Sun 2020.09.20
edit insert
From #34 post, is that code block exactly what is being uploaded, or is that the result of the dump() ? (I ask as the comments between the functions seem to be added for forum post editing) I see a potential gotcha. If #33 post is the entire code block which is uploaded, then disregard.
origThank you for post #40 @user114366 and those instructions are possibly starting to show some duplication between our environments.
Commonalities- Windows10
- WebIDE online Web App, v0.73.7
- WiFi module
- Single character vars - (this is where understanding debug/trace revealed to me the culprit)
- Overwriting existing vars/functions [ actually not occurring - duplicates ]
- Uploading from R-Hand side then continuing with edit inserts from L-Hand side
Differences
- Different boards - mine both Espruino WiFi and MDBT42Q
- Different versions - mine 2V04 - yours 2V06
- My code file used a massive amount of memory [ but isn't the cause ]
- I didn't use arrow functions
Yours from #40 post above
VERSION: "2v06", GIT_COMMIT: "21168a2b", BOARD: "ESP32",
Mine from 'Sanity check' link below
VERSION: "2v04", GIT_COMMIT: "3956264e", BOARD: "ESPRUINOWIFI",
'Did you post about the issue back then?'
Yes - and I'm starting to realize that troubleshooting this will take a great deal of time, which I am prepared to do, but just am unable to do so today, at least for the next ten hours.
From the multi link list below, you'll see I was battling/wrestling with a lot. Are you willing/prepared to invest the time also? It is extremely time consuming, but discovering this anomaly did teach me a bunch about what is going on under the hood. Also learned a ton of forum formatting tricks, So for me, very beneficial.
This issue was discovered while attempting several 'How do I solve' type issues, and all simultaneous. If this tid-bit hadn't been discovered, one can reveal what a user is working on by R-Clicking on their forum name in upper right corner, and traversing the 'Coversations' list. But here are the four that come to mind. Initial attempt with PPI uncovered anomalies.
Tutorial example output anomaly using low level access PPI
Sanity check for Wifi and http
Help needed on trace() to locate
Multiple occurances during a trace()As the Bangle KickStarter was going on during the same time, it made sense to back burner the lot, and the post in the last link was where everything came to a grinding halt. But now maybe time to re-visit.
It might make sense to create a unique new thread with combined ideas, rather than pollute this and old threads. Might confuse others trying to solve similar issues, and we would be ping-pong'ing between multiple threads with links/references. Lets not start anything just yet until we have an agreed on moderator and direction.
I may have time during the day to check in, but for now this is about as much dedicated time I am able to commit right now. - Windows10
Sat 2020.09.19
Hey @user114366 I agree with you that duplicate functions would not be normal. Has the clear screen button in the WebIDE upper left been depressed, before performing the dump?
Are you able to duplicate this anomaly? I only ask as several months ago, I uncovered nearly the same observation using this very exact module, but was chastised as my observation couldn't be duplicated. I now find it interesting that someone else, using a similar environment has Now come across what I pointed out then. In my case I could duplicate the non-overwriting of an existing object in memory, and it appears that is what you have discovered also. Mine was on a Windows10 laptop. Yours? Had you been uploading code files from the R-Hand editor side along with cut-n-paste snippets into the L-Hand console side?
Along with
dump()
hastrace()
been tried to see if there is a duplicate?I also realize that more testing may take you down a time consuming rabbit hole, but should your instance also point to the same similar anomaly, it will help to pin point what is going on.