QLC Stops calling shell scripts

Ask a question about the usage of QLC+ with the Linux operating system
Post Reply
djc
Posts: 3
Joined: Sat Nov 05, 2022 11:38 am
Real Name:

I'm using shell scripts to control LED lights using the WLED API, I trigger the .sh scripts from QLCPlus scripts fixtures, all works perfectly but after a while of operating the scripts begin to fail and I see the below in the command line which I've launched QLC from using the below command.

qlcplus --open /home/cookeub/Downloads/DiscoLights.qxw --web --operate

Error seen once script fails.
QProcessPrivate::createPipe: Cannot create pipe 0x7f24d0108320 (Too many open files)
QProcessPrivate::createPipe: Cannot create pipe 0x7f24d0108860 (Too many open files)
QProcessPrivate::createPipe: Cannot create pipe 0x7f24d0108c70 (Too many open files)
QProcessPrivate::createPipe: Cannot create pipe 0x7f24d0108ea0 (Too many open files)
QProcessPrivate::createPipe: Cannot create pipe 0x7f24d0109180 (Too many open files)
QProcessPrivate::createPipe: Cannot create pipe 0x7f24d0109380 (Too many open files)
QProcessPrivate::createPipe: Cannot create pipe 0x7f24d0106570 (Too many open files)

Anyone got any ideas? Attached is the workspace below the script syntax (won't let me attach)

#!/bin/bash
set -e
curl -X POST "http://192.168.1.115/json/state" -d '{"ps":21}' -H "Content-Type: application/json"
exit 0
Attachments
DiscoLights.qxw
(111.35 KiB) Downloaded 72 times
janosvitok
Posts: 1274
Joined: Mon Apr 13, 2015 7:05 am
Location: Bratislava, Slovakia
Real Name: Jano Svitok
Contact:

Hi,

try to use `lsof` command to determine what process keeps what files open.
https://linuxhint.com/use-of-lsof-comma ... pen-files/

One suspect is curl, try to add --no-keepalive to the command line (default is keepalive 60 seconds)
https://curl.se/docs/manpage.html#--no-keepalive

Jano
User avatar
mcallegari
Posts: 4482
Joined: Sun Apr 12, 2015 9:09 am
Location: Italy
Real Name: Massimo Callegari
Contact:

Which QLC+ version are you using?
This has been fixed a couple of versions ago
djc
Posts: 3
Joined: Sat Nov 05, 2022 11:38 am
Real Name:

Thanks so much for the replies,
@mcallegari

I'm running

Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04

With QLC+ Version 4.12.4

If I try to update I get the following

User@ThinkPad-T500:~$ sudo apt-get -y install qlcplus
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
qlcplus is already the newest version (4.12.4-1).

I see later versions on the website, but not a linux expert to not sure how to install these?

Many Thanks DJC
Last edited by djc on Sat Jul 08, 2023 5:21 am, edited 1 time in total.
User avatar
GGGss
Posts: 2732
Joined: Mon Sep 12, 2016 7:15 pm
Location: Belgium
Real Name: Fredje Gallon

First, you have to update your library...
sudo apt-get update
then the install.
All electric machines work on smoke... when the smoke escapes... they don't work anymore
User avatar
edogawa
Posts: 572
Joined: Thu May 07, 2015 10:34 am
Real Name: Edgar Aichinger

I don't know about Ubuntu but even Debian 12's "official" distro package is behind, at version 4.12.6

If you want to try out our OBS builds:
- go to https://www.qlcplus.org/downloads.php
- find "Linux automated builds" (below the first bunch of buttons)
- select "Qt5 Release" or "Qt5 GIT (debug)" and follow the instructions

There are two methods offered for any supported linux distro: add this repo to your package manager permanently, or download the binary package directly to HD and install just this file (.deb for ubuntu).

How to continue installing a downloaded file depends on distro, for deb based distros it involves using the low level dpkg command, IIRC.

I'm on (RPM based) openSUSE so I don't know better than that, off my memory at least.
Post Reply