Yes, works fine. And it also appears to be read when I restart birdc, because now I can crash it with ^P or ↑ without having typed a command before.
(strace confirmed: .birdc_history is read successfully)

You can try attached patch (disables reading of history).

... to no avail ... still crashes the same way.


You can also try to build BIRD 1.6.3 in the same way like 2.0.0 and see
if it by chance does not express the same problem.

No, it doesn't (I built the 2.0.0 the same way as the 1.6.3 - and all the others).

Running the 2.0.0 client inside gdb yields: (I installed libreadline6-dbg before testing)

bird> 
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff79b6a0b in previous_history () at /build/readline6-RKA9OI/readline6-6.3/history.c:185
185 /build/readline6-RKA9OI/readline6-6.3/history.c: No such file or directory.
(gdb) bt
#0  0x00007ffff79b6a0b in previous_history () at /build/readline6-RKA9OI/readline6-6.3/history.c:185
#1  0x00007ffff79b65e5 in rl_get_previous_history (count=<optimized out>, key=<optimized out>)
    at /build/readline6-RKA9OI/readline6-6.3/misc.c:609
#2  0x00007ffff799b990 in _rl_dispatch_subseq (key=65, map=<optimized out>, got_subseq=0)
    at /build/readline6-RKA9OI/readline6-6.3/readline.c:832
#3  0x00007ffff799c202 in _rl_dispatch_callback (cxt=0x61cb10) at /build/readline6-RKA9OI/readline6-6.3/readline.c:736
#4  0x00007ffff79b27ff in rl_callback_read_char () at /build/readline6-RKA9OI/readline6-6.3/callback.c:188
#5  0x0000000000403885 in input_read () at client/birdc.c:219
#6  0x00000000004020d3 in select_loop () at client/client.c:375
#7  main (argc=<optimized out>, argv=<optimized out>) at client/client.c:447

Maybe this provides a hint?!


And here's another interesting datapoint: Since I use BIRD to replace the dreadful Quagga-derivate Ubiquiti delivers with their EdgeRouters I compiled BIRD-2.0.0 for the MIPS platform and there it does not exhibit the observed behavior! 

Same libreadline version, though:

csch# ldd ./birdc-2.0.0 
librt.so.1 => /lib/mips-linux-gnu/librt.so.1 (0x77118000)
libhistory.so.6 => /lib/mips-linux-gnu/libhistory.so.6 (0x770ff000)
libreadline.so.6 => /lib/mips-linux-gnu/libreadline.so.6 (0x770b5000)
libtinfo.so.5 => /lib/mips-linux-gnu/libtinfo.so.5 (0x77087000)
libpthread.so.0 => /lib/mips-linux-gnu/libpthread.so.0 (0x7705c000)
libc.so.6 => /lib/mips-linux-gnu/libc.so.6 (0x76ee1000)
/lib/ld.so.1 (0x77136000)

Maybe I should download the src for libreadline6 to look at history.c, line 185 ;-)

Hälsningar -

Clemens