-
Notifications
You must be signed in to change notification settings - Fork 41
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
Debye efficiency (macOS) #2882
Debye efficiency (macOS) #2882
Conversation
Seems like its not finding it! |
I'll be in the office for a little while longer if there's something you need doing. |
I think it's working - we didn't mark our new release as the latest, so on the first run the tests were still using the old library. I forgot we have two different actions running, one for Edit: Yep, everything's passing. @wpotrzebowski can you check the new installer from here? |
@klytje: sorry for the slow reply. It seems to be crashing on my machine. |
Question: is that possibly a chip issue? I think different macs can use very different chips? Also out of curiosity: does it really crash? I see Mac saying it crashed and offering to kill the program but "ignore" is also an option and looking at the log explorer it looks like SasView caught the crash of ausaxs and fell back to the old method and is just taking a very long time (9% of that calculation at the time of the screenshot)? If one hits ignore does it continue? If so and it is difficult to have it not crash on some chips/platforms it might be good to capture the failure better so that the user does not see the crash warning but just the log explorer popping up saying we could not use it falling back to slow method? |
Perhaps? Depends on the kind of optimizations Clang decided to use when @lucas-wilkins compiled it. I'll have to research how to specify what it can and cannot use; it's not obvious to me how to do this with universal binaries like this. The current implementation hides the actual crash message; I'll have to change this to debug further.
A new process is spawned to 'test-run' my library, which indeed did fatally crash. Perhaps the OS is picking up on this and offering to kill the rest of the program as well? Such a popup is not ideal, to say the least. I'm not sure how to get rid of it. When I tested with Linux & Windows, neither of them seemed to care about the crashing process.
It should recover just fine - that's why we use a new process to test-run it. Any crash, no matter how severe, will not affect the main process which is thus free to continue. As you pointed out it seems to already have started the calculation using the built-in GSC.
That's how it's supposed to work (and how it does work on both Windows & Linux), but MacOS seems to have picked up on the crashing child process and decided to intervene all on its own. |
As another data point, I see the same error as @wpotrzebowski. I am running an M2 processor. Attached is the MacOS crash report which might help you debug the issue. |
@wpotrzebowski Can you test this artifact with this script? Should be easier to debug through this than the sasview installers. |
@klytje sure!
|
@wpotrzebowski That's odd. I didn't change anything compared to when Lucas compiled it. What happens if you use this library with sasview? It should go in the |
Hmm, it doesn't work with just swapping lib files for the app from the installer. (Mac security-keeper is not happy about replacing files in the signed executable). I need to think if I can test it differently. We probably can disable signing for this PR (it doesn't work for the moment anyway). |
I don't think you need an actual installer, you should be able to use it through the |
This is how I made it work before (with the library compiled on my machine), so I know this approach works but indeed it may be worth trying with external one. |
@wpotrzebowski I wonder why you didn't get this warning when you were running my testscript? They hook into the library in the exact same way. Could this be related to why it doesn't work in the installer? If we fix the signing problem I can try compiling a new installer using this version of the library since we know it should work. |
@klytje I don't think this is the reason. The signing script goes through the entire bundle and signs everything (I can probably check if your lib has been signed properly). I had to allow running your lib as it was downloaded from the Internet. |
But disabling signing completely may help understand it. I will try to do it in the evening. |
@wpotrzebowski I updated the Releases so all new installer runs should include the new library version. |
Ah - the failing tests is my mistake. I recently changed the distance binning width from 0.1Å to 0.25Å, but this is apparently not good enough for the highly ordered diamond structure we're testing with. I'll fix this in the next version. |
Without signing it returns the same error as for the signed package. |
I´ve run test script on the library from the installer. Maybe this tells you something
|
Can you run |
|
Can you verify that the uncompressed library has both
|
@klytje: What do you mean by uncompressed library? |
@wpotrzebowski The library artifact you downloaded from my repo. I've read through the PyInstaller docs. Three observations:
|
For uncompressed
|
Could this perhaps be due to the way an external Python process is spawned? The first time we try to hook into my library, we do it from a spawned child process to avoid propagating crashes. But this spawns a fresh Python interpreter process. What would happen if you only have Edit: I think we can test this by skipping the safety feature and just directly hooking into my library from the main process. @wpotrzebowski please try the new installer when you have time :) |
The latest installer crashes silently. |
@krzywon can you maybe give the latest installers a try since Wojciech is not available? Just try to run the generic calculator and see if it crashes |
Thanks for the update, @klytje. I'll give it a try sometime this week. |
I was able to test the latest build this morning. Unfortunately, I am still seeing the error pop up saying SasView stopped, but I also only see a single MacOS build. I am going to update this branch to the latest release to see if we can have parallel builds. |
It should already have been parallel builds? Anyway, if it's still crashing, I don't think we can get around waiting for the macbook to be shipped so I can do some proper debugging. |
I reran the build so the parallel builds were actually created. I just tested the MacOS latest build and am still seeing the error when running the debye calculation. @rozyczko - any news on the MacBook? |
@krzywon or @wpotrzebowski Can you try again but running SasView from the terminal? I.e. navigating to the downloaded build and running |
I recompiled my own library to no longer automatically create a /temp folder on startup, and recompiled SasView to use this updated version. This seems to have fixed the crashing on my |
I was able to test this on my |
Latest build confirmed working on all three platforms. I think this is ready for testing & review. |
As noted in an email conversation, we are holding this for the next release. |
Tested functionality on arm Mac and indeed it seems to work! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After some thought, having this in the release would be useful for Mac users. Approved
Test branch for MacOS support of the external AUSAXS library.