From org.r-project at pooryorick.com  Wed Mar  5 19:35:41 2008
From: org.r-project at pooryorick.com (org.r-project at pooryorick.com)
Date: Wed,  5 Mar 2008 19:35:41 +0100 (CET)
Subject: [Rd] Press delete key three times in R-2.6.1 to get segmentation
	fault (PR#10892)
Message-ID: <20080305183541.24BB9282EFF0@mail.pubhealth.ku.dk>

Full_Name: Poor Yorick
Version: R-2.6.1
OS: 2.4.21-50.ELhugemem #1 SMP Tue May 8 17:10:31 EDT 2007 i686 i686 i386 GNU/Linux
Submission from: (NULL) (148.168.40.4)


After compiling R-2.6.1 with gcc-4.2.1 pressing the 'delete' key three times in
an interactive session causes R to malfunction, spitting out an infinite stream
of errors.  I have also replicated the issue in R-2.5.1:


	R version 2.6.1 (2007-11-26)
	Copyright (C) 2007 The R Foundation for Statistical Computing
	ISBN 3-900051-07-0

	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.

	> (HERE I PRESS DELETE KEY 3 TIMES)

	 *** caught segfault ***
	address (nil), cause 'memory not mapped'

	Possible actions:
	1: abort (with core dump, if enabled)
	2: normal R exit
	3: exit R without saving workspace
	4: exit R saving workspace
	Selection: 
	 *** caught segfault ***
	address (nil), cause 'memory not mapped'


	Possible actions:
	1: abort (with core dump, if enabled)
	2: normal R exit
	3: exit R without saving workspace
	4: exit R saving workspace
	Selection: 
	 *** caught segfault ***
	address (nil), cause 'memory not mapped'

	( SAME MESSAGE 32 more times )


	Possible actions:
	1: abort (with core dump, if enabled)
	2: normal R exit
	3: exit R without saving workspace
	4: exit R saving workspace
	Error in structure(list(name = name, exit = NULL, handler = handler, "t??" =
`t??`,  : 
	  Value of SET_STRING_ELT() must be a 'CHARSXP' not a 'character'
	In addition: There were 24 warnings (use warnings() to see them)
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'
	Error: value of 'SET_CXTAIL' must be a char or NULL, not a 'char'

	(REPEATS INFINITELY)




Here is the xev record of a 'delete' key press in my terminal

	KeyPress event, serial 20, synthetic NO, window 0xe00001,
	    root 0x3e, subw 0x0, time 443263949, (167,-11), root:(213,54),
	    state 0x0, keycode 107 (keysym 0xffff, Delete), same_screen YES,
	    XLookupString gives 1 bytes:  ""

	KeyRelease event, serial 20, synthetic NO, window 0xe00001,
	    root 0x3e, subw 0x0, time 443264060, (167,-11), root:(213,54),
	    state 0x0, keycode 107 (keysym 0xffff, Delete), same_screen YES,
	    XLookupString gives 1 bytes:  ""

Here are the specs for the gcc that compiled R:

	$ gcc -dumpspecs
	*asm:
	%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}

	*asm_debug:
	%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}

	*asm_final:


	*asm_options:
	%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}

	*invoke_as:
	%{!S:-o %|.s |
	 as %(asm_options) %|.s %A }

	*cpp:
	%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}

	*cpp_options:
	%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}
%{f*} %{g*:%{!g0:%{!fno-working-directory:-fworking-directory}}} %{O*} %{undef}
%{save-temps:-fpch-preprocess}

	*cpp_debug_options:
	%{d*}

	*cpp_unique_options:
	%{C|CC:%{!E:%eGCC does not support -C or -CC without -E}} %{!Q:-quiet}
%{nostdinc*} %{C} %{CC} %{v} %{I*&F*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}}
%{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*} %{MT*}
%{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*}
%{i*} %Z %i %{fmudflap:-D_MUDFLAP -include mf-runtime.h} %{fmudflapth:-D_MUDFLAP
-D_MUDFLAPTH -include mf-runtime.h} %{E|M|MM:%W{o*}}

	*trad_capable_cpp:
	cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}

	*cc1:
	%(cc1_cpu) %{profile:-p}

	*cc1_options:
	%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}} %1
%{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*} %{c|S:%{o*:-auxbase-strip
%*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}} %{g*} %{O*} %{W*&pedantic*} %{w}
%{std*&ansi&trigraphs} %{v:-version} %{pg:-p} %{p} %{f*} %{undef}
%{Qn:-fno-ident} %{--help:--help} %{--target-help:--target-help}
%{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}} %{fsyntax-only:-o %j} %{-param*}
%{fmudflap|fmudflapth:-fno-builtin -fno-merge-constants}
%{coverage:-fprofile-arcs -ftest-coverage}

	*cc1plus:


	*link_gcc_c_sequence:
	%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}

	*link_ssp:
	%{fstack-protector|fstack-protector-all:-lssp_nonshared -lssp}

	*endfile:
	%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}   
%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s

	*link:
	%{!static:--eh-frame-hdr} -m %(link_emulation) %{shared:-shared}   %{!shared:  
  %{!ibcs:       %{!static:     %{rdynamic:-export-dynamic}    
%{!dynamic-linker:-dynamic-linker %(dynamic_linker)}}   %{static:-static}}}

	*lib:
	%{pthread:-lpthread}    %{shared:-lc}    %{!shared:%{mieee-fp:-lieee}
%{profile:-lc_p}%{!profile:-lc}}

	*mfwrap:
	 %{static: %{fmudflap|fmudflapth:  --wrap=malloc --wrap=free --wrap=calloc
--wrap=realloc --wrap=mmap --wrap=munmap --wrap=alloca} %{fmudflapth:
--wrap=pthread_create}} %{fmudflap|fmudflapth: --wrap=main}

	*mflib:
	%{fmudflap|fmudflapth: -export-dynamic}

	*link_gomp:


	*libgcc:
	%{static|static-libgcc:-lgcc
-lgcc_eh}%{!static:%{!static-libgcc:%{!shared-libgcc:-lgcc --as-needed -lgcc_s
--no-as-needed}%{shared-libgcc:-lgcc_s%{!shared: -lgcc}}}}

	*startfile:
	%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}    crti.o%s
%{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}

	*switches_need_spaces:


	*cross_compile:
	0

	*version:
	4.2.2

	*multilib:
	. ;

	*multilib_defaults:


	*multilib_extra:


	*multilib_matches:


	*multilib_exclusions:


	*multilib_options:


	*linker:
	collect2

	*link_libgcc:
	%D

	*md_exec_prefix:


	*md_startfile_prefix:


	*md_startfile_prefix_1:


	*startfile_prefix_spec:


	*sysroot_spec:
	--sysroot=%R

	*sysroot_suffix_spec:


	*sysroot_hdrs_suffix_spec:


	*cc1_cpu:
	%{!mtune*: %{m386:mtune=i386 %n`-m386' is deprecated. Use `-march=i386' or
`-mtune=i386' instead.
	} %{m486:-mtune=i486 %n`-m486' is deprecated. Use `-march=i486' or
`-mtune=i486' instead.
	} %{mpentium:-mtune=pentium %n`-mpentium' is deprecated. Use `-march=pentium'
or `-mtune=pentium' instead.
	} %{mpentiumpro:-mtune=pentiumpro %n`-mpentiumpro' is deprecated. Use
`-march=pentiumpro' or `-mtune=pentiumpro' instead.
	} %{mcpu=*:-mtune=%* %n`-mcpu=' is deprecated. Use `-mtune=' or '-march='
instead.
	}} %<mcpu=* %{mintel-syntax:-masm=intel %n`-mintel-syntax' is deprecated. Use
`-masm=intel' instead.
	} %{mno-intel-syntax:-masm=att %n`-mno-intel-syntax' is deprecated. Use
`-masm=att' instead.
	}%{march=native:%<march=native %:local_cpu_detect(arch)  
%{!mtune=*:%<mtune=native %:local_cpu_detect(tune)}}
%{mtune=native:%<mtune=native %:local_cpu_detect(tune)}

	*link_emulation:
	elf_i386

	*dynamic_linker:
	%{muclibc:%{mglibc:%e-mglibc and -muclibc used
together}/lib/ld-uClibc.so.0;:/lib/ld-linux.so.2}

	*link_command:
	%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:    %(linker) %l %{pie:-pie} %X %{o*}
%{A} %{d} %{e*} %{m} %{N} %{n} %{r}    %{s} %{t} %{u*} %{x} %{z} %{Z}
%{!A:%{!nostdlib:%{!nostartfiles:%S}}}    %{static:} %{L*} %(mfwrap)
%(link_libgcc) %o    %{fopenmp:%:include(libgomp.spec)%(link_gomp)} %(mflib)   
%{fprofile-arcs|fprofile-generate|coverage:-lgcov}   
%{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}}   
%{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}




-- 
yorick



[Rd] Press delete key three times in R-2.6.1 to get segmentation fault (PR#10892)
org.r-project at pooryorick.com