Page 1 of 1

QLC Stops calling shell scripts

Posted: Fri Jul 07, 2023 1:31 am
by djc
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

Re: QLC Stops calling shell scripts

Posted: Fri Jul 07, 2023 5:50 am
by janosvitok
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

Re: QLC Stops calling shell scripts

Posted: Fri Jul 07, 2023 9:17 am
by mcallegari
Which QLC+ version are you using?
This has been fixed a couple of versions ago

Re: QLC Stops calling shell scripts

Posted: Fri Jul 07, 2023 8:49 pm
by djc
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

Re: QLC Stops calling shell scripts

Posted: Sat Jul 08, 2023 8:21 am
by GGGss
First, you have to update your library...
sudo apt-get update
then the install.

Re: QLC Stops calling shell scripts

Posted: Sat Jul 08, 2023 10:23 am
by edogawa
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.