[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#931055: r-bioc-complexheatmap: Error: C stack usage in test suite



Hi,

I can confirm that the run-unit-test script works when executed with
the package installed.  I tried to provide some xserver via


diff --git a/debian/tests/control b/debian/tests/control
index d706a90..e72e807 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,5 +1,5 @@
 Tests: run-unit-test
-Depends: @, r-cran-testthat, r-cran-dendextend
+Depends: @, r-cran-testthat, r-cran-dendextend, r-cran-gridtext, xvfb, xauth
 Restrictions: allow-stderr
 
 
diff --git a/debian/tests/run-unit-test b/debian/tests/run-unit-test
index 193d5e0..7ab30b6 100644
--- a/debian/tests/run-unit-test
+++ b/debian/tests/run-unit-test
@@ -10,6 +10,14 @@ fi
 cd $AUTOPKGTEST_TMP
 cp -a /usr/share/doc/$debname/tests/* $AUTOPKGTEST_TMP
 gunzip -r *
+
+Xvfb :5 -screen 0 1600x1200x24 -ac +extension GLX +render -noreset -v  -fbdir $AUTOPKGTEST_TMP/ &
+XVFB_PID=$!
+echo $XVFB_PID
+export DISPLAY=:5
+export XAUTHORITY=/dev/null
+trap "kill $XVFB_PID" 0 INT QUIT ABRT PIPE TERM
+
 for testfile in *.R; do
     echo "BEGIN TEST $testfile"
     LC_ALL=C.UTF-8 R --no-save < $testfile


but it keeps on failing in pbuilder chroot.

Any hints are welcome

     Andreas.


On Fri, Jul 10, 2020 at 11:05:24PM +0200, Andreas Tille wrote:
> Hi,
> 
> I intend to package r-bioc-complexheatmap.  The Build-Dependency
> r-cran-getoptlong is in new as well as the Test-Depends r-cran-gridtext
> are in new.  With these packages it is possible it is possible to
> reproduce the error of the test suite:
> 
> 
> ...
> ---------------------
> 
> 
> Attaching package: ‘dendextend’
> 
> >.
> > The following object is masked from ‘package:stats’:
> 
>     cutree
> 
> m = matrix(rnorm(100), 10)
> > dend1 = as.dendrogram(hclust(dist(m)))
> > dend1 = adjust_dend_by_x(dend1, sort(runif(10)))
> >.
> > m = matrix(rnorm(50), nr = 5)
> > dend2 = as.dendrogram(hclust(dist(m)))
> >.
> > dend3 = as.dendrogram(hclust(dist(m[1:2, ])))
> >.
> >.
> > dend_merge = merge_dendrogram(dend3,.
> + <---->list(set(dend1, "branches_col", "red"),.
> + <----><------> set(dend2, "branches_col", "blue"))
> + )
> >.
> > grid.dendrogram(dend_merge, test = TRUE, facing = "bottom")
> > grid.dendrogram(dend_merge, test = TRUE, facing = "top")
> > grid.dendrogram(dend_merge, test = TRUE, facing = "left")
> > grid.dendrogram(dend_merge, test = TRUE, facing = "right")
> >.
> > grid.dendrogram(dend_merge, test = TRUE, facing = "bottom", order = "reverse")
> > grid.dendrogram(dend_merge, test = TRUE, facing = "top", order = "reverse")
> > grid.dendrogram(dend_merge, test = TRUE, facing = "left", order = "reverse")
> > grid.dendrogram(dend_merge, test = TRUE, facing = "right", order = "reverse")
> >.
> >.
> > m = matrix(rnorm(100), 10)
> > dend1 = as.dendrogram(hclust(dist(m)))
> > dend1 = adjust_dend_by_x(dend1, unit(1:10, "cm"))
> > grid.dendrogram(dend1, test = TRUE)
> >.
> > dl = cut_dendrogram(dend1, k = 3)
> > grid.dendrogram(dl$upper, test = TRUE)
> >.
> >.
> > m1 = matrix(rnorm(100), nr = 10)
> > m2 = matrix(rnorm(80), nr = 8)
> > m3 = matrix(rnorm(50), nr = 5)
> > dend1 = as.dendrogram(hclust(dist(m1)))
> > dend2 = as.dendrogram(hclust(dist(m2)))
> > dend3 = as.dendrogram(hclust(dist(m3)))
> > dend_p = as.dendrogram(hclust(dist(rbind(colMeans(m1), colMeans(m2), colMeans(m3)))))
> > dend_m = merge_dendrogram(dend_p, list(dend1, dend2, dend3))
> > grid.dendrogram(dend_m, test = T)
> >.
> > dend_m = merge_dendrogram(dend_p, list(dend1, dend2, dend3), only_parent = TRUE)
> > grid.dendrogram(dend_m, test = T)
> >.
> > require(dendextend)
> > dend1 = color_branches(dend1, k = 1, col = "red")
> > dend2 = color_branches(dend2, k = 1, col = "blue")
> > dend3 = color_branches(dend3, k = 1, col = "green")
> > dend_p = color_branches(dend_p, k = 1, col = "orange")
> > dend_m = merge_dendrogram(dend_p, list(dend1, dend2, dend3))
> > grid.dendrogram(dend_m, test = T)
> >.
> >.
> > m = matrix(rnorm(120), nc = 12)
> > colnames(m) = letters[1:12]
> > fa = rep(c("a", "b", "c"), times = c(2, 4, 6))
> > dend = cluster_within_group(m, fa)
> > grid.dendrogram(dend, test = TRUE)
> >.
> >.
> > #  stack overflow problem
> > m = matrix(1, nrow = 1000, ncol = 10)
> > m[1, 2] = 2
> > dend = as.dendrogram(hclust(dist(m)))
> > grid.dendrogram(dend, test = T)
> Error: C stack usage  7969380 is too close to the limit
> Execution halted
> autopkgtest [20:30:07]: test run-unit-test: -----------------------]
> 
> 
> Any idea how to fix this?
> 
> Kind regards
> 
>        Andreas.
> 
> 
> -- 
> http://fam-tille.de
> 
> 

-- 
http://fam-tille.de


Reply to: