-
-
Notifications
You must be signed in to change notification settings - Fork 487
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
Bug in parallelized computations involving symbolic functions #27492
Comments
comment:1
Attachment: error_message_py3.txt |
comment:2
Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually) |
comment:3
As the Sage-8.8 release milestone is pending, we should delete the sage-8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage-8.9). |
comment:4
To help you along with this: it's probably a matter that the existence of the symbolic function 'f' isn't properly coordinated across the inter-process communication, so that a new symbolic function, also called 'f' is created at some point:
If may pickling that's (part of) the problem:
as you can see, the different ways of creating a symbolic function start out as giving the same result. However, as soon as pickling has been involved, something changes, and results are not compatible any more. from that point onwards, You can see part of it here:
As you can see, there's a rather opague string involved. The |
This comment has been minimized.
This comment has been minimized.
comment:7
Since false results are produced, it seems to be a severe bug. On this, I'd suggest either to solve it for milestone 9 or at least to disable the feature or give it a warning in the documentation until a solution is found. |
comment:8
Replying to @DeRhamSource:
Fortunately, with Python 3 (and hence Sage 9.0), there is no longer any silent error: a |
comment:9
Ah I see. And in conclusion, python2 will not even be supported anymore? Sorry for interfering then. :) |
comment:10
Replying to @DeRhamSource:
Python 2 is almost dead: https://pythonclock.org/ |
comment:13
What about this ticket? |
comment:14
This bug is really annoying in terms of applications. You need parallelization to speed things up, especially in this case. I thought maybe you have some ideas to contribute. If not, my apologies. |
comment:15
Could you try to update & clarify the ticket description please? It's OK to delete everything related to python2. We no longer support it. |
This comment has been minimized.
This comment has been minimized.
Attachment: error_message_Sage_9.2.beta6.txt |
comment:17
Well, there are lots of libraries involved in symbolics, so lots of questions. I guess the first question to ask is whether the parallelization that you use involves several threads in one process, or several processes. The reported error comes from Maxima, which runs in ECL. Is ECL prepared and configured for threadsafe operation? Are the parts of Maxima that the symbolics code uses threadsafe? (The assumptions code that I touched in #30074 is definitely not threadsafe.) |
comment:18
See #31047 for a related issue. |
This comment has been minimized.
This comment has been minimized.
comment:20
Replying to @mkoeppe:
Done. |
comment:21
Replying to @mkoeppe:
The parallelization is based on the Python module multiprocessing, so it involves several processes.
There is no error when the involved symbolic expressions do not contain any symbolic function, so I would say that is not an issue with Maxima and parallelization, but rather an issue with Sage's symbolic functions (cf. comment:4 and #31047). |
This comment has been minimized.
This comment has been minimized.
Attachment: error_message_Sage_9.3.beta6.txt |
This bug is still afflicting parallel computations, which is a significant drawback. Has there been any progress on this at all? |
Sage fails in parallelized computations on tensor fields involving symbolic functions (without any symbolic function in the tensor components, everything is OK). Here is an example with Sage 9.3.beta6 (
...
indicates truncated output, see the attachment for the full log):The full error message is attached.
This issue has been reported in various places previously. With old Python-2 Sage it resulted in a silent error, see
this sage-devel post (see also this one).
CC: @man74cio @rwst @mkoeppe @tscrim
Component: symbolics
Keywords: parallelization, symbolic functions
Issue created by migration from https://trac.sagemath.org/ticket/27492
The text was updated successfully, but these errors were encountered: