Other The strangest segfault I've ever seen (R version 3.4.1)

I'm running FreeBSD 11.0-RELEASE with a GENERIC kernel on an UDOO x86 (x86 single board computer). Before experiencing this issue, I've not run into any other major problems.

I decided to compile R version 3.4.1 from source, mainly because I don't have all the X dependencies required for installing R with the FreeBSD package system. Compilation went fine, with no errors. When I run it, I get an extremely weird segmentation fault. If I type the lowercase letter 'b', it types a double quote and crashes. Here's what it looks like:

Code:
R version 3.4.1 (2017-06-30) -- "Single Candle"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-unknown-freebsd11.0 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> the second letter is "
 *** caught segfault ***
address 0x2c0808, cause 'memory not mapped'

No other characters appear to do this, either uppercase/lowercase letters, numbers, or symbols. To make matters stranger, when I run python2.7 (installed from packages), I get a similar issue:

Code:
Python 2.7.13 (default, Apr 29 2017, 01:15:48)
[GCC 4.2.1 Compatible FreeBSD Clang 3.8.0 (tags/RELEASE_380/final 262564)] on freebsd11
Type "help", "copyright", "credits" or "license" for more information.
>>> the second letter is "

Python2.7 does not crash/segfault, but the double quote character appears instead of the lowercase letter b, so it seems related to the issue I'm having with R. I have not seen this issue in any other program, for example vi:

Code:
the second letter is b
~
~
~

and even ipython interprets the letter b fine:

Code:
Python 2.7.13 (default, Apr 29 2017, 01:15:48)
Type "copyright", "credits" or "license" for more information.

IPython 5.3.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

In [1]: the second letter is b

I don't know where to begin with troubleshooting this issue, and it seems like it will be impossible to fix. But I thought I would document it to get it out there.

Edit: I just ran R as root on a whim, and it works for some reason. I also created another regular user, and it runs fine. But still doesn't work under my normal user account. Argh!

Code:
 % sudo ./R

R version 3.4.1 (2017-06-30) -- "Single Candle"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-unknown-freebsd11.0 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> the second letter is b
 
I got it working, and will document this just in case anyone else ever has this problem. I had the following command in both .cshrc and .inputrc:

Code:
bindkey "\e[1~" beginning-of-line

which allows me to use my home key to return to the beginning of the line when using PuTTY to ssh to my FreeBSD computer. After removing this line from both .cshrc and .inputrc and re-logging in, I no longer had the issue. I figured this out after logging in as root and not getting the error, then creating a new user and not getting the error. I'll have to figure out a better way to enable the home key on the shell.... but, the issue does not seem related to the fix.

What a wild ride :)
 
Back
Top