dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #21155
Re: buildbot failure in FEniCS Buildbot on dolfin-mac-osx
It looks like my "fix" did not help.
What we do is pretty simple and probaby error prone with different bit
architechtures.
from dolfin/swig/typemaps.i:
bool Py_uint_convert(PyObject* in, dolfin::uint& value)
{
if (!PyInteger_Check(in))
return false;
long tmp = static_cast<long>(PyInt_AsLong(in));
if (tmp<=0)
return false;
value = static_cast<dolfin::uint>(tmp);
return true;
}
Here 'in' is the Python object that will be turned into an uint: value.
I am happy for all suggestions on making thie typemap more robust.
(I am not sure it is the typemap that causes the havoc but it sure looks like
it. For example: a 0 or 1 is turned into: 70378776)
Johan
On Tuesday February 1 2011 09:16:19 Johan Hake wrote:
> On Tuesday February 1 2011 08:38:02 Johannes Ring wrote:
> > On Tue, Feb 1, 2011 at 5:28 PM, Johan Hake <johan.hake@xxxxxxxxx> wrote:
> > > On Tuesday February 1 2011 04:02:03 Johannes Ring wrote:
> > >> The problem can be triggered by the following code:
> > >>
> > >>
> > >>
> > >> import dolfin
> > >>
> > >> from numpy import int64
> > >>
> > >>
> > >>
> > >> v = dolfin.Vector(16)
> > >>
> > >>
> > >>
> > >> v[int(0)] = 2.0
> > >>
> > >> print v[int(0)]
> > >>
> > >>
> > >>
> > >> v[int64(0)] = 2.0
> > >>
> > >> print v[int64(0)]
> > >>
> > >>
> > >>
> > >> The output is:
> > >>
> > >>
> > >>
> > >> 2.0
> > >>
> > >> 0.0
> > >>
> > >>
> > >>
> > >> Can someone with access to a Mac try and see if they experience the
> > >>
> > >> same problem?
> > >>
> > >>
> > >>
> > >> Actually, I tried it now on my laptop (Lucid, 32 bit) and I got this
> > >>
> > >> error:
> > >> >>> print v[int64(0)]
> > >>
> > >> Traceback (most recent call last):
> > >>
> > >> File "<stdin>", line 1, in <module>
> > >>
> > >> File "/tmp/local/lib/python2.6/site-packages/dolfin/cpp.py", line
> > >>
> > >> 3648, in __getitem__
> > >>
> > >> return _get_vector_single_item(self, indices)
> > >>
> > >> RuntimeError: index out of range
> > >
> > > It works on my 64 bit Maverick. I will see if I can find a sollution
> > > for 32 bits. Any suggestions on the fly?
> >
> > No, I don't know.
> >
> > >> It works fine when I revert back to revision 5604 (Johan's original
> > >>
> > >> 5618 was lost in a merge).
> > >
> > > Do you suggest that the error came in the original 5618 changeset?
> >
> > Yes, the Mac buildbot was green before your commit with this comment:
> >
> > "Added a typemap macro for std::vector (passed by value) = for any
> > Python sequence of scalars. = -- Enabled for value_shape, values
> > (Constant) and coloring_type"
>
> Interesting. I changed a int/float => int/uint/double conversion, from my
> own to using SWIGs built in type conversions. I have now changed back the
> typemaps for int and uint. Let see what Mr Macbot says!
> Johan
>
> > Build 1135 is green and build 1136 is red:
> > http://fenicsproject.org:8080/builders/dolfin-mac-osx/builds/1136
> > http://fenicsproject.org:8080/builders/dolfin-mac-osx/builds/1135
> >
> > Johannes
> >
> > > Johan
> > >
> > >> Johannes
> > >>
> > >> On Mon, Jan 31, 2011 at 10:19 AM, Johannes Ring <johannr@xxxxxxxxx>
>
> wrote:
> > >> > The Python la unit test fails on the Mac buildbot with the following
> > >> >
> > >> > error after revision 5618. Any ideas?
> > >> >
> > >> >
> > >> >
> > >> > Johannes
> > >> >
> > >> >
> > >> >
> > >> >
> > >> >
> > >> > Testing basic PyDOLFIN linear algebra operations
> > >> >
> > >> > ------------------------------------------------
> > >> >
> > >> >
> > >> >
> > >> > Running: MTL4Tester
> > >> >
> > >> > Calling FFC just-in-time (JIT) compiler, this may take some time.
> > >> >
> > >> > Calling FFC just-in-time (JIT) compiler, this may take some time.
> > >> >
> > >> > ..F.
> > >> >
> > >> > Running: PETScTester
> > >> >
> > >> > ..F.
> > >> >
> > >> > Running: uBLASDenseTester
> > >> >
> > >> > ..F.
> > >> >
> > >> > Running: uBLASSparseTester
> > >> >
> > >> > ..F.
> > >> >
> > >> > ====================================================================
> > >> > ==
> > >> >
> > >> > FAIL: test_vector (__main__.MTL4Tester)
> > >> >
> > >> > --------------------------------------------------------------------
> > >> > --
> > >> >
> > >> > Traceback (most recent call last):
> > >> > File "test.py", line 162, in test_vector
> > >> >
> > >> > if org.owns_index(t(0)): self.assertAlmostEqual(org[t(0)], 2.0)
> > >> >
> > >> > AssertionError: 0.033607290958676872 != 2.0 within 7 places
> > >> >
> > >> >
> > >> >
> > >> > ====================================================================
> > >> > ==
> > >> >
> > >> > FAIL: test_vector (__main__.PETScTester)
> > >> >
> > >> > --------------------------------------------------------------------
> > >> > --
> > >> >
> > >> > Traceback (most recent call last):
> > >> > File "test.py", line 162, in test_vector
> > >> >
> > >> > if org.owns_index(t(0)): self.assertAlmostEqual(org[t(0)], 2.0)
> > >> >
> > >> > AssertionError: 0.2551242083622477 != 2.0 within 7 places
> > >> >
> > >> >
> > >> >
> > >> > ====================================================================
> > >> > ==
> > >> >
> > >> > FAIL: test_vector (__main__.uBLASDenseTester)
> > >> >
> > >> > --------------------------------------------------------------------
> > >> > --
> > >> >
> > >> > Traceback (most recent call last):
> > >> > File "test.py", line 162, in test_vector
> > >> >
> > >> > if org.owns_index(t(0)): self.assertAlmostEqual(org[t(0)], 2.0)
> > >> >
> > >> > AssertionError: 0.96740583429440807 != 2.0 within 7 places
> > >> >
> > >> >
> > >> >
> > >> > ====================================================================
> > >> > ==
> > >> >
> > >> > FAIL: test_vector (__main__.uBLASSparseTester)
> > >> >
> > >> > --------------------------------------------------------------------
> > >> > --
> > >> >
> > >> > Traceback (most recent call last):
> > >> > File "test.py", line 162, in test_vector
> > >> >
> > >> > if org.owns_index(t(0)): self.assertAlmostEqual(org[t(0)], 2.0)
> > >> >
> > >> > AssertionError: 0.23277614769655719 != 2.0 within 7 places
> > >> >
> > >> >
> > >> >
> > >> > --------------------------------------------------------------------
> > >> > --
> > >> >
> > >> > Ran 16 tests in 3.726s
> > >> >
> > >> >
> > >> >
> > >> > FAILED (failures=4)
> > >> >
> > >> > On Sun, Jan 30, 2011 at 4:00 AM, <buildbot@xxxxxxxxxx> wrote:
> > >> >> The Buildbot has detected a new failure of dolfin-mac-osx on FEniCS
> > >> >>
> > >> >> Buildbot. Full details are available at:
> > >> >> http://fenicsproject.org:8080/builders/dolfin-mac-osx/builds/1136
> > >> >>
> > >> >> Buildbot URL: http://fenicsproject.org:8080/
> > >> >>
> > >> >>
> > >> >>
> > >> >> Buildslave for this Build: mac-osx
> > >> >>
> > >> >>
> > >> >>
> > >> >> Build Reason:
> > >> >>
> > >> >> Build Source Stamp: HEAD
> > >> >>
> > >> >> Blamelist: Johan Hake
> > >> >>
> > >> >>
> > >> >>
> > >> >> BUILD FAILED: failed dolfin check
> > >> >>
> > >> >>
> > >> >>
> > >> >> sincerely,
> > >> >>
> > >> >> -The Buildbot
> > >> >>
> > >> >> _______________________________________________
> > >> >>
> > >> >> Mailing list: https://launchpad.net/~dolfin
> > >> >>
> > >> >> Post to : dolfin@xxxxxxxxxxxxxxxxxxx
> > >> >>
> > >> >> Unsubscribe : https://launchpad.net/~dolfin
> > >> >>
> > >> >> More help : https://help.launchpad.net/ListHelp
> > >>
> > >> _______________________________________________
> > >>
> > >> Mailing list: https://launchpad.net/~dolfin
> > >>
> > >> Post to : dolfin@xxxxxxxxxxxxxxxxxxx
> > >>
> > >> Unsubscribe : https://launchpad.net/~dolfin
> > >>
> > >> More help : https://help.launchpad.net/ListHelp
Follow ups
References