tom-2015 / rpi-ws2812-server

Raspberry Pi WS2812 (web) server tool
172 stars 39 forks source link

Cairo crash ? #70

Closed oscarmh closed 2 years ago

oscarmh commented 2 years ago

Hi there I´m launching ws2812svr with this command (not running in background)

./ws2812svr -i "setup 1,768,3;init;debug 2;brightness 1,32;config_2D 1,48,16,3,48,16;init_layer 1,0,1,0,1,0;text_input 1,0,8,48,8,6666,0,FF0000,000000,50,8,,,"enhanced_led_board-7.ttf""

very standard one and then I run a bash script like this

!/bin/bash

while : do timedatectl set-timezone Europe/Berlin echo " DUBLIN " | nc -w 0 127.0.0.1 6666 date "+%H:%M:%S (%a %d/%m)" | nc -w 0 127.0.0.1 6666 # timedatectl set-timezone Europe/Paris echo " MADRID " | nc -w 0 127.0.0.1 6666 date "+%H:%M:%S (%a %d/%m)" | nc -w 0 127.0.0.1 6666 # timedatectl set-timezone America/New_York echo " NEW YORK " | nc -w 0 127.0.0.1 6666 date "+%H:%M:%S (%a %d/%m)" | nc -w 0 127.0.0.1 6666 # done

it is running in a RPI Zero but after 5 minutes or so, I got an error and crash. Any suggestions ?

oscarmh commented 2 years ago

THat´s the error I receive

READY Client connected to port 6666. Character received Character received Character received N ws2812svr: ../../../../src/cairo-error.c:68: _cairo_error: Assertion `_cairo_status_is_error (status)' failed. Aborted root@raspberrypi:~/rpi-ws2812-server#

tom-2015 commented 2 years ago

Could there be a non supported character or maybe something with the font? Could be a bug in Cairo as well... I'll have to try and run this code with gdb to try and figure out what is going on.

Does it always crash at the same point or rather after a random time?

oscarmh commented 2 years ago

random... between 2 or 3 minutes

tom-2015 commented 2 years ago

Maybe as work around until problem is fixed, you can try to run the ./ws2812svr command in a separate bash file with a loop so it will auto restart after a crash?

oscarmh commented 2 years ago

any suggestion on how to do that ? You mean restarting it after running 5 times for example ?

tom-2015 commented 2 years ago

something like:

!/bin/bash

while : do ./ws2812svr -i "setup 1,768,3;init;debug 2;brightness 1,32;config_2D 1,48,16,3,48,16;init_layer 1,0,1,0,1,0;text_input 1,0,8,48,8,6666,0,FF0000,000000,50,8,,,"enhanced_led_board-7.ttf"" done

Put in a separate bash file and launch that first.

oscarmh commented 2 years ago

that is curious when I launch it I need to press intro so it activates the port 6666... have your tested it ?