Just noticed that when I run lircd with valgrind the lockup happens quite reproducibly here on my x86 box when running 2 irsend commands right after each other (irsend ... ; irsend ...). Hope this helps you to reproduce the issue
ldd output looks fine to me: camel2:~# ldd /opt/lirc-0.10.1/sbin/lircd linux-vdso.so.1 (0x00007ffe9f173000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007ff617b6a000) liblirc.so.0 => /opt/lirc-0.10.1/lib/liblirc.so.0 (0x00007ff617944000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007ff617740000) libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007ff618164000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007ff6173be000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6...
I could now also reproduce this on x86: Debian Stretch, vanilla upstream 64-bit kernel 4.14.17 using the serial_ir driver. lircd started as in initial report: /opt/lirc-0.10.1/sbin/lircd --driver=default --device=/dev/lirc0 -n -o /tmp/lirc -P /tmp/lircd.pid sony-repeat.conf then irsend started in a loop: while true ; do /opt/lirc-0.10.1/bin/irsend -d /tmp/lirc SEND_ONCE Sony-RM-U305A KEY_POWER ; done After about a minute or two lircd is stuck again in poll() and irsend in read() camel2:~# gdb /opt/lirc-0.10.1/sbin/lircd...
Please note that the issues were NOT observed with the downstream lirc_rpi kernel driver but with the upstream mceusb and pwm-ir-tx drivers from the rc-core subsystem. As ir-ctl is working fine with these kernel drivers a bug in lircd seems like a likely possibility (although I won't rule out some other cause). ATM I can't test lirc stuff on a non-RPi platform but I redid the steps and had a closer look with gdb. irsend seems to be hanging in read(): (gdb) where #0 0x76caf16c in read () at ../sysdeps/unix/syscall-template.S:84...
irsend / lircd hang when using repeats
I can confirm that -rc3 fixes the issues, the ticket can be closed. BTW: We've included 0.10.0-rc3 in the LibreELEC testbuilds, everything looking fine so far, thanks a lot for your awesome work!
With the 4 patches lirc now builds fine from git and the patched rc2 release tar, both in the source root and in a subdir (tested on Debian Jessie and Stretch). Thanks a lot!
I've re-tested with the lirc-0.10.0-rc2 tag plus the 3 patches on Debian Jessie and Stretch. Compiling in the git root works fine if I remove the lib/config.h symlink. With this link removed compilation in a subdir still works as well. The symlink was added with this commit - was it maybe included by mistake? commit 700f4a54ccb89a7344d13700c2bc69d06f874cc5 Author: Alec Leamas <leamas.alec@gmail.com> Date: Tue Mar 7 14:46:14 2017 +0100 lib: Add development link for lirc/config.h Edit: just saw you...