Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

simper function returning an error using example dataset #528

Closed
camillemellin opened this issue Sep 20, 2022 · 26 comments
Closed

simper function returning an error using example dataset #528

camillemellin opened this issue Sep 20, 2022 · 26 comments

Comments

@camillemellin
Copy link

camillemellin commented Sep 20, 2022

Hello,
I used to be able to successfully run this function, which now returns an error using the example dataset:

>data(dune)
>data(dune.env)
>(sim <- with(dune.env, simper(dune, Management, permutations = 99)))

Error in array(r, dim = d, dimnames = if (!(is.null(n1 <- names(x[[1L]])) & : length of 'dimnames' [1] not equal to array extent

Am I missing something, or is this error due to a package update?
Many thanks for your assistance with this.
CM

@jarioksa
Copy link
Contributor

jarioksa commented Sep 20, 2022

I cannot replicate this, but copy paste of your message runs smoothly without error. Need more info.

@eduardszoecs
Copy link
Contributor

I can reproduce this with the current CRAN version

R> example("simper", "vegan")
Loading required package: permute

Attaching package: ‘permute’

The following object is masked from ‘package:devtools’:

    check

Loading required package: lattice
This is vegan 2.6-2

simperR> data(dune)

simperR> data(dune.env)

simperR> (sim <- with(dune.env, simper(dune, Management, permutations = 99)))
Error in array(r, dim = d, dimnames = if (!(is.null(n1 <- names(x[[1L]])) &  : 
  length of 'dimnames' [1] not equal to array extent

R> packageVersion("vegan")
[1] ‘2.6.2’

R> sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.4 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/liblapack.so.3

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8     LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                  LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

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

other attached packages:
[1] vegan_2.6-2     lattice_0.20-45 permute_0.9-7 
[snip]

@eduardszoecs
Copy link
Contributor

Works with vegan 2.5-7, but not with 2.6-3 (github master).

@eduardszoecs
Copy link
Contributor

eduardszoecs commented Sep 20, 2022

Potential fix:

Coerce dist object here to vector

   spcontr <- sapply(seq_len(ncol(comm)),
                      function(i) c(vegdist(comm[,i,drop=FALSE], "man")))

First tests looks good, but I currently don't have the time for proper testing :( (maybe in a week). I also don't know the root cause and why this slips through the tests...

@jarioksa what are your thoughts?

@jarioksa
Copy link
Contributor

I tested on github master with no problem. Tested again: github master (2.6-3), permute 0.9-7, R 4.2-1. I am not going to look at this any deeper before tomorrow UTC+3.

@jarioksa
Copy link
Contributor

jarioksa commented Sep 20, 2022

@Edild using c() is indeed a cheap (meaning: does not cause any costs or handicaps) way of guaranteeing that distances are a vector – like they are! But like I said, not before tomorrow UTC+3. It is curious that none of the CRAN checks in different architectures, operating systems and R versions finds a problem in example(simper). What is so special in your systems?

@camillemellin
Copy link
Author

camillemellin commented Sep 20, 2022 via email

@jarioksa
Copy link
Contributor

The simper code was completely re-written for CRAN release 2.6-2, and of course there may be untested corners. However, example(simper) is run in regular CRAN checks, also in their continuing testing services in several platforms, and they report no error. Naturally, we want to fix this. However, I cannot replicate the error and therefore I'm reluctant to do anything with that: would be a blind watchmaker fix – change something without knowing what I do and why. Since @Edild can replicate the problem, I hope he has time and opportunity to submit a fix.

@eduardszoecs
Copy link
Contributor

@Edild using c() is indeed a cheap (meaning: does not cause any costs or handicaps) way of guaranteeing that distances are a vector – like they are! But like I said, not before tomorrow UTC+3. It is curious that none of the CRAN checks in different architectures, operating systems and R versions finds a problem in example(simper). What is so special in your systems?

That's what's puzzeling me also @jarioksa.
I cannot reliably reproduce this (it was in a docker container where I could reproduce it. I threw it away and today I can't reproduce anymore :( ).
The root cause is unknown - I only observed that sapply did not (or could not?) simplify to a vector and the c() was a quick fix.

Can investigate next week deeper...

@gavinsimpson
Copy link
Contributor

FWIW I cannot replicate this on

r$> sessioninfo::session_info()                                                 
─ Session info ───────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.2.1 (2022-06-23)
 os       Ubuntu 20.04.5 LTS
 system   x86_64, linux-gnu
 ui       X11
 language en_GB:en
 collate  en_GB.UTF-8
 ctype    en_GB.UTF-8
 tz       Europe/Copenhagen
 date     2022-09-21
 pandoc   2.5 @ /usr/bin/pandoc

─ Packages ───────────────────────────────────────────────────────────────────
 package     * version  date (UTC) lib source
 cli           3.4.0    2022-09-08 [1] RSPM (R 4.2.1)
 cluster       2.1.4    2022-08-22 [1] RSPM (R 4.2.1)
 lattice     * 0.20-45  2021-09-22 [1] RSPM (R 4.2.0)
 MASS          7.3-58.1 2022-08-03 [1] RSPM (R 4.2.1)
 Matrix        1.4-1    2022-03-23 [1] RSPM (R 4.2.0)
 mgcv          1.8-40   2022-03-29 [1] RSPM (R 4.2.0)
 nlme          3.1-159  2022-08-09 [1] RSPM (R 4.2.1)
 permute     * 0.9-7    2022-01-27 [1] RSPM (R 4.2.0)
 sessioninfo   1.2.2    2021-12-06 [1] RSPM (R 4.2.0)
 vegan       * 2.6-2    2022-04-17 [1] RSPM (R 4.2.1)

 [1] /home/au690221/R/x86_64-pc-linux-gnu-library/4.2
 [2] /usr/local/lib/R/site-library
 [3] /usr/lib/R/site-library
 [4] /usr/lib/R/library

──────────────────────────────────────────────────────────────────────────────

@camillemellin
Copy link
Author

It seems to be a rare issue! Good luck finding a fix and no rush from my perspective, it was more a FYI than a major hurdle.
And thanks all for the amazing work you do on vegan, it is a fantastic package!

@jarioksa
Copy link
Contributor

jarioksa commented Sep 22, 2022

Yes, it is a rare issue. If the analysis of @Edild is correct, it should not happen in R, but it is easy to fix: adding c() is a no-cost alternative, and I think we do it unless @Edild manages to replicate the error again and find another reason for the problem.

@eduardszoecs
Copy link
Contributor

I can reproduce it again:

R> library(vegan, lib.loc = "/usr/lib/R/site-library")
Loading required package: permute

Attaching package: ‘permute’

The following object is masked from ‘package:devtools’:

    check

Loading required package: lattice
This is vegan 2.6-2
R> example(simper)

simperR> data(dune)

simperR> data(dune.env)

simperR> (sim <- with(dune.env, simper(dune, Management, permutations = 99)))
Error in array(r, dim = d, dimnames = if (!(is.null(n1 <- names(x[[1L]])) &  : 
  length of 'dimnames' [1] not equal to array extent
R> sessioninfo::session_info()   
─ Session info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 setting  value
 version  R version 4.2.1 (2022-06-23)
 os       Ubuntu 20.04.4 LTS
 system   x86_64, linux-gnu
 ui       RStudio
 language (EN)
 collate  en_US.UTF-8
 ctype    en_US.UTF-8
 tz       UTC
 date     2022-09-27
 rstudio  2022.07.1+554.pro3 Spotted Wakerobin (server)
 pandoc   2.18 @ /usr/bin/pandoc

─ Packages ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 package        * version     date (UTC) lib source
 abind            1.4-5       2016-07-21 [3] RSPM (R 4.2.0)
 assertthat       0.2.1       2019-03-21 [3] RSPM (R 4.2.0)
 berryFunctions   1.21.14     2022-05-13 [1] CRAN (R 4.2.0)
 bit              4.0.4       2020-08-04 [3] RSPM (R 4.2.0)
 bit64            4.0.5       2020-08-30 [3] RSPM (R 4.2.0)
 blastula         0.3.2       2020-05-19 [3] RSPM (R 4.2.0)
 blob             1.2.3       2022-04-10 [3] RSPM (R 4.2.0)
 brio             1.1.3       2021-11-30 [3] RSPM (R 4.2.0)
 cachem           1.0.6       2021-08-19 [3] RSPM (R 4.2.0)
 callr            3.7.2       2022-08-22 [3] RSPM (R 4.2.0)
 class            7.3-20      2022-01-13 [4] CRAN (R 4.1.2)
 classInt         0.4-7       2022-06-10 [3] RSPM (R 4.2.0)
 cli              3.4.1       2022-09-23 [2] CRAN (R 4.2.1)
 cluster          2.1.4       2022-08-22 [4] CRAN (R 4.2.1)
 colorspace       2.0-3       2022-02-21 [3] RSPM (R 4.2.0)
 crayon           1.5.1       2022-03-26 [3] RSPM (R 4.2.0)
 data.table       1.14.2      2021-09-27 [3] RSPM (R 4.2.0)
 DBI              1.1.3       2022-06-18 [3] RSPM (R 4.2.0)
 dbplyr           2.2.1       2022-06-27 [3] RSPM (R 4.2.0)
 devtools       * 2.4.4       2022-07-20 [3] RSPM (R 4.2.0)
 digest           0.6.29      2021-12-01 [3] RSPM (R 4.2.0)
 dotCall64        1.0-1       2021-02-11 [2] CRAN (R 4.2.1)
 dplyr            1.0.10      2022-09-01 [3] RSPM (R 4.2.0)
 e1071            1.7-11      2022-06-07 [3] RSPM (R 4.2.0)
 ellipsis         0.3.2       2021-04-29 [3] RSPM (R 4.2.0)
 fansi            1.0.3       2022-03-24 [3] RSPM (R 4.2.0)
 fastmap          1.1.0       2021-01-25 [3] RSPM (R 4.2.0)
 fields           14.1        2022-08-12 [2] CRAN (R 4.2.1)
 foreign          0.8-82      2022-01-13 [4] CRAN (R 4.1.2)
 fs               1.5.2       2021-12-08 [3] RSPM (R 4.2.0)
 generics         0.1.3       2022-07-05 [3] RSPM (R 4.2.0)
 ggplot2          3.3.6       2022-05-03 [3] RSPM (R 4.2.0)
 glue             1.6.2       2022-02-24 [3] RSPM (R 4.2.0)
 gridExtra        2.3         2017-09-09 [3] RSPM (R 4.2.0)
 gtable           0.3.1       2022-09-01 [3] RSPM (R 4.2.0)
 hms              1.1.2       2022-08-19 [3] RSPM (R 4.2.0)
 htmltools        0.5.3       2022-07-18 [3] RSPM (R 4.2.0)
 htmlwidgets      1.5.4       2021-09-08 [3] RSPM (R 4.2.0)
 httpuv           1.6.6       2022-09-08 [3] RSPM (R 4.2.0)
 httr             1.4.4       2022-08-17 [3] RSPM (R 4.2.0)
 jsonlite         1.8.0       2022-02-22 [3] RSPM (R 4.2.0)
 KernSmooth       2.23-20     2021-05-03 [4] CRAN (R 4.0.5)
 knitr            1.40        2022-08-24 [3] RSPM (R 4.2.0)
 later            1.3.0       2021-08-18 [3] RSPM (R 4.2.0)
 lattice        * 0.20-45     2021-09-22 [4] CRAN (R 4.2.0)
 lifecycle        1.0.2       2022-09-09 [3] RSPM (R 4.2.0)
 lubridate        1.8.0       2021-10-07 [3] RSPM (R 4.2.0)
 magrittr         2.0.3       2022-03-30 [3] RSPM (R 4.2.0)
 maps             3.4.0       2021-09-25 [3] RSPM (R 4.2.0)
 maptools         1.1-4       2022-04-17 [2] CRAN (R 4.2.1)
 MASS             7.3-58.1    2022-08-03 [3] RSPM (R 4.2.0)
 Matrix           1.5-1       2022-09-13 [4] CRAN (R 4.2.1)
 memoise          2.0.1       2021-11-26 [3] RSPM (R 4.2.0)
 mgcv             1.8-40      2022-03-29 [4] CRAN (R 4.1.3)
 mime             0.12        2021-09-28 [3] RSPM (R 4.2.0)
 miniUI           0.1.1.1     2018-05-18 [3] RSPM (R 4.2.0)
 munsell          0.5.0       2018-06-12 [3] RSPM (R 4.2.0)
 nlme             3.1-159     2022-08-09 [4] CRAN (R 4.2.1)
 pbapply          1.5-0       2021-09-16 [3] RSPM (R 4.2.0)
 permute        * 0.9-7       2022-01-27 [3] RSPM (R 4.2.0)
 pillar           1.8.1       2022-08-19 [3] RSPM (R 4.2.0)
 pkgbuild         1.3.1       2021-12-20 [3] RSPM (R 4.2.0)
 pkgconfig        2.0.3       2019-09-22 [3] RSPM (R 4.2.0)
 pkgload          1.3.0       2022-06-27 [3] RSPM (R 4.2.0)
 pointblank       0.11.1      2022-09-06 [3] RSPM (R 4.2.0)
 prettyunits      1.1.1       2020-01-24 [3] RSPM (R 4.2.0)
 processx         3.7.0       2022-07-07 [3] RSPM (R 4.2.0)
 profvis          0.3.7       2020-11-02 [3] RSPM (R 4.2.0)
 promises         1.2.0.1     2021-02-11 [3] RSPM (R 4.2.0)
 proxy            0.4-27      2022-06-09 [3] RSPM (R 4.2.0)
 ps               1.7.1       2022-06-18 [3] RSPM (R 4.2.0)
 purrr            0.3.4       2020-04-17 [3] RSPM (R 4.2.0)
 R6               2.5.1       2021-08-19 [3] RSPM (R 4.2.0)
 rarable          0.1.0       2022-03-11 [1] local
 Rcpp             1.0.9       2022-07-08 [3] RSPM (R 4.2.0)
 rdwd             1.6.0       2022-05-30 [1] CRAN (R 4.2.0)
 remotes          2.4.2       2021-11-30 [3] RSPM (R 4.2.0)
 rfieldclimate  * 0.1.0       2022-03-11 [1] git2r (<internal>)
 rlang            1.0.6       2022-09-24 [2] CRAN (R 4.2.1)
 RPostgres        1.4.4       2022-05-02 [3] RSPM (R 4.2.0)
 rsencrop         0.0.0.9000  2022-03-11 [1] git2r (<internal>)
 rstudioapi       0.14.0-9000 2022-09-26 [2] Github (rstudio/rstudioapi@72e63b1)
 rtempest         0.1.0.9000  2022-03-11 [1] git2r (<internal>)
 rweatherlink     0.1.0.9000  2022-03-11 [1] git2r (<internal>)
 rworldmap        1.3-6       2016-02-03 [1] CRAN (R 4.1.2)
 rworldxtra       1.01        2012-10-03 [1] CRAN (R 4.1.2)
 rzentra          0.1.0       2022-03-11 [1] git2r (<internal>)
 scales           1.2.1       2022-08-20 [3] RSPM (R 4.2.0)
 sessioninfo      1.2.2       2021-12-06 [3] RSPM (R 4.2.0)
 sf               1.0-8       2022-07-14 [1] CRAN (R 4.2.1)
 shiny            1.7.2       2022-07-19 [3] RSPM (R 4.2.0)
 sp               1.5-0       2022-06-05 [2] CRAN (R 4.2.1)
 spam             2.9-1       2022-08-07 [2] CRAN (R 4.2.1)
 stringi          1.7.8       2022-07-11 [3] RSPM (R 4.2.0)
 stringr          1.4.1       2022-08-20 [3] RSPM (R 4.2.0)
 tempest          0.3.0       2022-03-11 [1] git2r (<internal>)
 tempestkraken  * 0.0.0.9000  2022-09-20 [1] local
 testthat       * 3.1.4       2022-04-26 [3] RSPM (R 4.2.0)
 tibble           3.1.8       2022-07-22 [3] RSPM (R 4.2.0)
 tictoc           1.1         2022-09-03 [3] RSPM (R 4.2.0)
 tidyr            1.2.1       2022-09-08 [3] RSPM (R 4.2.0)
 tidyselect       1.1.2       2022-02-21 [3] RSPM (R 4.2.0)
 units            0.8-0       2022-02-05 [3] RSPM (R 4.2.0)
 urlchecker       1.0.1       2021-11-30 [3] RSPM (R 4.2.0)
 usethis        * 2.1.6       2022-05-25 [3] RSPM (R 4.2.0)
 utf8             1.2.2       2021-07-24 [3] RSPM (R 4.2.0)
 vctrs            0.4.1       2022-04-13 [3] RSPM (R 4.2.0)
 vegan          * 2.6-2       2022-04-17 [3] RSPM (R 4.2.0)
 viridis          0.6.2       2021-10-13 [3] RSPM (R 4.2.0)
 viridisLite      0.4.1       2022-08-22 [3] RSPM (R 4.2.0)
 xfun             0.33        2022-09-12 [3] RSPM (R 4.2.0)
 xtable           1.8-4       2019-04-21 [3] RSPM (R 4.2.0)

 [1] /home/szoecse/R/packages
 [2] /usr/local/lib/R/site-library
 [3] /usr/lib/R/site-library
 [4] /usr/lib/R/library

This happens only with a non-clean session.
In a fresh session I do not see this (=> something with the search path?) anymore!

In my case it's related to an internal package (tempestkraken and it's dependencies).
Will investigate the searchpath...

@gavinsimpson
Copy link
Contributor

@Edild Thanks for the further work tracking this down. I had assumed as much: as this isn't reproducible in a clean (--vanilla) session it must be due to something getting clobbered on the search path - I initially wondered if it was related to devtools::check() and permute::check() but I couldn't replicate it even after loading both packages first or second in an otherwise clean session.

With so many attached we're not going to be able to figure out the specific issue without some narrowing down.

It would be good if we could get the traceback() at the point that the error is thrown. It would also be really helpful if you could try to narrow down the number of packages that might be involved.

@camillemellin Can you provide the output from sessioninfo::session_info() (or the inbuilt sessionInfo() if you don't have/want to install {sessioninfo}) from your R session where this bug is reproducible? Hopefully, you'll have fewer packages attached that might make it easier to track down the problem.

@eduardszoecs
Copy link
Contributor

eduardszoecs commented Sep 27, 2022

If narrowed it down to a reproducible example

library("vegan")
example(simper)
(si1 <- sessioninfo::session_info())

library("proxy")
example("simper")
(si2 <- sessioninfo::session_info())

setdiff(si2$packages$package, si1$packages$package)
# "proxy" 

looking deeper into it...

@gavinsimpson
Copy link
Contributor

@Edild Reproducible here now too. Thanks!

@eduardszoecs
Copy link
Contributor

eduardszoecs commented Sep 27, 2022

proxy it is (which makes sense as it's also about distances....)

@eduardszoecs
Copy link
Contributor

More funny things in that package:

R> proxy:::as.matrix.dist
function (x, diag = 0, ...) 
{
    x <- as_matrix_dist(x)
    diag(x) <- diag
    x
}
<bytecode: 0x55d2fbc26360>
<environment: namespace:proxy>

R> proxy:::as_matrix_dist
function (x, ...) 
{
    size <- attr(x, "Size")
    df <- matrix(0, size, size)
    df[row(df) > col(df)] <- x
    df <- df + t(df)
    labels <- attr(x, "Labels")
    dimnames(df) <- if (is.null(labels)) 
        list(seq_len(size), seq_len(size))
    else list(labels, labels)
    df
}
<bytecode: 0x55d2fc4a15f0>
<environment: namespace:proxy>

R> stats:::as.matrix.dist
function (x, ...) 
{
    size <- attr(x, "Size")
    df <- matrix(0, size, size)
    df[row(df) > col(df)] <- x
    df <- df + t(df)
    labels <- attr(x, "Labels")
    dimnames(df) <- if (is.null(labels)) 
        list(seq_len(size), seq_len(size))
    else list(labels, labels)
    df
}
<bytecode: 0x55d2fbbfd9b0>
<environment: namespace:stats>

Just duplicating code, for adding zeros to the diagonal? IMHO questionable and not maintainable...

@gavinsimpson anything we can do about this (except telling users no to load the package after vegan)?

@gavinsimpson
Copy link
Contributor

gavinsimpson commented Sep 27, 2022

I haven't quite worked out why yet, but when called with {proxy} loaded and attached, simplify2array finds names on the first dissimilarity object that are passed to array and look like element 1 of dimnames below:

Browse[2]> dimnames
[[1]]
 [1] "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9"  "10" "11" "12" "13" "14" "15"
[16] "16" "17" "18" "19" "20"

[[2]]
NULL

while without proxy loaded and attached dimnames that is passed to array is NULL.

In the example, we have 20 samples and 30 species, and it is finding something related to samples when it should be finding nothing and that's getting applied to something that has second dimension 30, and hence the error about dimnames.

Just a note: if debugging this, be careful with the reproducible example as example seems to involve calling simplify2array so if you debug that and then call example(simper) to trigger the bug or check out whats going on, you aren't debugging in simper any longer and I manged to segfault my R several times today before I realised...

Use

library("vegan")
data(dune, dune.env)
library("proxy")
sim <- simper(dune, dune.env$Management, permutations = 99)

@gavinsimpson
Copy link
Contributor

Got it. {proxy} defines an S3 method for generic names on class dist:

Browse[1]> proxy:::names.dist
function (x) 
attr(x, "Labels")
<bytecode: 0x55932a6fdf88>
<environment: namespace:proxy>

simplify2array() calls names() on the object created by lapply() in the sapply() call. It is picking up this names() method.

Solutions?

I'm not sure what is best but a couple of things spring to mind:

  1. Note checked but calling this function instead of the anonymous function in simper when doing the sapply() doesn't fail:
foo <- function(i, comm) {
  d <- vegdist(comm[, i, drop = FALSE], method = "man")
  attr(d, "Labels") <- NULL
  d
}
  1. We pop our own class on vegdist objects such that they are of class c("vegdist", "dist") and then we can define methods to defeat {proxy}, such as
`names.vegdist` <- function(x) NULL

I think this is bad behaviour on the part of {proxy} as they don't own the class "dist" and so shouldn't be messing with it, but both the above options should work. Depends how much effort we want to go to.

I'll prep a PR for the first option and we can discuss this further in the PR...

@jarioksa
Copy link
Contributor

jarioksa commented Sep 27, 2022

Well done! Good snooping and fine analysis!

It seems that proxy indeed is a dangerous package that changes the behaviour of standard R in many ways. It seems to over-write R functions dist, as.dist and as.matrix. In this case, the basic problem seems to be that it defines several functions for "dist" objects and these will change the handling of distances in all R functions. It introduces at least the following new methods for "dist" objects: [[, dim and dimnames. This is potentially explosive in any other R function assuming standard R way of handling distances.

What we can do is the fix that @Edild already suggested before the analysis: take care that the distances are not distances, but vectorized with c(). What we try to do here is to handle distances as vectors and pack them into a matrix where columns are species, and rows are vectorized distance entries (species contributions to the distance), and we use sapply for this packing which calls simplify2array. proxy interferes this in not allowing distances be handled as vectors (with discarded attributes), but using c() will take care of this and throw away class and other attributes.

@gavinsimpson
Copy link
Contributor

I decided to go with as.vector() instead but it seems to work. Comments/reviews on #530 but some quick checking indicates the problem is fixed with this tweak.

@jarioksa
Copy link
Contributor

It seems that this problem was already reported in #513. However, the reporter solved the problem privately and therefore was not solved for everybody else.

@gavinsimpson
Copy link
Contributor

Closed via f0cedc8

@gavinsimpson
Copy link
Contributor

Thanks for reporting this @camillemellin and for you and @Edild especially for helping track down where the problem lay so we could fix this problem created by {proxy} for everyone.

@camillemellin
Copy link
Author

No problems at all and well done for finding a fix!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants