Lopy4 core panic crash while using as LoRA Nano Gateway



  • Hello everyone,
    I'm currently facing a problem while using one of my Lopy4 as a LoRaWAN Nano Gateway. I'm using the latest version of the example from Pycom (see here).
    After a random time, the Lopy4 is crashing with the following error :

    Guru Meditation Error: Core  1 panic'ed (LoadProhibited). Exception was unhandled.
    Core 1 register dump:
    PC      : 0x4010a38b  PS      : 0x00060230  A0      : 0x800e0fc8  A1      : 0x3ffd80e0  
    A2      : 0x00000001  A3      : 0x00000001  A4      : 0x00000000  A5      : 0x00000001  
    A6      : 0x00000000  A7      : 0x00060023  A8      : 0x801091d6  A9      : 0x3ffe54e0  
    A10     : 0x00000001  A11     : 0x00000001  A12     : 0x3f94f3a0  A13     : 0x3f94f3a0  
    A14     : 0x3ffe5670  A15     : 0x3ffe55d0  SAR     : 0x0000001c  EXCCAUSE: 0x0000001c  
    EXCVADDR: 0x00000001  LBEG    : 0x4009347c  LEND    : 0x400934aa  LCOUNT  : 0xffffffff  
    
    ELF file SHA256: 0000000000000000000000000000000000000000000000000000000000000000
    
    Backtrace: 0x4010a38b:0x3ffd80e0 0x400e0fc5:0x3ffd8100 0x400e1036:0x3ffd8120 0x400e1555:0x3ffd8150 0x40108211:0x3ffd8170 0x40101b9a:0x3ffd81a0 0x400fdf49:0x3ffd81d0 0x40109ef9:0x3ffd81f0 0x40101c34:0x3ffd8290 0x400fdf49:0x3ffd82c0 0x400fdf76:0x3ffd82e0 0x400e1625:0x3ffd8300 0x400e18c9:0x3ffd83a0 0x400e014c:0x3ffd83c0
    

    I decoded the Core Dump that you can find below:

    ===============================================================
    ==================== ESP32 CORE DUMP START ====================

    Crashed task handle: 0x3ffd48ac, name: 'wifi', GDB name: 'process 1073563820'

    ================== CURRENT THREAD REGISTERS ===================
    exccause       0x1c (LoadProhibitedCause)
    excvaddr       0x1fdcf02c
    epc1           0x0
    epc2           0x0
    epc3           0x0
    epc4           0x0
    epc5           0x0
    epc6           0x0
    epc7           0x0
    eps2           0x0
    eps3           0x0
    eps4           0x0
    eps5           0x0
    eps6           0x0
    eps7           0x0
    pc             0x4015bdba	0x4015bdba <wdevProcessRxSucDataAll+998>
    lbeg           0x4009347c	1074345084
    lend           0x400934aa	1074345130
    lcount         0xffffffff	4294967295
    sar            0x1f	31
    ps             0x60120	393504
    threadptr      <unavailable>
    br             <unavailable>
    scompare1      <unavailable>
    acclo          <unavailable>
    acchi          <unavailable>
    m0             <unavailable>
    m1             <unavailable>
    m2             <unavailable>
    m3             <unavailable>
    expstate       <unavailable>
    f64r_lo        <unavailable>
    f64r_hi        <unavailable>
    f64s           <unavailable>
    fcr            <unavailable>
    fsr            <unavailable>
    a0             0x80157101	-2146078463
    a1             0x3ffd4780	1073563520
    a2             0x1	1
    a3             0x0	0
    a4             0x3ffe2440	1073620032
    a5             0x3ffce1e8	1073537512
    a6             0x1fdcf02c	534573100
    a7             0x3ffe04b0	1073611952
    a8             0x8000000	134217728
    a9             0x22	34
    a10            0x0	0
    a11            0x0	0
    a12            0x0	0
    a13            0x3ffc0ea4	1073483428
    a14            0xfe	254
    a15            0x1	1
    
    ==================== CURRENT THREAD STACK =====================
    #0  0x4015bdba in wdevProcessRxSucDataAll ()
    #1  0x40157101 in ppTask ()
    
    ======================== THREADS INFO =========================
      Id   Target Id         Frame 
    * 1    process 1073563820 0x4015bdba in wdevProcessRxSucDataAll ()
      2    process 1073462964 0x40211f42 in esp_pm_impl_waiti () at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/pm_esp32.c:492
      3    process 1073461568 0x40211f42 in esp_pm_impl_waiti () at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/pm_esp32.c:492
      4    process 1073497548 0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
      5    process 1073433912 0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
      6    process 1073590784 0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
      7    process 1073564188 0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
      8    process 1073455028 0x40095e0c in xQueueGenericReceive (xQueue=0x3ffb9edc, pvBuffer=0x3ffbaf30, xTicksToWait=69, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
      9    process 1073438324 0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
      10   process 1073466144 0x40097d19 in prvProcessTimerOrBlockTask (xListWasEmpty=1, xNextExpireTime=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/timers.c:589
      11   process 1073595596 0x4000bff0 in ?? ()
      12   process 1073437356 0x4000bff0 in ?? ()
      13   process 1073445480 0x40095e0c in xQueueGenericReceive (xQueue=0x3ffb760c, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
      14   process 1073445936 0x40095e0c in xQueueGenericReceive (xQueue=0x3ffb7bd8, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
      15   process 1073459364 0x40095e0c in xQueueGenericReceive (xQueue=0x3ffbd4cc, pvBuffer=0x3ffd9140, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
      16   process 1073443452 0x40095e0c in xQueueGenericReceive (xQueue=0x3ffc4020 <s_timer_semaphore_memory>, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
      17   process 1073597152 0x40095e0c in xQueueGenericReceive (xQueue=0x3ffdb370, pvBuffer=0x3ffdeb90, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
      18   process 1073459996 0x4000bff0 in ?? ()
    
    ==================== THREAD 1 (TCB: 0x3ffd48ac, name: 'wifi') =====================
    #0  0x4015bdba in wdevProcessRxSucDataAll ()
    #1  0x40157101 in ppTask ()
    
    ==================== THREAD 2 (TCB: 0x3ffbbeb4, name: 'IDLE1') =====================
    #0  0x40211f42 in esp_pm_impl_waiti () at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/pm_esp32.c:492
    #1  0x40172b0e in esp_vApplicationIdleHook () at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/freertos_hooks.c:63
    #2  0x40096de8 in prvIdleTask (pvParameters=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:3382
    
    ==================== THREAD 3 (TCB: 0x3ffbb940, name: 'IDLE0') =====================
    #0  0x40211f42 in esp_pm_impl_waiti () at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/pm_esp32.c:492
    #1  0x40172b0e in esp_vApplicationIdleHook () at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/freertos_hooks.c:63
    #2  0x40096de8 in prvIdleTask (pvParameters=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:3382
    
    ==================== THREAD 4 (TCB: 0x3ffc45cc, name: 'MicroPy') =====================
    #0  0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
    #1  0x400e0fc1 in mp_hal_delay_ms (delay=1) at hal/esp32_mphal.c:217
    #2  0x400e1039 in mp_hal_stdin_rx_chr () at hal/esp32_mphal.c:148
    #3  0x400e1558 in readline (line=0x3ffd8170, prompt=0x3f439a3b \"\") at ../lib/mp-readline/readline.c:425
    #4  0x40108214 in mp_builtin_input (n_args=0, args=0x3f94ef38) at ../py/modbuiltins.c:245
    #5  0x40101b9d in fun_builtin_var_call (self_in=<optimized out>, n_args=0, n_kw=0, args=0x3f94ef38) at ../py/objfun.c:127
    #6  0x400fdf4c in mp_call_function_n_kw (fun_in=0x3f4102e0 <mp_builtin_input_obj>, n_args=0, n_kw=0, args=0x3f94ef38) at ../py/runtime.c:624
    #7  0x40109efc in mp_execute_bytecode (code_state=0x3f94ef20, inject_exc=0x0) at ../py/vm.c:919
    #8  0x40101c37 in fun_bc_call (self_in=<optimized out>, n_args=<optimized out>, n_kw=0, args=0x0) at ../py/objfun.c:287
    #9  0x400fdf4c in mp_call_function_n_kw (fun_in=0x3f94ee50, n_args=0, n_kw=0, args=0x0) at ../py/runtime.c:624
    #10 0x400fdf79 in mp_call_function_0 (fun=0x3f94ee50) at ../py/runtime.c:598
    #11 0x400e1628 in parse_compile_execute (source=0x3f40175d, input_kind=MP_PARSE_FILE_INPUT, exec_flags=32) at ../lib/utils/pyexec.c:103
    #12 0x400e18cc in pyexec_file (filename=0x3f40175d \"main.py\") at ../lib/utils/pyexec.c:555
    #13 0x400e014f in TASK_Micropython (pvParameters=<optimized out>) at mptask.c:320
    
    ==================== THREAD 5 (TCB: 0x3ffb4d38, name: 'LoRa') =====================
    #0  0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
    #1  0x40112888 in TASK_LoRa (pvParameters=<optimized out>) at mods/modlora.c:804
    
    ==================== THREAD 6 (TCB: 0x3ffdb200, name: 'Servers') =====================
    #0  0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
    #1  0x400e0288 in TASK_Servers (pvParameters=<optimized out>) at serverstask.c:129
    
    ==================== THREAD 7 (TCB: 0x3ffd4a1c, name: 'MPThread') =====================
    #0  0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
    #1  0x400e0fc1 in mp_hal_delay_ms (delay=20) at hal/esp32_mphal.c:217
    #2  0x40116a0b in time_sleep_ms (arg=0x29) at mods/modutime.c:143
    #3  0x40101b24 in fun_builtin_1_call (self_in=0x3f42839c <time_sleep_ms_obj>, n_args=1, n_kw=0, args=0x3f95151c) at ../py/objfun.c:70
    #4  0x400fdf4c in mp_call_function_n_kw (fun_in=0x3f42839c <time_sleep_ms_obj>, n_args=1, n_kw=0, args=0x3f95151c) at ../py/runtime.c:624
    #5  0x400fdfdc in mp_call_method_n_kw (n_args=1, n_kw=0, args=0x3f951514) at ../py/runtime.c:640
    #6  0x40109f8a in mp_execute_bytecode (code_state=0x3f951500, inject_exc=0x0) at ../py/vm.c:1002
    #7  0x40101c37 in fun_bc_call (self_in=<optimized out>, n_args=<optimized out>, n_kw=0, args=0x3ffe55c0) at ../py/objfun.c:287
    #8  0x400fdf4c in mp_call_function_n_kw (fun_in=0x3f94fc60, n_args=1, n_kw=0, args=0x3ffe55c0) at ../py/runtime.c:624
    #9  0x401004af in mp_call_method_self_n_kw (meth=0x3f94fc60, self=<optimized out>, n_args=0, n_kw=0, args=0x3f951148) at ../py/objboundmeth.c:70
    #10 0x401004cc in bound_meth_call (self_in=0x3f951120, n_args=0, n_kw=0, args=0x3f951148) at ../py/objboundmeth.c:83
    #11 0x400fdf4c in mp_call_function_n_kw (fun_in=0x3f951120, n_args=0, n_kw=0, args=0x3f951148) at ../py/runtime.c:624
    #12 0x40108f6b in thread_entry (args_in=0x3f951130) at ../py/modthread.c:187
    #13 0x400e0a0c in freertos_entry (arg=0x3f951130) at mpthreadport.c:140
    
    ==================== THREAD 8 (TCB: 0x3ffb9fb4, name: 'tiT') =====================
    #0  0x40095e0c in xQueueGenericReceive (xQueue=0x3ffb9edc, pvBuffer=0x3ffbaf30, xTicksToWait=69, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
    #1  0x4018e015 in sys_arch_mbox_fetch (mbox=<optimized out>, msg=0x3ffbaf30, timeout=69) at /Users/ehlers/pycom/pycom-esp-idf/components/lwip/port/esp32/freertos/sys_arch.c:297
    #2  0x401864e7 in sys_timeouts_mbox_fetch (mbox=0x3ffcfec8 <mbox>, msg=0x3ffbaf30) at /Users/ehlers/pycom/pycom-esp-idf/components/lwip/lwip/src/core/timeouts.c:430
    #3  0x4017ef4b in tcpip_thread (arg=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/lwip/lwip/src/api/tcpip.c:109
    
    ==================== THREAD 9 (TCB: 0x3ffb5e74, name: 'Sigfox') =====================
    #0  0x40096c06 in vTaskDelay (xTicksToDelay=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:1484
    #1  0x401f958a in TASK_Sigfox (pvParameters=<optimized out>) at sigfox/src/modsigfox.c:301
    
    ==================== THREAD 10 (TCB: 0x3ffbcb20, name: 'Tmr Svc') =====================
    #0  0x40097d19 in prvProcessTimerOrBlockTask (xListWasEmpty=1, xNextExpireTime=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/timers.c:589
    #1  prvTimerTask (pvParameters=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/timers.c:544
    
    ==================== THREAD 11 (TCB: 0x3ffdc4cc, name: 'Socket Operatio') =====================
    #0  0x4000bff0 in ?? ()
    #1  0x40096720 in vTaskExitCritical (mux=0x3ffbdd44 <xTaskQueueMutex>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:4274
    #2  0x40097826 in ulTaskNotifyTake (xClearCountOnExit=1, xTicksToWait=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:4664
    #3  0x400e608a in TASK_SOCK_OPS (pvParameters=<optimized out>) at mods/modusocket.c:704
    
    ==================== THREAD 12 (TCB: 0x3ffb5aac, name: 'LoRa_Timer_call') =====================
    #0  0x4000bff0 in ?? ()
    #1  0x40096720 in vTaskExitCritical (mux=0x3ffb3c74) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:4274
    #2  0x40095e03 in xQueueGenericReceive (xQueue=0x3ffb3c28, pvBuffer=0x3ffb5a10, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1591
    #3  0x40111394 in TASK_LoRa_Timer (pvParameters=<optimized out>) at mods/modlora.c:1196
    
    ==================== THREAD 13 (TCB: 0x3ffb7a68, name: 'ipc0') =====================
    #0  0x40095e0c in xQueueGenericReceive (xQueue=0x3ffb760c, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
    #1  0x40081e1c in ipc_task (arg=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/ipc.c:51
    
    ==================== THREAD 14 (TCB: 0x3ffb7c30, name: 'ipc1') =====================
    #0  0x40095e0c in xQueueGenericReceive (xQueue=0x3ffb7bd8, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
    #1  0x40081e1c in ipc_task (arg=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/ipc.c:51
    
    ==================== THREAD 15 (TCB: 0x3ffbb0a4, name: 'eventTask') =====================
    #0  0x40095e0c in xQueueGenericReceive (xQueue=0x3ffbd4cc, pvBuffer=0x3ffd9140, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
    #1  0x401729e0 in esp_event_loop_task (pvParameters=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/event_loop.c:53
    
    ==================== THREAD 16 (TCB: 0x3ffb727c, name: 'esp_timer') =====================
    #0  0x40095e0c in xQueueGenericReceive (xQueue=0x3ffc4020 <s_timer_semaphore_memory>, pvBuffer=0x0, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
    #1  0x400d2469 in timer_task (arg=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/esp32/esp_timer.c:324
    
    ==================== THREAD 17 (TCB: 0x3ffdcae0, name: 'IRQs') =====================
    #0  0x40095e0c in xQueueGenericReceive (xQueue=0x3ffdb370, pvBuffer=0x3ffdeb90, xTicksToWait=4294967295, xJustPeeking=0) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/queue.c:1592
    #1  0x400f42f0 in TASK_Interrupts (pvParameters=<optimized out>) at util/mpirq.c:61
    #2  0x400e0a0c in freertos_entry (arg=0x3ffc924c <mpirq_args>) at mpthreadport.c:140
    
    ==================== THREAD 18 (TCB: 0x3ffbb31c, name: 'SmartConfig') =====================
    #0  0x4000bff0 in ?? ()
    #1  0x40096720 in vTaskExitCritical (mux=0x3ffbdd44 <xTaskQueueMutex>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:4274
    #2  0x40097826 in ulTaskNotifyTake (xClearCountOnExit=1, xTicksToWait=<optimized out>) at /Users/ehlers/pycom/pycom-esp-idf/components/freertos/tasks.c:4664
    #3  0x400e6fb3 in TASK_SMART_CONFIG (pvParameters=<optimized out>) at mods/modwlan.c:974
    
    
    ======================= ALL MEMORY REGIONS ========================
    Name   Address   Size   Attrs
    .rtc.text 0x400c0000 0x64 R XA
    .rtc.data 0x50000000 0x81c RW A
    .rtc_noinit 0x5000081c 0x0 RW  
    .rtc.force_slow 0x5000081c 0x0 RW  
    .iram0.vectors 0x40080000 0x400 R XA
    .iram0.text 0x40080400 0x18854 R XA
    .dram0.data 0x3ffbdb60 0x4940 RW A
    .noinit 0x3ffc24a0 0x0 RW  
    .flash.rodata 0x3f400020 0x44f74 RW A
    .flash.text 0x400d0018 0x144cf0 R XA
    .coredump.tasks.data 0x3ffd48ac 0x16c RW 
    .coredump.tasks.data 0x3ffd46c0 0x1e4 RW 
    .coredump.tasks.data 0x3ffbbeb4 0x16c RW 
    .coredump.tasks.data 0x3ffbbd10 0x19c RW 
    .coredump.tasks.data 0x3ffbb940 0x16c RW 
    .coredump.tasks.data 0x3ffbb7a0 0x198 RW 
    .coredump.tasks.data 0x3ffc45cc 0x16c RW 
    .coredump.tasks.data 0x3ffd8020 0x5cc RW 
    .coredump.tasks.data 0x3ffb4d38 0x16c RW 
    .coredump.tasks.data 0x3ffb4b40 0x1f0 RW 
    .coredump.tasks.data 0x3ffdb200 0x16c RW 
    .coredump.tasks.data 0x3ffdb090 0x168 RW 
    .coredump.tasks.data 0x3ffd4a1c 0x16c RW 
    .coredump.tasks.data 0x3ffe5350 0x418 RW 
    .coredump.tasks.data 0x3ffb9fb4 0x16c RW 
    .coredump.tasks.data 0x3ffbadd0 0x1f4 RW 
    .coredump.tasks.data 0x3ffb5e74 0x16c RW 
    .coredump.tasks.data 0x3ffd2200 0x204 RW 
    .coredump.tasks.data 0x3ffbcb20 0x16c RW 
    .coredump.tasks.data 0x3ffbc9c0 0x158 RW 
    .coredump.tasks.data 0x3ffdc4cc 0x16c RW 
    .coredump.tasks.data 0x3ffdc330 0x194 RW 
    .coredump.tasks.data 0x3ffb5aac 0x16c RW 
    .coredump.tasks.data 0x3ffb58e0 0x1c4 RW 
    .coredump.tasks.data 0x3ffb7a68 0x16c RW 
    .coredump.tasks.data 0x3ffb78e0 0x180 RW 
    .coredump.tasks.data 0x3ffb7c30 0x16c RW 
    .coredump.tasks.data 0x3ffb9cb0 0x188 RW 
    .coredump.tasks.data 0x3ffbb0a4 0x16c RW 
    .coredump.tasks.data 0x3ffd9040 0x1b0 RW 
    .coredump.tasks.data 0x3ffb727c 0x16c RW 
    .coredump.tasks.data 0x3ffb70e0 0x194 RW 
    .coredump.tasks.data 0x3ffdcae0 0x16c RW 
    .coredump.tasks.data 0x3ffdea30 0x21c RW 
    .coredump.tasks.data 0x3ffbb31c 0x16c RW 
    .coredump.tasks.data 0x3ffda060 0x194 RW 
    
    ===================== ESP32 CORE DUMP END =====================
    ===============================================================
    

    Could you help me on this? For information, I'm also using the latest stable 1.20.2.rc6 firmware version.
    Thanks!


Log in to reply
 

Pycom on Twitter