Deep Dive w/Scott: 9.0.0 CircuitPython bugs #adafruit
Join Scott as he works on some 9.0.0 bugs and answers questions.
Thanks to dcd for the timecodes.
0:00 getting started
4:16 hello and welcome
8:02 getting 9.0 stablized - open issues idf v5.1 race conditions
10:20 deprecated esp-8266
12:55 review circuit python pull requests
20:30 issue 8935 lib/certificates: include ssl.com RSA cert
20:55 issue 8937 5V power control from user code
25:25 issue 8443 idf v5.1 listen/accept race condition ends up losing clients
25:30 desktop - changes to sockets - reviewing changes in git
28:27 code.py
28:45 socketpool/socket.c
31:03 raspberry socket.c - fix the return value
32:26 continue staging and commit
33:23 uncrustify (github code formatter)
35:09 sign and push the commit / pull request 8940 (fix 8443 )
36:45 restream status - checking frame rate
37:33 back to issues - ( now 15 issues open )
39:16 pulseio issue -
39:42 implementers guide - pulseio / countio
42:18 issue 8726 - pulsio PulseIn causes hard crashes
50:00 no-one used the decode line number flashing LED
51:12 copy uf2 tool
53:19 code.py not crashing
54:30 hard crash reproduced - connect J-Link
56:00 desktop view - how to reproduce crash
56:22 gdb grandcentral ...
57:29 assign bug and mark as reproducable
1:02:00 second crash - this time inside gdb
1:07:00 esp-c3 alarm question.... ( alarm module documentation to be written :-) )
1:08:44 for alarm testing NRF-PPK2 - power profiler kit-II (adafruit and digikey)
1:10:15 back to crash -
1:14:00 still crashing - see pulsio/PulseIn.c
1:16:10 blanket resets might be a concern
1:16:47 effectively reproduce the issue with writing ...
1:21:45 refcount 255 "that's not good"
1:25:30 file system is not happy either - good to backup :-)
1:26:30 looking at refcount values
1:28:10 pulsein_reset - maybe some of the code predates finalizer
1:30:00 continue historical search in github
1:32:20 Lower Power by using the Wait for Interrup (pull 2685)
1:34:10 check out shared-bindings
1:35:00 nativeio split up - 7 years ago
1:36:32 remove the reset code pulsein_reset
1:37:06 probably need to do an audit....
1:40:40 need to fix the L1 / TX pin LED
1:43:33 PulseOut has the same problem
1:44:40 maybe CP 10.0 should avoid bulk resets...
1:46:20 import storage / storage.erase_filesystem()
1:46:40 do we need to flush the filesystem before the bulk resets
1:50:00 also timer
1:56:40 still crash in reset_into_safe_mode
2:00:50 hard code breakpoint if refcount == 0
2:02:55 breakpoint - but why is it zero ?
2:03:45 another way to 'know' it is deinit'ed
2:10:02 timer in use still - why aren't we able to use it a third time?
2:14:10 tcc_refcount 255 again
2:15:55 may need to change pwmout - moving away from bulk reset good.
2:17:27 wrap up
Visit the Adafruit shop online - http://www.adafruit.com
-----------------------------------------
LIVE CHAT IS HERE! http://adafru.it/discord
Subscribe to Adafruit on YouTube: http://adafru.it/subscribe
New tutorials on the Adafruit Learning System: http://learn.adafruit.com/
-----------------------------------------