Code Monkey home page Code Monkey logo

Comments (9)

kvnkuang avatar kvnkuang commented on August 14, 2024

Thanks for reporting! I will look into this ASAP.

from pbmcapply.

kvnkuang avatar kvnkuang commented on August 14, 2024

Hi Simon,

May I know which OS and R version you're running?
mcinteractive is only made available in parallel version >= 3.5 on *nix platforms.

If you're running an older version of R, could you please try to update to the most recent version (3.5.3) and see if it solves the problem?

Thanks,
Kevin

from pbmcapply.

hfberg avatar hfberg commented on August 14, 2024

Hi @kvnkuang! I have the same issue as Simon. I'm on ubuntu 16.4, R and parallel 3.4.4. However, I have had some major issues with R 3.5 and am very hesitant to update right now. But I guess I have to now. My script worked for me just two weeks ago. But maybe you have updated since then? :)

from pbmcapply.

deschsimon avatar deschsimon commented on August 14, 2024

Hi Kevin,

thanks for your reply!

I'm on macOS 10.12 and used to use R 3.4.3.
You're right, after upgrading R to 3.5.3 pbmclapply() again works as expected!

However, obviously an earlier version of pbmcapply and/or parellel seemed to work well with older versions of R. As @hfberg asked for - would you happen to know which versions of the packages still have this backward compatability?

Thank you!
Simon

from pbmcapply.

kvnkuang avatar kvnkuang commented on August 14, 2024

Hi @deschsimon and @hfberg,

Thanks again for your feedback. The last version of 'pbmcapply' works for older versions of R is 1.3.1. You can find that release here: https://github.com/kvnkuang/pbmcapply/releases/tag/1.3.1

The changes that broke the backward comparability are related to replacing future package with modified mccollect function to handle data collection from child processes. Two main rationals for these changes were:

  1. A modified mccollect allows us to handle signals (e.g. Ctrl+C) and terminate all child processes properly. This goal is not achievable by future as its structure is not flexible enough,
  2. future is a rather complex package that does many things we don't necessarily need. Switching to our own solution makes the code more straight forward and robust as we rely less on external packages.

I will work on a backward compatible solution for the current pbmcapply and you posted for updates.

Regards,
Kevin

from pbmcapply.

deschsimon avatar deschsimon commented on August 14, 2024

Hi Kevin,

thanks for your reply and for pointing to the old code!
Your approach, however, sounds fairly reasonable and I will try to get along with R3.5.3 for the rest..!
Thank you!
Simon

from pbmcapply.

hfberg avatar hfberg commented on August 14, 2024

Hi Kevin! Thank you for the explanation. I also decided to upgrade to R 3.5.3 and now the code run and produce the results it should. However, I get a few warnings related to parallel processing:

Warning messages: 1: In selectChildren(pids[!fin], -1) : cannot wait for child 19456 as it does not exist 2: In selectChildren(pids[!fin], -1) : cannot wait for child 19473 as it does not exist 3: In selectChildren(pids[!fin], -1) : cannot wait for child 19490 as it does not exist 4: In selectChildren(pids[!fin], -1) : cannot wait for child 19509 as it does not exist 5: In selectChildren(pids[!fin], -1) : cannot wait for child 19531 as it does not exist 6: In selectChildren(pids[!fin], -1) : cannot wait for child 19548 as it does not exist 7: In selectChildren(pids[!fin], -1) : cannot wait for child 19567 as it does not exist 8: In selectChildren(pids[!fin], -1) : cannot wait for child 19584 as it does not exist

This could be a result of the package I'm running not being fully compatible with the updated pbmcapply package, I will take a look at that when I have the time. I'm just wondering if this warning is something you recognize and that you know the solution to?:)

from pbmcapply.

kvnkuang avatar kvnkuang commented on August 14, 2024

Hi @hfberg,

I'm glad it works! These warnings just mean the child processes were terminated before the processMonitor check on them. As long as you get results back from child processes, these warnings won't affect anything.

However, I'll look into this to see if I can add some extra checks to prevent these warnings from appearing.

Thanks again for your feedback,
Kevin

from pbmcapply.

hfberg avatar hfberg commented on August 14, 2024

ok, then I can rest safely! ;) Thank you for your help!

from pbmcapply.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.