brz crashes issuing brz status -V with python-3.8.9

Bug #1928581 reported by pimander
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Breezy
Incomplete
Undecided
Unassigned

Bug Description

Hi all,

I upgraded python from 3.7.10 to 3.8.9 and installed breezy-3.2.0 with pip.

Executing brz status -V it gives:

python3.8: breezy/bzr/_dirstate_helpers_pyx.c:8114: __pyx_f_6breezy_3bzr_21_dirstate_helpers_pyx_update_entry: Assertion `PyTuple_Check(__pyx_v_details)' failed.

With python3.7 I had breezy-3.1.0, then tried installing breezy-3.1.0 manually from sources but the issue persists.

python3.8: breezy/bzr/_dirstate_helpers_pyx.c:7651: __pyx_f_6breezy_3bzr_21_dirstate_helpers_pyx_update_entry: Assertion `PyTuple_Check(__pyx_v_details)' failed.

pimander (marcofal)
description: updated
Revision history for this message
Jelmer Vernooij (jelmer) wrote :

What platform are you on? I can't reproduce this on Debian.

Revision history for this message
pimander (marcofal) wrote :

I'm using gentoo

Revision history for this message
pimander (marcofal) wrote :

I have a suspect...
The build process uses pkgconfig ?

Revision history for this message
Jelmer Vernooij (jelmer) wrote : Re: [Bug 1928581] Re: brz crashes issuing brz status -V with python-3.8.9

On Mon, May 17, 2021 at 12:07:04PM -0000, pimander wrote:
> I have a suspect...
> The build process uses pkgconfig ?
No, we just rely on Cython and otherwise on standard Python builld
infrastructure.

--
Jelmer Vernooij <email address hidden>
PGP Key: https://www.jelmer.uk/D729A457.asc

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

No, the build process just uses cython (files should be pregenerated) and the standard python build system. Do you have an older version of cython installed on your system perhaps?

Revision history for this message
pimander (marcofal) wrote :

I have cython 0.29.22,
and referring to pkg-config, on gentoo there are 2 files for python python3.8.pc and python3.8-embed.pc.
Only the latter returns -lpython3.8 (dunno why).
Anyway, I tried hacking a little but nothing changed, even with python3.9.
Obviously it is related with gentoo, there are patches to python etc.
If you know how I can debug...

Revision history for this message
Jelmer Vernooij (jelmer) wrote :

I'd suggest asking in one of the Gentoo forums. My guess is that you've got duplicate symbols from different Python builds in the same address space.

Changed in brz:
status: New → Incomplete
Revision history for this message
pimander (marcofal) wrote :

Hi,
in setember breezy entered the official gentoo tree.
It is still masked but I think they'll take care of it.
I have filed a bug for this issue.

Revision history for this message
Marcus Comstedt (marcus-mc) wrote :

I'm also affected by this bug, and after some investigation I found out that the only reason you do not see this assert on Ubuntu is because the Ubuntu build disables all asserts by the -DNDEBUG that leaks into CFLAGS from the python build.

I created a small Dockerfile that reliably show how to reproduce the issue on Ubuntu jammy, simply by undefining NDEBUG when building the breezy package:

https://gist.githubusercontent.com/zeldin/166c88b95af28fe8b2583ee76cb2e470/raw/8d3bd2ee68be4a4f8d38600a37477b3539279779/Dockerfile

Hope this helps.

Revision history for this message
Marcus Comstedt (marcus-mc) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.