[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