Hyperion crashes on startup

  • Hi,

    I have huge difficulties trying to get hyperion to work.

    First of all: I have downloaded HyperCon to configure my Setup.
    I am using a Raspberry Pi 3 (Raspbian), ws2812b with 256 LEDs.

    My first problems occured when starting hyperion using systemd. Hyperion seems to crash shortly after it's started.

    Sometimes (very rare) though, it doesnt crash but instead freezes, systemctl says that hyperion is properly running, though I can not use hyperion-remote commands. I noticed that hyperion actually tried to adress the LED stip (as SOME LEDs have lighted up in the right color, seemingly random which ones lit up):

    Also, sometimes the ports 19444/19445 show up in netstat -ntlp and nmap --open -p19444-19445, and sometimes they don't.

    I thought that it might be a mem problem, so here's my free:

    root@raspberrypi:~# free
      total  used  free  shared  buffers  cached
    Mem:  945512  125792  819720  6640  16160  67344
    -/+ buffers/cache:  42288  903224
    Swap:  511996  0  511996
  • This is my config.json

  • I also managed to get an strace of the process until it crashes:

    This time it actually transformed some LED colors until it crashed shortly after. LEDs are still colored of course.

  • It is actually working once i used a particular number of "only" 40 LEDs. (Does not work with 20 though, 50 doesnt work, 52 works fine... No idea what that is)
    Doesn't seem to be SD card related imho

  • It really is ridiculous that mine does not run anywhere near smooth with just 40 LEDs :D

    Sometimes, the process gets stuck here:

    When i do a "systemctl stop hyperion.service" from another shell, the service THEN starts working for 3-5 seconds, then gets killed by systemd.
    What is happening???

  • So this actually helped for some cases where I use only 52 LEDs.

    Once I change the conf to use 256LEDs this still crashes and / or freezes at that "nanosleep" you can see in the straces until you try to step hyperion and it actually works "OK" for a short period of time.

  • It seems highly config-related whether hyperion runs or not...

    Is there a way to change the refreshrate?
    My pi usually decodes audio signals and visualizes them as LEDs. Runs smooth at 28fps...

  • What's striking is that when I try and start hyperion via systemd (and it fails) I just do it again and again and again fast.
    Eventually it now started to work, LED's are in wrong colors stuff. (Colorscheme grb worked perfectly with less LEDs so it shouldnt be the problem so this is still some runtime error!)

    LEDs were glowing red when this was my screen (screenshot from hyperion-v4l2 with same args as hyperion would run)

    I started a "top" on another shell and I'm not even using 20% CPU with also 80% of RAM still free!

  • got the same problem, asked a staff member but he couldnt help me. The weird thing is that it worked for me with the previous version 1.03.3 but since the update i cant get it to run. Bought a new raspi zero and new sd card, nothing helped. Hyperion hasnt been updated since 05.04, so im not very optimistic that i will get it to run. I will try next month with different hardware, maybe that works. There a definitely others out there with the same issue



    ive got the ws2812b too, maybe i order different led on amazon

  • I thought the same: Maybe it's an issue with the ws2812b. Probably gonna buy apa102 instead... :/

    Edit: I somehow got it to not crash anymore, but now it doesn't control my LED's anymore.
    Sometimes it does work, sometimes it doesnt. Don't know the reason tbh.

    I dont use a logic level converter. Can that be a problem? I can use the strandtest etc. flawlessly though.

  • Why not try driving your ws2812b's via a Arduino nano/clone(or your favorite ATmega328P Arduino), instead of from the GPIO's from the Pi? All the ws2812b's I've assembled work much better with a Arduino Nano as the driver via USB to the Pi.

    Sure it add another layer of minor complexity to the build. However the knowledge gained my lead to other cool builds.

    Just a thought.

  • Quick update:
    I've installed the adafruit logic level shifter. Strandtest etc still work, just hyperion does not send any systemcalls to change LED's. Why is that so?

    Edit: This is VERY HARD to recreate. No idea why, but now i'm getting SIGSEGV again >.>

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!