r-dbi/DBI

C stack usage error with as.character() and SQL class

mmuurr opened this issue · 3 comments

In some R sessions (but not all, so not reliably reproducible), I get a stack overflow error when trying to coerce an object of class SQL back to character via as.character.

> as.character(DBI::dbQuoteIdentifier(DBI::ANSI(), "foo"))
Error: C stack usage  8284624 is too close to the limit

In instances where this error occurs, the trackback() shows the issue, but I don't know the root cause:

> traceback()
4975: as.vector(x, mode)
4974: as.vector(x, mode)
4973: as.vector(x, mode)
... ## stuck in recursion on the as.vector(x, mode) call
4: as.vector(x, mode)
4: as.vector(x, "character")
3: as.vector(x, "character")
2: as.character.default(DBI::dbQuoteIdentifier(DBI::ANSI(), "foo"))
1: as.character(DBI::dbQuoteIdentifier(DBI::ANSI(), "foo"))

If I restart my R session, I'll get this error only some-of-the-time :-/
Has anyone seen anything like this before when forcing SQL objects back to character?

Session Info
  setting  value
  version  R version 3.4.1 (2017-06-30)
  system   x86_64, linux-gnu
  ui       X11
  language (EN)
  collate  en_US.UTF-8
  tz       America/Denver
  date     2019-08-05

 Packages ----------------------------------------------------------------------------------------------
  package          * version    date       source
  assertthat         0.2.0.9000 2017-05-25 Github (hadley/assertthat@37f0a56)
  backports          1.1.2      2017-12-13 cran (@1.1.2)
  bit                1.1-12     2014-04-09 cran (@1.1-12)
  bit64              0.9-7      2017-05-08 cran (@0.9-7)
  blob               1.1.1      2018-03-25 CRAN (R 3.4.1)
  boxes              0.0.0.9000 2017-07-26 Github (r-pkgs/boxes@03098dc)
  broom              0.4.2      2017-02-13 CRAN (R 3.2.2)
  cellranger         1.1.0      2016-07-27 cran (@1.1.0)
  checkmate          1.8.5      2017-10-24 CRAN (R 3.4.1)
  clisymbols         1.2.0      2017-07-26 Github (gaborcsardi/clisymbols@e49b4f5)
  colorspace         1.3-2      2016-12-14 CRAN (R 3.2.2)
  craftsy.postgres   0.2.0      2019-08-06 local
  craftsy.utils      1.3.4      2019-02-11 local
  crayon             1.3.4      2017-09-21 Github (gaborcsardi/crayon@b5221ab)
  DBI              * 1.0.0      2018-05-02 CRAN (R 3.4.1)
  DBIxx            * 1.0.4      2018-11-05 local
  devtools           1.12.0     2016-12-05 CRAN (R 3.2.2)
  digest             0.6.15     2018-01-28 cran (@0.6.15)
  docopt             0.4.5      2016-06-13 CRAN (R 3.2.2)
  dplyr            * 0.8.0.1    2019-02-15 CRAN (R 3.4.1)
  forcats          * 0.2.0      2017-01-23 CRAN (R 3.2.2)
  foreign            0.8-69     2017-06-22 CRAN (R 3.4.1)
  futile.logger    * 1.4.3      2016-07-10 CRAN (R 3.3.3)
  futile.options     1.0.0      2010-04-06 CRAN (R 3.3.3)
  ggplot2          * 3.1.0      2018-10-25 CRAN (R 3.4.1)
  glue               1.3.1      2019-03-12 CRAN (R 3.4.1)
  gtable             0.2.0      2016-02-26 CRAN (R 3.2.2)
  haven              1.1.0      2017-07-09 cran (@1.1.0)
  hms                0.4.2      2018-03-10 CRAN (R 3.4.1)
  httr               1.4.0      2018-12-11 CRAN (R 3.4.1)
  jsonlite           1.5        2017-06-01 cran (@1.5)
  lambda.r           1.1.9      2016-07-10 CRAN (R 3.3.3)
  lattice            0.20-35    2017-03-25 CRAN (R 3.4.1)
  lazyeval           0.2.0.9000 2017-02-24 Github (hadley/lazyeval@c155c3d)
  lubridate          1.6.0.9009 2017-08-31 Github (tidyverse/lubridate@5205619)
  magrittr         * 1.5        2014-11-22 CRAN (R 3.1.1)
  Matrix           * 1.2-8      2017-01-20 CRAN (R 3.2.2)
  memoise            1.1.0      2017-04-21 cran (@1.1.0)
  mnormt             1.5-5      2016-10-15 CRAN (R 3.2.2)
  modelr             0.1.1      2017-07-24 cran (@0.1.1)
  munsell            0.5.0      2018-06-12 CRAN (R 3.4.1)
  nlme               3.1-131    2017-02-06 CRAN (R 3.3.3)
  pillar             1.3.1      2018-12-15 CRAN (R 3.4.1)
  pkgconfig          2.0.2      2018-08-16 CRAN (R 3.4.1)
  plyr               1.8.4      2016-06-08 CRAN (R 3.2.2)
  psych              1.6.12     2017-01-08 CRAN (R 3.2.2)
  purrr            * 0.3.2      2019-03-15 CRAN (R 3.4.1)
  R6                 2.2.2      2017-06-17 cran (@2.2.2)
  Rcpp               1.0.0      2018-11-07 CRAN (R 3.4.1)
  readr            * 1.3.1      2018-12-21 CRAN (R 3.4.1)
  readxl             1.0.0      2017-04-18 cran (@1.0.0)
  reshape2           1.4.2      2016-10-22 CRAN (R 3.2.2)
  reticulate         1.4        2018-01-09 CRAN (R 3.4.1)
  rlang              0.3.1      2019-01-08 CRAN (R 3.4.1)
  RPostgres          1.1.1      2018-05-06 CRAN (R 3.4.1)
  rstudioapi         0.7        2017-09-07 cran (@0.7)
  rvest              0.3.2      2016-06-17 CRAN (R 3.2.2)
  scales             1.0.0      2018-08-09 CRAN (R 3.4.1)
  sqlparse           0.2.4-1    2018-01-24 local
  stringi            1.1.5      2017-04-07 cran (@1.1.5)
  stringr          * 1.2.0      2017-02-18 CRAN (R 3.2.2)
  tibble           * 2.1.1      2019-03-16 CRAN (R 3.4.1)
  tidyr            * 0.8.3      2019-03-01 CRAN (R 3.4.1)
  tidyselect         0.2.5      2018-10-11 CRAN (R 3.4.1)
  tidyverse        * 1.1.1.9000 2017-09-21 Github (tidyverse/tidyverse@4d3c286)
  uuid               0.1-2      2015-07-28 CRAN (R 3.1.1)
  withr              2.1.1      2017-12-19 cran (@2.1.1)
  xml2               1.2.0      2018-01-24 cran (@1.2.0)
  zzz                1.2.1      2018-03-27 local

Does this also happen when you introduce a variable?

foo <- DBI::dbQuoteIdentifier(DBI::ANSI(), "foo")
as.character(foo)

Closing because information is missing and no feedback has been provided. For related problems, please open a new issue and add a link to this issue.

This old thread has been automatically locked. If you think you have found something related to this, please open a new issue and link to this old issue if necessary.