[R] Stack overflow in R 2.10.0 with sub()
Duncan Murdoch
murdoch at stats.uwo.ca
Tue Oct 27 18:17:11 CET 2009
On 10/27/2009 1:05 PM, Kenneth Roy Cabrera Torres wrote:
> Thank you very much for your interest.
>
> I make this:
> x <- as.character(alumnos$AL_NUME_ID)
> x <- x[-seq_len(length(x)/2)]
> save(x, file="x.RData")
>
> I exit form R, and then restart R and I make this:
>
> load("x.RData")
> y <- gsub("(^ +)|( +$)","",x)
>
> It shows me:
>
> Error en gsub("(^ +)|( +$)", "", x) :
> input string 66644 is invalid in this locale
I'm working on Windows, so I don't have the locale problem, but I do get
the segfault. I'll see if I can track down what is going wrong.
Duncan Murdoch
> I delete that string (it is a string with a non usual character (Ñ))
>
> So, I retype without that observation.
>
> y <- gsub("(^ +)|( +$)","",x[-c(66644)])
>
> I got this:
> Error en gsub("(^ +)|( +$)", "", x[-c(66644)]) :
> input string 160689 is invalid in this locale
>
> I retype again with this invalid string this way (I use the
> 160690 position, because the lag of the x vector)
>
>> y <- gsub("(^ +)|( +$)","",x[-c(66644,160690)])
> Error: C produce desborde de pila en 'segfault'
>
> And it fails.
>
> I also repeat all the process with this conversion first.
>
> x <- iconv(as.character(alumnos$AL_NUME_ID),"latin1","UTF-8")
> x <- x[-seq_len(length(x)/2)]
> save(x, file="x.RData")
>
> And I exit, and restart R, and then I type
>
> load("x.RData")
> y <- gsub("(^ +)|( +$)","",x)
>
> And it fails again without showing me the "invalid string" errors.
>
> I then make this:
>
> load("x.RData")
> y <- gsub("(^ +)|( +$)","",x[1:160690])
>
> and it works, then I type
>
> y <- gsub("(^ +)|( +$)","",x[1:200000]) #(x length is 454035)
>
> and it works...
>
> But I start to make a manual binary search,
> I found something that stills puzzle me.
>
> y <- gsub("(^ +)|( +$)","",x[1:261570])
>
> works, but sometimes fails (after I restart R),
> it always fails with index greather than 262000.
>
> I see that there are not something inusual arround 261570.
>
> x[261560:261580]
> [1] "21444777 " "1147585 " "255202522
> "
> [4] "25852100 " "24258550 " "A8D0251207
> "
> [7] "34681811 " "19121345 " "16921329
> "
> [10] "20442195 " "14506482 " "44332211
> "
> [13] "35049122 " "34326340 " "35182366
> "
> [16] "33288742 " "34958795 " "1017147202
> "
> [19] "3306985 " "33048501 " "33295073
> "
>
> I am sending you the x.Rdata file to see if you can
> reproduce my problem.
>
> This infomation may be useful:
>
> sessionInfo()
>
> R version 2.10.0 (2009-10-26)
> x86_64-unknown-linux-gnu
>
> locale:
> [1] LC_CTYPE=es_CO.UTF-8 LC_NUMERIC=C
> [3] LC_TIME=es_CO.UTF-8 LC_COLLATE=es_CO.UTF-8
> [5] LC_MONETARY=C LC_MESSAGES=es_CO.UTF-8
> [7] LC_PAPER=es_CO.UTF-8 LC_NAME=C
> [9] LC_ADDRESS=C LC_TELEPHONE=C
> [11] LC_MEASUREMENT=es_CO.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> R.Version()
>
> $platform
> [1] "x86_64-unknown-linux-gnu"
> $arch
> [1] "x86_64"
> $os
> [1] "linux-gnu"
> $system
> [1] "x86_64, linux-gnu"
> $status
> [1] ""
> $major
> [1] "2"
> $minor
> [1] "10.0"
> $year
> [1] "2009"
> $month
> [1] "10"
> $day
> [1] "26"
> $`svn rev`
> [1] "50208"
> $language
> [1] "R"
> $version.string
> [1] "R version 2.10.0 (2009-10-26)"
>
> gcc --version and g++ --verision shows me:
>
> gcc (Ubuntu 4.3.3-5ubuntu4) 4.3.3
> Copyright (C) 2008 Free Software Foundation, Inc.
> Esto es software libre; vea el código para las condiciones de copia. NO
> hay
> garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÓSITO
> EN
> PARTICULAR
>
> When I compile R I use this option in configuration (nothing more)
>
> ./configure --enable-R-shlib
> make
> sudo make install
>
> At the moment I have 22Gb of swap partition (keeping monitor tracking
> the systems is not using it) and 4GB of RAM.
>
> Again, thank you very much for your help.
>
> Kenneth
>
>
>
>
>
More information about the R-help
mailing list