christophsax / tempdisagg

Methods for Temporal Disaggregation and Interpolation of Time Series
http://cran.r-project.org/web/packages/tempdisagg
37 stars 5 forks source link

Segmentation Fault #23

Closed larry77 closed 8 years ago

larry77 commented 8 years ago

Hello, I am trying to download some data (monthly and quarterly) from eurostat on which I want to use the tempdisagg library, but I am experiencing a segmentation fault every time. It looks like the problem comes from the tempdisagg library, but I am not 100% sure. Here is an example of a simple code crashing every time

library(RJSDMX)
library(tempdisagg)
data_1 <- getTimeSeries('EUROSTAT',
'une_nb_m.M.NSA.TOTAL.T.DE')
ts1 <- as.ts(data_1[[1]])

ts1 <- na.omit(ts1)

data_2 <- getTimeSeries('EUROSTAT',
'namq_10_gdp.Q.CP_MNAC.NSA.B1G.DE')

ts2 <- as.ts(data_2[[1]])
ts2 <- na.omit(ts2)
td(ts2 ~ 1, to = "monthly", method = "denton-cholette")

And here is my session_info()

sessionInfo() R version 3.2.3 (2015-12-10) Platform: x86_64-pc-linux-gnu (64-bit) Running under: Debian GNU/Linux stretch/sid

locale: [1] LC_CTYPE=en_GB.utf8 LC_NUMERIC=C
[3] LC_TIME=en_GB.utf8 LC_COLLATE=en_GB.utf8
[5] LC_MONETARY=en_GB.utf8 LC_MESSAGES=en_GB.utf8
[7] LC_PAPER=en_GB.utf8 LC_NAME=en_GB.utf8
[9] LC_ADDRESS=en_GB.utf8 LC_TELEPHONE=en_GB.utf8
[11] LC_MEASUREMENT=en_GB.utf8 LC_IDENTIFICATION=en_GB.utf8

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

other attached packages: [1] tempdisagg_0.24.0 RJSDMX_1.4 zoo_1.7-12 rJava_0.9-7

loaded via a namespace (and not attached): [1] grid_3.2.3 lattice_0.20-33

Any idea of what is going on?

christophsax commented 8 years ago

Thanks. Can you just give me an example just with a time series and td? I have problems with my Java runtime, and the RJSDMX package does not work properly.

You can use dput() to produce a replicable example.

larry77 commented 8 years ago

OK. Also the following code leads to a seg fault on my machine

library(tempdisagg)

ts2 <- structure(c(339130, 356462, 363234, 378179, 367864, 378337, 392157, 
402153, 376361, 392204, 403483, 414034, 391967, 406067, 419464, 
434913, 410102, 424795, 437073, 448827, 415569, 430561, 444719, 
455764, 419892, 444190, 454648, 466312, 439922, 448963, 465153, 
475621, 445502, 457198, 473573, 485764, 463895, 470274, 484390, 
490678, 478003, 483570, 499141, 509216, 481395, 492345, 511184, 
513420, 483757, 490884, 514966, 515457, 497614, 510139, 523467, 
526406, 499784, 519033, 532009, 531260, 521539, 532590, 553118, 
557725, 548321, 556832, 578087, 578120, 566116, 580571, 587993, 
569985, 534326, 539641, 564824, 568445, 558614, 570192, 594584, 
598305, 593769, 598278, 620147, 615884, 611033, 609304, 630458, 
624325, 614356, 627192, 649324, 645988, 642965, 645125, 669471, 
665529, 664248, 669670, 694719), na.action = structure(1:64, class = "omit"), .Tsp = c(1991, 
2015.5, 4), class = "ts")

td(ts2 ~ 1, to = "monthly", method = "denton-cholette")
christophsax commented 8 years ago

Works fine here:

> td(ts2 ~ 1, to = "monthly", method = "denton-cholette")

Call:
td(formula = ts2 ~ 1, to = "monthly", method = "denton-cholette")

No coefficients

Use summary() for details. 
Use predict() to extract the final series.

Use ?td to see the help file.

Looks like something more fundamental on your machine. After all, tempdisagg only uses stuff from R base and has no compiled code in it. Can you do a traceback to see whats causing the problem?

larry77 commented 8 years ago

Thanks for the quick response. A basic question (I am not very experienced with traceback): on my machine the script crashes killing the R session. Will traceback work anyway? Lorenzo

On January 12, 2016 11:17:13 PM CET, Christoph Sax notifications@github.com wrote:

Works fine here:

> td(ts2 ~ 1, to = "monthly", method = "denton-cholette")

Call:
td(formula = ts2 ~ 1, to = "monthly", method = "denton-cholette")

No coefficients

Use summary() for details. 
Use predict() to extract the final series.

Use ?td to see the help file.

Looks like something more fundamental on your machine. After all, tempdisagg only uses stuff from R base and has no compiled code in it. Can you do a traceback to see whats causing the problem?


Reply to this email directly or view it on GitHub: https://github.com/christophsax/tempdisagg/issues/23#issuecomment-171077734

Sent from my Android device with K-9 Mail. Please excuse my brevity.

larry77 commented 8 years ago

Hi! Now it is OK also on my machine. Probably something got messed up. I have reinstalled from scratch a lot of packages and the segmentation fault is no longer there. Cheers

Lorenzo

On Tue, Jan 12, 2016 at 02:17:13PM -0800, Christoph Sax wrote:

Works fine here:

> td(ts2 ~ 1, to = "monthly", method = "denton-cholette")

Call:
td(formula = ts2 ~ 1, to = "monthly", method = "denton-cholette")

No coefficients

Use summary() for details.
Use predict() to extract the final series.

Use ?td to see the help file.

Looks like something more fundamental on your machine. After all, tempdisagg only uses stuff from R base and has no compiled code in it. Can you do a traceback to see whats causing the problem?


Reply to this email directly or view it on GitHub: https://github.com/christophsax/tempdisagg/issues/23#issuecomment-171077734

christophsax commented 8 years ago

Good to hear. Also thought it must be something deeper down. Cheers.