pybytes coredump



  • Hi as far as i know there is not a single place to drop coredumps and the conditions in which this happend for pybytes.
    maybe this is a good place to collect al those.

    i got this one when i was connection to the flash filesystem in pybytes while it was sending something to pybytes.
    clearly it couldn't handle it.

    i did reboot an successfully reconnect to pybytes.

    and maybe the caracter limit should at least allow us to post a coredump?
    or least allow the upload of a txt file?

    Error publish 119
    ***ERROR*** A stack overflow in task MPThread has been detected.
    abort() was called at PC 0x4008ed4c on core 1
    
    Backtrace: 0x4008ed03:0x3ffe9ce0 0x4008ed34:0x3ffe9d00 0x4008ed4c:0x3ffe9d20 0x4008bfc3:0x3ffe9d40 0x4008d89c:0x3ffe9d70 0x4008d852:0xb8537231
    

    0_1550041399508_pybytes coredump.py



  • @jirkakrepl

    i Don't have that exact software version anymore and you couldn't do much with it because it communicates via CAN-bus with some other devices you probably don't have.
    the sending to pybytes parts looks a lot like the provided example.

    the time it crashed i didn't update a part i only tried to open the flash tab in pybytes.

    i get the

    Error publish [Errno 12] ENOMEM
    

    more if i increase the wait time between some data bursts. with 60 seconds almost never but with 600 seconds more often.



  • @eric-waai You wrote, that you had this error while you tried to update some code, while your device was sending some data to pybytes.

    If you could give the code which was running on your device and the code that you tried to update, I could try to replicate your error at our end.

    Thank you:)



  • @jirkakrepl
    with the filesystem
    if i edit a file , for example something like this

    lib/pysense.py
    Device file | 183 bytes | Last synchronization: a month ago    ping    offline
    
    from pycoproc import Pycoproc
    
    __version__ = '1.4.0'
    
    class Pysense(Pycoproc):
    
        def __init__(self, i2c=None, sda='P22', scl='P21'):
            Pycoproc.__init__(self, i2c, sda, scl)
    
    

    when i edit p21 to p23

    2 seconds later it automatically switch back to 21

    @jirkakrepl said in pybytes coredump:

    What is your which is sending signals to Pybytes, please?

    i have no idea what you mean by this sentence.



  • Hi, @eric-waai FiPy has 4MB of RAM, which should be enough. Could you please send us the code you're trying to upload? Is that happening every time?

    What is your which is sending signals to Pybytes, please?

    We deployed the fix, it works now.



  • @jirkakrepl i have no idea how much RAM my device has. i have 2 fipy's

    i also get

    Error publish [Errno 12] ENOMEM
    

    sometimes
    and

    error publish 118
    

    when both that errors appear i think the socket is not closed properly
    it will never reconnect successful automatically
    it always need a hard reset

    about the OTA. if i use the file editor it automatic clears my edits after a few seconds. it is pretty unusable at this point.



  • Hi @eric-waai, which device have you tried with "Flash filesystem OTA", please?

    One cause of this problem might be the amount of RAM device have.

    Have you tried with a device with 512KB of RAM or 4MB of RAM?
    If you have a device with 4MB of RAM I highly recommend using that one with "Flash filesystem OTA".

    Devices with 512KB of ram don't work well with "Flash filesystem OTA" at this moment.

    We're going to create a warning for this in Pybytes



  • i got an other error

    it did recover successfull

    Error check_msg -80
    Using MQTT over TLS
    Reconnected to MQTT server: "mqtt.pybytes.pycom.io"
    


  • I'll look into increasing character limit / allowing .txt uploads. alternatively. a service like gist.github.com or pastebin.com works for crash dumps.

    Ill raise this crash with the pybytes team however. Thanks for reporting it.


 

Pycom on Twitter