question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Thonny breaks remote WebREPL connections

See original GitHub issue

Thonny breaks remote WebREPL connections, and remote WebREPL connections break Thonny. It seems ideal that these should be able to coexist somewhat … maybe auto-off the raw-paste-mode when a remote connection attaches?

If Thonny is connected (via Socket), and a WebREPL session connects, that WebREPL session will be non-functional. Additionally, Thonny’s REPL session will become non-functional, crashing with any input.

Thonny 3.3.4 and MicroPython 1.14.

ERROR   thonny.plugins.micropython.backend: PROBLEM WITH THONNY'S BACK-END:
Traceback (most recent call last):
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 340, in _handle_normal_command
    response = handler(cmd)
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 636, in _cmd_get_globals
    "{name : (__thonny_helper.repr(value), id(value)) for (name, value) in globals().items() if not name.startswith('__')}"
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 549, in _evaluate
    out, err = self._execute(script, capture_output=True)
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\backend.py", line 505, in _execute
    self._execute_with_consumer(script, consume_output)
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 708, in _execute_with_consumer
    self._submit_code(script)
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 567, in _submit_code
    self._submit_code_via_raw_paste_mode(to_be_sent)
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 657, in _submit_code_via_raw_paste_mode
    self._raw_paste_write(script_bytes)
  File "C:\Users\montg\AppData\Local\Programs\Thonny\lib\site-packages\thonny\plugins\micropython\bare_metal_backend.py", line 691, in _raw_paste_write
    raise AssertionError("Unexpected read during raw paste: {}".format(data))
AssertionError: Unexpected read during raw paste: bytearray(b'p')
term: Exception in write() method, deactivating: OSError: [Errno 104] ECONNRESET
�

It’s obviously not a huge deal, and the easy work around is to not try to type in two places at the same time.

Thank you so much for the awesome product you’ve created here. It’s really something incredibly special! -monte

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
aivarannamaacommented, Feb 21, 2021

Would it be possible/feasible/reasonable to add an option to disable to RAW mode REPL? Presumably it would be slightly slower, but it might be a worthwhile tradeoff in some instances.

Actually, there might be a way. I don’t know how I forgot about it before. See https://github.com/thonny/thonny/wiki/MicroPython#advanced-configuration and try submit_mode = paste.

0reactions
aivarannamaacommented, Feb 22, 2021

@seganku, no, Thonny is not supposed to open a WebREPL connection when it is configured to use serial. If it happens like this, then it is a bug. I’ll check later.

Read more comments on GitHub >

github_iconTop Results From Across the Web

possible to send command directly to WebREPL
... I'm able to create a connection, login and get the remote WebREPL ... I tested all these options, "\x03" breaks endless loops...
Read more >
MicroPython DC, Stepper Motors and WebREPL Robot with ...
Live stream to http://twitch.tv/adafruit showing how to use the DC Motors & Stepper driver with MicroPython. Ends with a fun ESP8266 ...
Read more >
MicroPython ESP32 pro-tip: Use WebREPL within Thonny
We've learned how to wirelessly connect and upload new code to an ESP32 using WebREPL before. But often, the repetitive process of: editing...
Read more >
thonny Changelog - PyUp.io
Fix KeyError: 'ESP32.url' when connecting to WebREPL, 2082 (regression introduced in b1) ... Automatically create Thonny user dir in remote machine, 1365
Read more >
Cant discover shelly dimmer 2 after router change - Facebook
Anybody help with wiring a Shelly dimmer 2 (other than what's sent with the ... But before starting to use the WebREPL through...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found