uBLAS GMRES solver fails on first run
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
DOLFIN |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
(reported by Doug Arnold)
After cleaning the instant cache, the solver
from dolfin import *
parameters[
mesh = UnitSquare(3,3)
V = FunctionSpace(mesh, 'CG', 1)
v = TestFunction(V)
u = TrialFunction(V)
a = u*v*dx
A = assemble(a)
L = v*dx
b = assemble(L)
x = Vector(b.size())
solve(A, x, b, "gmres")
print x.array()
crashes with the message:
Check failed in file /usr/include/
norm_1 (v - cv) <= 2 * std::numeric_
Traceback (most recent call last):
File "solve3.py", line 12, in <module>
solve(A, x, b, 'gmres')
File "/home/
return _cpp.solve(*args)
StandardError: internal logic
Searching on the web for the error message came up with this:
http://
where Gunter Winkler suggests "#define BOOST_UBLAS_
but I don't know how to do this from dolfin.
Changed in dolfin: | |
status: | New → Confirmed |
Changed in dolfin: | |
milestone: | none → 0.9.8 |
Changed in dolfin: | |
status: | Fix Committed → Fix Released |
I couldn't reproduce this problem either on my laptop or on any of the buildbots. However, on my desktop computer at home (running Lucid 64 bit), I ran into the same issue. It happens about half the times when I run the solver repeatedly. I tried to reconfigure DOLFIN like this:
scons configure customCxxFlags= "-DBOOST_ UBLAS_TYPE_ CHECK=0"
This got rid of the error message but sometimes the solver completely hangs and then I have to kill the process:
johannr@ ubuntu- htpc:/tmp$ python solve3.py ubuntu- htpc:/tmp$
Matrix of size 16 x 16 has 82 nonzero entries.
Sorting sparsity pattern.
Solving linear system of size 16 x 16 (uBLAS Krylov solver).
Terminated
johannr@
Anyone else experiencing this behaviour when DOLFIN is configured with the flag above?