[Pkg-lirc-maint] Bug#872375: lirc: irrecord segfaults when recording a button

Francois Gouget fgouget at free.fr
Sun Sep 24 01:50:18 UTC 2017

On Fri, 15 Sep 2017, Alec Leamas wrote:
> > As before I get:
> > # irrecord -H devinput -f -d /dev/input/event13 /tmp/foo.conf
> This is actually not sane, and a prominent note is displayed when you start
> irrecord like this [1]

Actually it's the -f option that causes the crash. I can reproduce it 

# irrecord -f /tmp/foo.conf

But it's not 100% reproducible now, particularly when I try to use 
my own libirrecord.so so I have debugging symbols. What I can give you 
though is the irrecord backtrace:

#0  0x0000000000000000 in ?? ()
#1  0x00007f5644aaae73 in record_buttons ()
   from /usr/lib/x86_64-linux-gnu/libirrecord.so.0
#2  0x000055555555802d in get_button_data (opts=0x7fffffffe2d0, state=0x7fffffffe290, 
    btn_state=0x7fffffffe110) at irrecord-ui.cpp:759
#3  do_record_buttons (state=0x7fffffffe290, opts=0x7fffffffe2d0) at irrecord-ui.cpp:814
#4  0x0000555555556ddf in main (argc=<optimized out>, argv=<optimized out>)
    at irrecord-ui.cpp:1179

Compiled from git commit be62884be227.
So the crash happens somewhere in record_buttons() in irrecord.c.
I suspect the curr_driver methods are not getting initialized... 

Now as to why I have driver=devinput in lirc_options.conf, it's because 
it's the only way I found to get my remote to work. Setting 
driver=default driver does not work and if I only provide 
devinput.lircd.conf and no Hauppauge_PVR350.conf file then it does not 
work either. And I don't see any other driver that looks like it matches 
my receiver.

IR receiver      : IR605Q
Universal Remote : Logitech Harmony 650
Emulated Remote  : Hauppauge 350

That said, now I've found the right way to recreate the 
Hauppauge_PVR350.conf file is with this command (I think):

# irrecord -H default /tmp/foo.conf

Francois Gouget <fgouget at free.fr>              http://fgouget.free.fr/
                     f u kn rd ts, ur wy 2 gky 4 ur wn gd.

More information about the Pkg-lirc-maint mailing list