Support #240
GUI compilation: GMP is not naturally thread-safe
Description
Difficult to notice, but it appears that the GUI (rarely) crashes (maybe!) for GMP not being thread-safe (the GUI runs in two threads)
One example making it crash is this
XX := ((10^131070-1984)/64)/((10^131232)/64);
[Right now I cannot find the exact fix by John (i.e. how to compile GMP with the "thread-safe" option)]
In conclusion, the GUI should be linked to a thread-safe gmp.
Design a way to automatically deal with this problem.
Related issues
History
#1 Updated by Anna Maria Bigatti almost 12 years ago
The first failing computation was (by L.Robbiano)
Use QQ[x]; F:=2*x*(1-x); Pop:= Subst(F, x, 0.2); For N:=2 To 20 Do Pop := Subst(F, x, Pop) EndFor;
#2 Updated by Anna Maria Bigatti almost 12 years ago
- % Done changed from 0 to 10
#3 Updated by John Abbott almost 12 years ago
- Category set to GUI
- Status changed from New to In Progress
- Assignee set to John Abbott
- % Done changed from 10 to 50
I confirmed the problem using the GUI on my computer (Mac OS 10.5.8).
I reinstalled GMP (version 5.0.5), selecting a threadsafe build, and confirmed that the problem no longer exists. The GMP configuration command I used was:
./configure --enable-cxx --disable-alloca
The second option is the one which ensures that the build is threadsafe (but the GMP documentation says there will be a run-time speed penalty).
I am slightly puzzled because it seems to me that the GMP documentation suggests that the default setting for alloca
would be threadsafe in any case (perhaps Macs have a poor alloca
function?)
#4 Updated by John Abbott over 11 years ago
- Status changed from In Progress to Resolved
If Anna and Renzo confirm that my solution works for them too, I'll close this issue.
#5 Updated by Anna Maria Bigatti over 11 years ago
it works for me!
#6 Updated by Anna Maria Bigatti about 10 years ago
- Target version set to CoCoA-5.1.0 Easter14
#7 Updated by John Abbott about 10 years ago
- Target version changed from CoCoA-5.1.0 Easter14 to CoCoA-5.1.1 Seoul14
#8 Updated by John Abbott almost 10 years ago
- Target version changed from CoCoA-5.1.1 Seoul14 to CoCoA-5.?.?
#9 Updated by John Abbott almost 10 years ago
JAA has confirmed (20140902) that the problem persists (with GMP 6.0.0 built without the --disable-alloca
flag).
#10 Updated by John Abbott over 4 years ago
- Related to Support #1393: GUI with Qt5 added
#11 Updated by John Abbott over 4 years ago
- % Done changed from 50 to 60
This issue is very old. GMP has surely changed over the last 5 years (but last update was about 2 years ago).
The old Qt interface does not work any more.
Should we just close this issue as "probably no longer relevant"?
#12 Updated by John Abbott over 4 years ago
- Status changed from Resolved to Closed
- Target version changed from CoCoA-5.?.? to CoCoA-5.3.0
- % Done changed from 60 to 100
- Estimated time set to 3.33 h
No one seems to care about this issue; I'm pretty sure it has lost all relevance, so I'm closing it.