[Rd] Problem with a regular expression.

Tomas Kalibera tomas.kalibera at gmail.com
Thu Aug 17 10:14:05 CEST 2017


The problem is in TRE library, in regcomp, while compiling the regular 
expression.

This is enough to trigger in R (to do this without re-boot: ulimit -v 
500000 ):
 > strsplit("", "\\\\)")

To repeat in TRE, one can build TRE from sources and run
 > ./src/agrep "\\\\)" README.md

Tomas


On 08/17/2017 09:45 AM, Moshe Olshansky via R-devel wrote:
> I tried this on a Linux (Ubuntu) server invoking R from the command line and the result was the same, except that I could kill the R session from another terminal window.
>
>
>        From: Rui Barradas <ruipbarradas at sapo.pt>
>   To: Chris Triggs <cm.triggs at auckland.ac.nz>; "r-devel at r-project.org" <r-devel at r-project.org>
> Cc: Thomas Lumley <t.lumley at auckland.ac.nz>
>   Sent: Thursday, 17 August 2017, 17:26
>   Subject: Re: [Rd] Problem with a regular expression.
>     
> Hello,
>
> This seems to be serious.
> RGui.exe, fresh session. I've clicked File > New Script and wrote
>
> Oldterm <- c("A", "B", "A", "*", "B")
> strsplit(Oldterm, "\\\\)" )
>
> Ran each instruction at a time with Ctrl+r and with the strsplit call
> the system froze.
>
> Ctrl+Alt+Del didn't work, I had to go for the power switch button.
>
> sessionInfo()
> R version 3.4.1 (2017-06-30)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows 7 x64 (build 7601) Service Pack 1
>
> Matrix products: default
>
> locale:
> [1] LC_COLLATE=Portuguese_Portugal.1252
> LC_CTYPE=Portuguese_Portugal.1252
> [3] LC_MONETARY=Portuguese_Portugal.1252 LC_NUMERIC=C
>
> [5] LC_TIME=Portuguese_Portugal.1252
>
> attached base packages:
> [1] stats    graphics  grDevices utils    datasets  methods  base
>
> loaded via a namespace (and not attached):
> [1] compiler_3.4.1
>
>
> Rui Barradas
>
> Em 16-08-2017 23:31, Chris Triggs escreveu:
>> Hi...
>>
>> I have come upon a problem with a regular expression which causes base-R to freeze.  I have reproduced the phenomenon on several machines running R under Windows 10, and also under OSX  on different Apple MACs.
>>
>> The minimal example is:-
>> Oldterm is a vector of characters, e.g. "A", "B", "A", "*", "B"
>> The regular expression is "\\\\)"
>>
>> The call which freezes R is
>> strsplit(Oldterm, "\\\\)" )
>>
>> Thomas - after he had reproduced the problem - suggested that I submit it to r-devel.
>>
>> Best wishes....
>>              Chris Triggs
>>
>>
>>      [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
>     
> 	[[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



More information about the R-devel mailing list