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

R Session Aborts when calling flowjo_to_gatingset() more than once #144

Open
stephenchristy opened this issue Aug 22, 2022 · 3 comments
Open

Comments

@stephenchristy
Copy link

Hi there - I am running flowjo_to_gatingset() in an sapply function to generate different gating sets for different groups from FlowJo as in the code below:

gs_list <- sapply(groups, function(group) {
   CytoML::flowjo_to_gatingset(ws, name = group)
})

It will work fine if I only have one group and flowjo_to_gatingset() is only called once. But if I have more than one group, and flowjo_to_gatingset() is called more than once, my R session aborts. This only happens with R 4.2, I have run the same code for the last several years in R 4.0 and 4.1 and it works without issue. But I'd like to be able to call the function more than once in an R 4.2 session.

When I look at the Windows 10 Event Viewer Application Error, I can see the reason for the aborted R session:

Faulting application name: rsession-utf8.exe, version: 2022.7.1.0, time stamp: 0x62db30bc
Faulting module name: tbb.dll, version: 0.0.0.0, time stamp: 0x62eb12ad
Exception code: 0xc0000005
Fault offset: 0x0000000000010045
Faulting process id: 0x2ca0
Faulting application start time: 0x01d8b66af2ac2b9c
Faulting application path: C:\Program Files\RStudio\bin\rsession-utf8.exe
Faulting module path: C:\Users\user\AppData\Local\R\win-library\4.2\RcppParallel\lib\x64\tbb.dll
Report Id: fdbaa282-e6ef-4d2b-848a-ae4d17442e23
Faulting package full name:
Faulting package-relative application ID:

It seems like there might be an issue with RcppParallel or tbb.dll.

My session info is below:

R version 4.2.1 (2022-06-23 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.utf8  LC_CTYPE=English_United States.utf8    LC_MONETARY=English_United States.utf8 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.utf8    

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

loaded via a namespace (and not attached):
 [1] Biobase_2.57.1      httr_1.4.4          tidyr_1.2.0         jsonlite_1.8.0      carData_3.0-5       RcppParallel_5.1.5  stats4_4.2.1        latticeExtra_0.6-30
 [9] RBGL_1.73.0         flowWorkspace_4.9.1 yaml_2.3.5          pillar_1.8.1        backports_1.4.1     lattice_0.20-45     glue_1.6.2          digest_0.6.29      
[17] RColorBrewer_1.1-3  ggsignif_0.6.3      colorspace_2.0-3    ggcyto_1.25.1       plyr_1.8.7          XML_3.99-0.10       pkgconfig_2.0.3     broom_1.0.0        
[25] zlibbioc_1.43.0     purrr_0.3.4         flowCore_2.9.1      scales_1.2.1        jpeg_0.1-9          tzdb_0.3.0          tibble_3.1.8        aws.s3_0.3.21      
[33] assertr_2.8         generics_0.1.3      car_3.1-0           ggplot2_3.3.6       ellipsis_0.3.2      ggpubr_0.4.0        BiocGenerics_0.43.1 hexbin_1.28.2      
[41] cli_3.3.0           magrittr_2.0.3      deldir_1.0-6        evaluate_0.16       fansi_1.0.3         rstatix_0.7.0       xml2_1.3.3          graph_1.75.0       
[49] tools_4.2.1         data.table_1.14.2   ncdfFlow_2.43.1     hms_1.1.2           lifecycle_1.0.1     matrixStats_0.62.0  stringr_1.4.1       interp_1.1-3       
[57] S4Vectors_0.35.1    munsell_0.5.0       humarrow_0.0.0.9000 compiler_4.2.1      rlang_1.0.4         grid_4.2.1          rstudioapi_0.13     aws.signature_0.6.0
[65] base64enc_0.1-3     cytolib_2.9.1       gtable_0.3.0        abind_1.4-5         curl_4.3.2          R6_2.5.1            RProtoBufLib_2.9.0  gridExtra_2.3      
[73] dplyr_1.0.9         utf8_1.2.2          CytoML_2.9.0        readr_2.1.2         Rgraphviz_2.41.1    stringi_1.7.8       Rcpp_1.0.9          vctrs_0.4.1        
[81] png_0.1-7           tidyselect_1.1.2   

Thanks in advance!

@schwebels
Copy link

schwebels commented Nov 2, 2022

Hi,
I have the same issue. I am running R version 4.2.1 (2022-06-23 ucrt) -- "Funny-Looking Kid"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

flowjo_to_gatingset() works fine with the first group in the workspace, eg '97420-1-02 BAL Cells' in the following ouptput:

Groups in Workspace
Name Num.Samples
1 All Samples 38
2 97420-1-02 BAL Cells 6
3 97420-1-02 PBMCs 6
4 Compensation 14

But R completely aborts when trying to run: flowjo_to_gatingset(WS,name="97420-1-02 PBMCs",
keywords = c( "$FIL", "TBNM", "$DATE"), additional.sampleID = TRUE)

I also tried this code on a linux cluster running 'R/4.2.1-foss-2022a' and 'R-bundle-Bioconductor/3.15-foss-2022a-R-4.2.1' and after running the first flowjo_to_gatingset instance, it returns:

PBMC.gs <- flowjo_to_gatingset(WS, name="97415-1-04 PBMCs", keywords=c("$FIL", "TBNM", "$DATE"),additional.sampleID=TRUE)

*** caught segfault ***
address 0xfffffffffffffff7, cause 'memory not mapped'

Traceback:
1: (function (ws, group_id, subset, execute, path, cytoset, backend_dir, backend, includeGates, additional_keys, additional_sampleID, keywords, is_pheno_data_from_FCS, keyword_ignore_case, extend_val, extend_to, channel_ignore_case, leaf_bool, include_empty_tree, skip_faulty_gate, comps, transform, fcs_file_extension, greedy_match, fcs_parse_arg, num_threads = 1L) { .Call(_CytoML_parse_workspace, ws, group_id, subset, execute, path, cytoset, backend_dir, backend, includeGates, additional_keys, additional_sampleID, keywords, is_pheno_data_from_FCS, keyword_ignore_case, extend_val, extend_to, channel_ignore_case, leaf_bool, include_empty_tree, skip_faulty_gate, comps, transform, fcs_file_extension, greedy_match, fcs_parse_arg, num_threads)})(ws = <pointer: 0x10da1550>, group_id = 2, subset = list(), execute = TRUE, path = "", cytoset = <pointer: 0xdc92a70>, backend_dir = "/tmp/job.66346.hpc/Rtmp9cKpPF", backend = "h5", includeGates = TRUE, additional_keys = "$TOT", additional_sampleID = TRUE, keywords = c("$FIL", "TBNM", "$DATE"), is_pheno_data_from_FCS = FALSE, keyword_ignore_case = FALSE, extend_val = 0, extend_to = -4000, channel_ignore_case = FALSE, leaf_bool = TRUE, include_empty_tree = FALSE, skip_faulty_gate = FALSE, comps = list(), transform = TRUE, fcs_file_extension = ".fcs", greedy_match = FALSE, fcs_parse_arg = list(), num_threads = 1)
2: do.call(parse_workspace, args)
3: flowjo_to_gatingset(WS, name = "97415-1-04 PBMCs", keywords = c("$FIL", "TBNM", "$DATE"), additional.sampleID = TRUE)

Thanks for any help with this!
Bonnie

@hclnyrk
Copy link

hclnyrk commented Nov 21, 2022

Hi,
I appear to be seeing the same issue when running flowjo_to_gatingset() consecutively

gs <- flowjo_to_gatingset(ws, name = 3, path = dataDirFCS)

gs2 <- flowjo_to_gatingset(ws, name = 4, path = dataDirFCS)

Running the first call works perfectly, but the second throws the following error:

*** caught segfault ***
address 0xfffffffffffffff7, cause 'memory not mapped'
Traceback:
1: (function (ws, group_id, subset, execute, path, cytoset, backend_dir, backend, includeGates, additional_keys, additional_sampleID, keywords, is_pheno_data_from_FCS, keyword_ignore_case, extend_val, extend_to, channel_ignore_case, leaf_bool, include_empty_tree, skip_faulty_gate, comps, transform, fcs_file_extension, greedy_match, fcs_parse_arg, num_threads = 1L) { .Call(_CytoML_parse_workspace, ws, group_id, subset, execute, path, cytoset, backend_dir, backend, includeGates, additional_keys, additional_sampleID, keywords, is_pheno_data_from_FCS, keyword_ignore_case, extend_val, extend_to, channel_ignore_case, leaf_bool, include_empty_tree, skip_faulty_gate, comps, transform, fcs_file_extension, greedy_match, fcs_parse_arg, num_threads)})(ws = <pointer: 0x55a065164380>, group_id = 3, subset = list(), execute = TRUE, path = "/media/huw/DATA/220826_Microspheres_32-colours-V04/Unmixed", cytoset = <pointer: 0x55a05df03be0>, backend_dir = "/tmp/RtmpYq7oXF", backend = "h5", includeGates = TRUE, additional_keys = "$TOT", additional_sampleID = FALSE, keywords = character(0), is_pheno_data_from_FCS = FALSE, keyword_ignore_case = FALSE, extend_val = 0, extend_to = -4000, channel_ignore_case = FALSE, leaf_bool = TRUE, include_empty_tree = FALSE, skip_faulty_gate = FALSE, comps = list(), transform = TRUE, fcs_file_extension = ".fcs", greedy_match = FALSE, fcs_parse_arg = list(), num_threads = 1)
2: do.call(parse_workspace, args)
3: flowjo_to_gatingset(ws, name = 4, path = dataDirFCS)

Here is the output of sessionInfo()

R version 4.1.2 (2021-11-01)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.1 LTS

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3.10.3
LAPACK: /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3.10.3

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

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

other attached packages:
[1] CytoML_2.6.0

loaded via a namespace (and not attached):
[1] tidyselect_1.2.0 lattice_0.20-45 colorspace_2.0-3 vctrs_0.5.1 generics_0.1.3 stats4_4.1.2 yaml_2.3.6
[8] ncdfFlow_2.40.0 base64enc_0.1-3 RBGL_1.70.0 utf8_1.2.2 flowCore_2.6.0 XML_3.99-0.12 rlang_1.0.6
[15] hexbin_1.28.2 pillar_1.8.1 withr_2.5.0 glue_1.6.2 DBI_1.1.3 aws.s3_0.3.21 Rgraphviz_2.38.0
[22] BiocGenerics_0.40.0 RColorBrewer_1.1-3 plyr_1.8.8 matrixStats_0.63.0 jpeg_0.1-9 lifecycle_1.0.3 zlibbioc_1.40.0
[29] RProtoBufLib_2.6.0 munsell_0.5.0 gtable_0.3.1 cytolib_2.6.2 latticeExtra_0.6-30 Biobase_2.54.0 curl_4.3.3
[36] flowWorkspace_4.6.0 fansi_1.0.3 Rcpp_1.0.9 scales_1.2.1 S4Vectors_0.32.4 jsonlite_1.8.3 RcppParallel_5.1.5
[43] graph_1.72.0 deldir_1.0-6 interp_1.1-3 gridExtra_2.3 ggplot2_3.4.0 png_0.1-7 digest_0.6.30
[50] dplyr_1.0.10 grid_4.1.2 cli_3.4.1 tools_4.1.2 magrittr_2.0.3 tibble_3.1.8 aws.signature_0.6.0
[57] pkgconfig_2.0.3 data.table_1.14.6 xml2_1.3.3 assertthat_0.2.1 httr_1.4.4 rstudioapi_0.14 R6_2.5.1
[64] ggcyto_1.22.0 compiler_4.1.2

Your help getting to the bottom of this would be much appreacated!

H

@nimayassini
Copy link

nimayassini commented Jan 27, 2023

I was running into the same issue. I had CytoML under version 2.8.1 I believe. After updating it to 2.10.0, the issue is now resolved for me.

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