Bug#1141074: siconos: test_bouncing_ball fails with ValueError: setting an array element with a sequence

Ujjwal Sarswat ujjwal.sarswat at canonical.com
Mon Jun 29 11:23:04 BST 2026


Hindsight, seems to be a duplicate of:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1136873

On Mon, 29 Jun 2026 at 15:49, Ujjwal Sarswat <ujjwal.sarswat at canonical.com>
wrote:

> Source: siconos
> Severity: important
> Tags: patch
> X-Debbugs-Cc: ujjwal.sarswat at canonical.com
>
> Dear Maintainer,
>
> I've encountered an issue while building `siconos` locally. The
> `siconos.kernel` test suite fails during `test_bouncing_ball.py` with a
> `ValueError: setting an array element with a sequence.`
>
> This is caused by stricter dimensionality enforcement in NumPy 2.4. It no
> longer permits implicitly converting 1-dimensional arrays or sequences into
> Python scalars when assigning to a specific coordinate in a pre-allocated
> array. The value must be explicitly extracted as a scalar by appending
> `[0]`.
>
> Relevant Traceback snippet:
> ----------------------------------------------------------------------
> test_bouncing_ball.py::test_bouncing_ball2 FAILED                        [
> 50%]
> test_bouncing_ball.py::test_bouncing_ball3 FAILED                        [
> 75%]
> test_bouncing_ball.py::test_bouncing_ball4 FAILED
> [100%]
>
> =================================== FAILURES
> ===================================
> _____________________________ test_bouncing_ball2
> ______________________________
> TypeError: only 0-dimensional arrays can be converted to Python scalars
>
> The above exception was the direct cause of the following exception:
> [...]
>         # Get the values to be plotted
>         # ->saved in a matrix data
>
>         s_d.computeOneStep()
>
>         data = np.empty((nb_time_steps + 1, 5))
>         data_d = np.empty((nb_time_steps + 1, 5))
>
>         data[0, 0] = t0
>         data[0, 1] = ball.q()[0]
>         data[0, 2] = ball.velocity()[0]
>         data[0, 3] = ball.p(1)[0]
> >       data[0, 4] = inter.lambda_(1)
>         ^^^^^^^^^^
> E       ValueError: setting an array element with a sequence.
>
> test_bouncing_ball.py:240: ValueError
> ----------------------------------------------------------------------
>
> Upstream context:
> There is no need to forward this upstream. Upstream is currently working
> on major architectural changes (currently on rc1) that remove or
> significantly alter the directories associated with this bug.
>
> However, since those upstream changes will take time to finalize and land,
> a simple interim patch indexing the array with `[0]` is necessary for
> Debian to restore the build and pass the tests.
>
> This patch has been merged into Ubuntu.
>
> --- a/kernel/swig/tests/test_bouncing_ball.py
> +++ b/kernel/swig/tests/test_bouncing_ball.py
> @@ -237,13 +237,13 @@
>      data[0, 1] = ball.q()[0]
>      data[0, 2] = ball.velocity()[0]
>      data[0, 3] = ball.p(1)[0]
> -    data[0, 4] = inter.lambda_(1)
> +    data[0, 4] = inter.lambda_(1)[0]
>
>      data_d[0, 0] = t0
>      data_d[0, 1] = ball_d.q()[0]
>      data_d[0, 2] = ball_d.velocity()[0]
>      data_d[0, 3] = ball_d.p(1)[0]
> -    data_d[0, 4] = inter_d.lambda_(1)
> +    data_d[0, 4] = inter_d.lambda_(1)[0]
>
>      k = 1
>
> Thanks,
> vmpyr
>
>
> -- System Information:
> Debian Release: forky/sid
>   APT prefers resolute-updates
>   APT policy: (500, 'resolute-updates'), (500, 'resolute-security'), (500,
> 'resolute')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 7.0.0-22-generic (SMP w/16 CPU threads; PREEMPT)
> Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE
> not set
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-science-maintainers/attachments/20260629/c5895260/attachment-0001.htm>


More information about the debian-science-maintainers mailing list