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

Exit Code 137 - Out of Memory #1

Open
khoroshevskyi opened this issue Nov 11, 2022 · 3 comments
Open

Exit Code 137 - Out of Memory #1

khoroshevskyi opened this issue Nov 11, 2022 · 3 comments

Comments

@khoroshevskyi
Copy link
Member

While downloading GSE178610 GitHub action failing:

Trying GSE178610 (not a file) as accession...
Skipped 0 accessions. Starting now.
Processing accession 1 of 1: 'GSE178610'
/home/runner/work/_temp/4dfe2662-0b6d-4b4d-84ff-aad23b8dfa34.sh: line 1:  1810 Killed                  python geo_pipeline_script.py --namespace geo_recent --host *** --db *** --user *** -***
Error: Process completed with exit code 137.

I am not sure why this error is happening. I guess, it's because geofetch is creating to huge annotation dict or list.
Do you have any ideas how to handle this error and if it occurs how to skip this accession? @nleroy917 @nsheff

@khoroshevskyi
Copy link
Member Author

Update: GSM file is 2GB, so it make sense why it's failing. But still question is open: how to handle it.

@nsheff
Copy link
Contributor

nsheff commented Nov 14, 2022

It's being killed by the memory monitor on the HPC. So, it's in some way outside of geofetch's hands.

Two possible responses are:

  1. you could try to put in some interrupt signal handling, to fail gracefully. but actually it looks like that may already by there.
  2. you could try to streamline the process to not use so much memory, even if there's a big GSM file -- say, by reading it in chunks or something. You could find out what is using all the memory or and make it more efficient.

@khoroshevskyi
Copy link
Member Author

In current version of metageo_pephub I used 2 check function that will interrupt process of downloading huge GSM files and won't interrupt current cycle (run) and will continue downloading other projects. Two checks are:

  1. geofetch checks if GSM file is bigger that 1GB. If it is, geofetch will skip this project.
  2. Max geofetch processing time is set to 2 minutes. This will help to avoid memory errors, especially if the lists in geofetch increase exponentially.

Additionally, I have added functionality that deals with tables in soft files. This means that tables will no longer be a problem for us.

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

No branches or pull requests

2 participants