BradenM / micropy-cli

Micropython Project Management Tool with VSCode support, Linting, Intellisense, Dependency Management, and more!
https://micropy-cli.readthedocs.io
MIT License
313 stars 25 forks source link

Creatu stub fails on MemoryError #100

Closed iBobik closed 2 years ago

iBobik commented 4 years ago

Describe the bug Tried to create stub for Pycopy v3.0.6 on esp8266

Expected Behavior It will create stub.

Current Behavior

> micropy stubs create /dev/cu.SLAB_USBtoUART

MicroPy  Connecting to Pyboard @ /dev/cu.SLAB_USBtoUART
MicroPy  ✔ Connected!
MicroPy  Executing stubber on pyboard...
MicroPy  Failed to execute script: ('exception', b'', b'MemoryError: memory allocation failed, allocating %u bytes\r\n')

Steps to Reproduce

  1. Upload Pycopy firmware
  2. micropy stubs create

Logs

[2020-03-29 04:47:12] DEBUG: hookproxy(add_from_file): Method added to proxy: (<function PackagesModule.add_from_file at 0x109c14cb0>, '_hook__add_from_file__path_None__dev_False')
[2020-03-29 04:47:12] DEBUG: hookproxy(add_package): Method added to proxy: (<function PackagesModule.add_package at 0x109c14e60>, '_hook__add_package__dev_False')
[2020-03-29 04:47:12] DEBUG: hookproxy(add_package): Method added to proxy: (<function DevPackagesModule.add_package at 0x109c1f320>, '_hook__add_package__dev_True')
[2020-03-29 04:47:12] DEBUG: hookproxy(add_from_file): Method added to proxy: (<function DevPackagesModule.add_from_file at 0x109c1f440>, '_hook__add_from_file__path_None__dev_True')
[2020-03-29 04:47:12] DEBUG: hookproxy(stubs): Method added to proxy: (<function StubsModule.stubs at 0x109c47320>, '_hook__stubs__')
[2020-03-29 04:47:12] DEBUG: hookproxy(add_stub): Method added to proxy: (<function StubsModule.add_stub at 0x109c49950>, '_hook__add_stub__')
[2020-03-29 04:47:12] DEBUG: micropy: MicroPy Loaded
[2020-03-29 04:47:12] INFO: micropy: Connecting to Pyboard @ /dev/cu.SLAB_USBtoUART
[2020-03-29 04:47:12] DEBUG: pyboard: connecting to pydevice @ /dev/cu.SLAB_USBtoUART
[2020-03-29 04:47:13] DEBUG: pyboard: connected!
[2020-03-29 04:47:13] INFO: micropy: Connected!
[2020-03-29 04:47:13] INFO: micropy: Executing stubber on pyboard...
[2020-03-29 04:47:15] DEBUG: pyboard: Failed to run script on pyboard: ('exception', b'', b'MemoryError: memory allocation failed, allocating %u bytes\r\n')
[2020-03-29 04:47:15] ERROR: micropy: Failed to execute script: ('exception', b'', b'MemoryError: memory allocation failed, allocating %u bytes\r\n')

Context (Environment)

BradenM commented 4 years ago

Hi @iBobik , sorry for my late reply.

This is actually a known issue with Josverl/micropython-stubber when trying to execute it on devices with limited memory such as the esp8266.

However, I did propose a solution in the form of a PR that can be seen here: https://github.com/Josverl/micropython-stubber/pull/6

In fact micropy-cli actually uses my fork of micropython-stubber which includes the PR mentioned as I planned on implementing a -p/--patch flag for applying different patches (as see https://github.com/Josverl/micropython-stubber/pull/6#issuecomment-512033374 here), but never quite got around too it.

Unfortunately I no longer have as much time to dedicate towards this package as I used too, so I can't make any promises as to when I will get around to adding this... (but I'm always open to PRs :wink: )

Otherwise, I left instructions in PR regarding how to manually apply the patches if you want to give that a try. Thanks.