Подтвердить что ты не робот

.Internal(La_rs (x, FALSE)) сбой R после долгого (воспроизводимого) script только для окон

вызов .Internal(La_rs(x,FALSE)) внутри функции eigen, используемой в fields:::Krig.engine.default, вызывает сбой моей консоли R [1] после ее запуска во время огромного script.

Я уверен, что это линия, вызывающая детонацию. однако одна и та же строка не вылетает на новый сеанс, используя:

x <- structure(c(0.00251355321405019, -0.000589785531216647, -0.000172411748626129, -0.000589785531217227, 0.000897505637785858, -0.000714600035538855, -0.000172411748626269, -0.000714600035538766, 0.00123946691634644), .Dim = c(3L, 3L))
.Internal(La_rs(x,FALSE))

вы можете воспроизвести эту консольную катастрофу со следующими тремя строками (занимает около десяти минут):

# install.packages( c("MonetDB.R", "MonetDBLite" , "survey" , "SAScii" , "descr" , "downloader" , "digest" , "sas7bdat" , "R.utils" ,"survey","ggplot2","scales","mapproj","sqldf","maptools","raster","rgeos","stringr","plyr","mgcv","spatstat","rgeos") , repos=c("http://dev.monetdb.org/Assets/R/", "http://cran.rstudio.com/"))
# path.to.7z <- "7za"       # macintosh/unix users need to specify 7z
#  setwd("C:/My Directory/")
# warning: some large downloads
downloader::source_url( "https://raw.githubusercontent.com/davidbrae/swmap/8eecde1683efab65a7e27eb7c92e7967a98dc639/how%20to%20map%20the%20american%20community%20survey.R" , prompt = FALSE )

Извините, пример не более минимальный, крах исчез, когда я удалил разные вещи.

Февраль 22, 2016 Редактирование: еще хуже, когда я пытаюсь использовать script для запуска аварии самостоятельно, он не умирает!

downloader::source_url("https://gist.githubusercontent.com/ajdamico/0c256ed3a77d77eecfd6/raw/ce0570effd37c6384f2e27f1b38335078adcb49d/La_rs_bughunt.R",echo=T,prompt=F)

спасибо!

[1] R версия 3.2.3 (2015-12-10) Платформа: x86_64-w64-mingw32/x64 (64-разрядная версия)

если я запускаю весь script сразу, R вылетает без какой-либо информации в Rterm.exe. но если я сломаю script на две части, R даст мне эту ошибку:

> x
              [,1]          [,2]          [,3]
[1,]  0.0025135532 -0.0005897855 -0.0001724117
[2,] -0.0005897855  0.0008975056 -0.0007146000
[3,] -0.0001724117 -0.0007146000  0.0012394669
> .Internal(La_rs(x,TRUE))
Error: 'a' must be a complex matrix

немного больше информации для отладки: похоже, что функция .Internal() La_rs была каким-то образом уничтожена?

> debug::mtrace(.Internal(La_rs(x,TRUE)))
Error in debug::mtrace(.Internal(La_rs(x, TRUE))) : 
  Dunno wot to do with .Internal(La_rs(x, TRUE))
> x
              [,1]          [,2]          [,3]
[1,]  0.0025135532 -0.0005897855 -0.0001724117
[2,] -0.0005897855  0.0008975056 -0.0007146000
[3,] -0.0001724117 -0.0007146000  0.0012394669
> class(x)
[1] "matrix"
> .Internal(La_rs(x,FALSE))
Error: 'a' must be a complex matrix
> .Internal(La_rs(x,TRUE))
Error: 'a' must be a complex matrix
> .Internal(La_rs(1,TRUE))
Error: 'a' must be a complex matrix
> .Internal(La_rs(matrix(1,2,3,4),TRUE))
Error: 'a' must be a complex matrix

Февраль 21 Обновление 2016 года: я смог воспроизвести эту ошибку (без R dying) во втором окне script. вот постоянная ссылка

# install.packages( c( 'fields' , 'maps' , 'ggplot2' , 'raster' , 'sqldf' , 'rgeos' , 'rgdal' , 'sp' , 'digest' , 'ff' , 'descr' , 'SAScii' , 'stringr' , 'R.utils' , 'R.oo' , 'RCurl' , 'MonetDBLite' , 'MonetDB.R' , 'survey' , 'downloader' ) , repos=c("http://dev.monetdb.org/Assets/R/", "http://cran.rstudio.com/"))
# setwd( "S:/temp/PNAD" )
# warning: some large downloads
downloader::source_url( "https://raw.githubusercontent.com/davidbrae/swmap/4501e2c8927faaffa02c92d3e40d16beb44bca92/how%20to%20map%20the%20pesquisa%20nacional%20por%20amostra%20de%20domicilios.R" , echo = TRUE , prompt = FALSE )

и вот что происходит в точке ошибки. снова La_rs появляется поврежденным.

> for ( i in 1:4 ){
+ 
+       this.krig.fit <-
+               Krig(
+                       cbind( x$x , x$y ) ,
+                       x[ , paste0( 'occcat' , i ) ] ,
+                       weights = x[ , paste0( 'weigh .... [TRUNCATED] 
Error in eigen(tempM, symmetric = TRUE) : 'a' must be a complex matrix
In addition: There were 50 or more warnings (use warnings() to see the first 50)
> traceback()
8: eigen(tempM, symmetric = TRUE)
7: Krig.engine.default(out, verbose = verbose)
6: Krig(cbind(x$x, x$y), x[, paste0("occcat", i)], weights = x[, 
       paste0("weight", i)]) at filee101515cee#676
5: eval(expr, envir, enclos)
4: eval(ei, envir)
3: withVisible(eval(ei, envir))
2: source(temp_file, ...)
1: downloader::source_url("https://raw.githubusercontent.com/davidbrae/swmap/master/how%20to%20map%20the%20pesquisa%20nacional%20por%20amostra%20de%20domicilios.R", 
       echo = T, prompt = F)
> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows Server 2008 R2 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] tcltk     grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] fields_8.3-6      maps_3.1.0        spam_1.3-0        ggplot2_2.0.0     raster_2.5-2     
 [6] sqldf_0.4-10      RSQLite_1.0.0     gsubfn_0.6-6      proto_0.3-10      rgeos_0.3-17     
[11] rgdal_1.1-3       sp_1.2-2          digest_0.6.9      ff_2.2-13         bit_1.1-12       
[16] descr_1.1.2       SAScii_1.0        stringr_1.0.0     R.utils_2.2.0     R.oo_1.19.0      
[21] R.methodsS3_1.7.0 RCurl_1.95-4.6    bitops_1.0-6      MonetDBLite_0.2.0 MonetDB.R_1.0.1  
[26] DBI_0.3.1         survey_3.30-3     downloader_0.4   

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.3      plyr_1.8.3       tools_3.2.3      gtable_0.1.2     lattice_0.20-33 
 [6] magrittr_1.5     scales_0.3.0     codetools_0.2-14 xtable_1.8-0     colorspace_1.2-6
[11] stringi_1.0-1    munsell_0.4.2    chron_2.3-47    
> 

февраль 27th, 2016 edit: очень похожая ошибка, добавив gc() в середине этого script, предотвращает сбой

# account creation page
# http://www.icpsr.umich.edu/rpxlogin?path=NACJD&request_uri=https%3a%2f%2fwww.icpsr.umich.edu%2ficpsrweb%2fNACJD%2f
your.username <- '[email protected]'
your.password <- 'some_password'

setwd( "C:/My Directory/NCVS_BUG/" )
library(downloader)
source_url( "https://gist.githubusercontent.com/ajdamico/4cd5f76aebbdaae5bc88/raw/1ae140e84aa82f1c12af297badad6d8c2c50f5a1/ncvs_bughunt.R" , echo = TRUE , prompt = FALSE )
4b9b3361

Ответ 1

Ничего себе, эту ошибку трудно воспроизвести. Количество шагов, необходимых для воспроизведения, вероятно, почему у вас не было много ответов.

Наконец-то мне удалось загрузить все загруженные данные и установить пакеты для воспроизведения, но у меня нет кода (который довольно активно), чтобы добраться до точки, где вы указываете, что она еще не сработала.

В соответствии с комментариями которые я сделал, сообщения об ошибках указывают, что lapack пытается выполнить сложную версию функций, которые вы используете (ошибка брошена эта строка), но тип входной переменной не является матрицей, поэтому он вызывает ошибку. Это, скорее всего, первопричина низкого уровня.

Вопрос, который вы, вероятно, действительно хотите получить, тем не менее, почему это происходит?

Я подозреваю, что это означает, что входные данные для одного из ваших шагов либо пустые, либо 1 мерные. Я буду продолжать пытаться воспроизвести, чтобы доказать эту теорию.