-
Notifications
You must be signed in to change notification settings - Fork 11
Closed
Description
Calling rowSums()
on a large-ish DelayedMatrix leads to a serialization/forking/memory issue on macOS and Linux
library(DelayedArray)
x <- DelayedArray(matrix(1L, nrow = 10000000, ncol = 100))
# Errors
rowSums(x)
On macOS (16GB RAM) the error is:
Error: vector memory exhausted (limit reached?)
On Linux (20GB RAM) the error is:
Error in serialize(data, node$con, xdr = FALSE) : ignoring SIGPIPE signal
Error in serialize(data, node$con, xdr = FALSE) : ignoring SIGPIPE signal
Error: failed to stop ‘SOCKcluster’ cluster: error writing to connection
Error in serialize(data, node$con, xdr = FALSE) : ignoring SIGPIPE signal
# Then "Error in serialize(data, node$con, xdr = FALSE) : ignoring SIGPIPE signal" repeats indefinitely
I thought it might be a more general issue with blockApply()
and its use of BiocParallel, but I haven't been able to trigger the problem in some brief testing. For example, using colSums()
or blockApply()
-ing max()
over individual columns or rows of x
worked fine.
CathG and zx8754
Metadata
Metadata
Assignees
Labels
No labels