I'm getting this same segfault as well. My old remote fell apart, so I was trying to train the IR receiver on a new one (well, the unused VCR section of the current TV remote.
This is what I get: Starting program: /usr/bin/irrecord -d /dev/lirc0 -f [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux- gnu/libthread_db.so.1". Warning: Running as root. Using raw access on device /dev/lirc0 irrecord - application for recording IR-codes for usage with lirc Copyright (C) 1998,1999 Christoph Bartelmus(l...@bartelmus.de) This program will record the signals from your remote control and create a config file for lircd. A proper config file for lircd is maybe the most vital part of this package, so you should invest some time to create a working config file. Although I put a good deal of effort in this program it is often not possible to automatically recognize all features of a remote control. Often short-comings of the receiver hardware make it nearly impossible. If you have problems to create a config file READ THE DOCUMENTATION at https://sf.net/p/lirc-remotes/wiki If there already is a remote control of the same brand available at http://sf.net/p/lirc-remotes you might want to try using such a remote as a template. The config files already contains all parameters of the protocol used by remotes of a certain brand and knowing these parameters makes the job of this program much easier. There are also template files for the most common protocols available. Templates can be downloaded using irdb-get(1). You use a template file by providing the path of the file as a command line parameter. Please take the time to finish the file as described in https://sourceforge.net/p/lirc-remotes/wiki/Checklist/ an send it to <l...@bartelmus.de> so it can be made available to others. Press RETURN to continue. Usually you should not create a new config file for devinput devices. LIRC is installed with a devinput.lircd.conf file which is built for the current system which works with all remotes supported by the kernel. There might be a need to update this file so it matches the current kernel. For this, use the lirc-make-devinput(1) script. Press RETURN to continue. Checking for ambient light creating too much disturbances. Please don't press any buttons, just wait a few seconds... No significant noise (received 0 bytes) Enter name of remote (only ascii, no spaces) :c Using c.lircd.conf as output filename Hold down an arbitrary key ....................................................................... ......... Found gap (7941 us) Please enter the name for the next button (press <ENTER> to finish recording) KEY_A Now hold down button "KEY_A". Program received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb) bt #0 0x0000000000000000 in ?? () #1 0x00007ffff79af1eb in record_buttons (btn_state=0x7fffffffe560, last_status=<optimized out>, state=<optimized out>, opts=<optimized out>) at irrecord.c:1966 #2 0x000055555555814d in ?? () #3 0x0000555555556e4c in ?? () #4 0x00007ffff7613f2a in __libc_start_main (main=0x5555555564c0, argc=4, argv=0x7fffffffeb58, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffeb48) at ../csu/libc-start.c:310 #5 0x00005555555574da in ?? () (gdb) James