diff mbox series

[3/3] m4: Fix ptest on musl

Message ID 20250819010128.3519760-3-raj.khem@gmail.com
State Accepted, archived
Commit f39537e8b84d0640fb8a7406ebf2396b532cdb57
Headers show
Series [1/3] spirv-headers: Add SPV_INTEL_function_variants | expand

Commit Message

Khem Raj Aug. 19, 2025, 1:01 a.m. UTC
Fixes
../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
./test-c32ispunct.sh: line 36:   402 Aborted
(core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-c32ispunct${EXEEXT} 3

FAIL: test-c32ispunct.sh

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/m4/m4-1.4.20.inc        |  1 +
 ...unct-Check-for-musl-along-with-glibc.patch | 26 +++++++++++++++++++
 2 files changed, 27 insertions(+)
 create mode 100644 meta/recipes-devtools/m4/m4/0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch

Comments

Mathieu Dubois-Briand Aug. 20, 2025, 6:23 a.m. UTC | #1
On Tue Aug 19, 2025 at 3:01 AM CEST, Khem Raj via lists.openembedded.org wrote:
> Fixes
> ../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
> ./test-c32ispunct.sh: line 36:   402 Aborted
> (core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-c32ispunct${EXEEXT} 3
>
> FAIL: test-c32ispunct.sh
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---

Hi Khem,

Thanks for your patch.

It looks like this is breaking tests, specifically on qemuriscv64:

Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/cases/maturin.py", line 25, in test_maturin_list_python
    output = self._run("maturin list-python")
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/case.py", line 17, in _run
    return subprocess.check_output(". %s > /dev/null; %s;" % \
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-linux/core-image-minimal/1.0/testsdkext/environment-setup-riscv64imafdc-poky-linux > /dev/null; maturin list-python;' died with <Signals.SIGSEGV: 11>.


https://autobuilder.yoctoproject.org/valkyrie/#/builders/45/builds/354

I've launched a few rebuilds, the issue does reproduce every times. Can
you have a look please?

Best regards,
Mathieu
Khem Raj Aug. 20, 2025, 7:15 a.m. UTC | #2
On Tue, Aug 19, 2025 at 11:23 PM Mathieu Dubois-Briand
<mathieu.dubois-briand@bootlin.com> wrote:
>
> On Tue Aug 19, 2025 at 3:01 AM CEST, Khem Raj via lists.openembedded.org wrote:
> > Fixes
> > ../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
> > ./test-c32ispunct.sh: line 36:   402 Aborted
> > (core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-c32ispunct${EXEEXT} 3
> >
> > FAIL: test-c32ispunct.sh
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
>
> Hi Khem,
>
> Thanks for your patch.
>
> It looks like this is breaking tests, specifically on qemuriscv64:
>
> Traceback (most recent call last):
>   File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/cases/maturin.py", line 25, in test_maturin_list_python
>     output = self._run("maturin list-python")
>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/case.py", line 17, in _run
>     return subprocess.check_output(". %s > /dev/null; %s;" % \
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.12/subprocess.py", line 571, in run
>     raise CalledProcessError(retcode, process.args,
> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-linux/core-image-minimal/1.0/testsdkext/environment-setup-riscv64imafdc-poky-linux > /dev/null; maturin list-python;' died with <Signals.SIGSEGV: 11>.
>

seems quite unrelated, I wonder if its finding some other bug
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/45/builds/354
>
> I've launched a few rebuilds, the issue does reproduce every times. Can
> you have a look please?
>
> Best regards,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Mathieu Dubois-Briand Aug. 20, 2025, 11:10 a.m. UTC | #3
On Wed Aug 20, 2025 at 9:15 AM CEST, Khem Raj wrote:
> On Tue, Aug 19, 2025 at 11:23 PM Mathieu Dubois-Briand
> <mathieu.dubois-briand@bootlin.com> wrote:
>>
>> On Tue Aug 19, 2025 at 3:01 AM CEST, Khem Raj via lists.openembedded.org wrote:
>> > Fixes
>> > ../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
>> > ./test-c32ispunct.sh: line 36:   402 Aborted
>> > (core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-c32ispunct${EXEEXT} 3
>> >
>> > FAIL: test-c32ispunct.sh
>> >
>> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> > ---
>>
>> Hi Khem,
>>
>> Thanks for your patch.
>>
>> It looks like this is breaking tests, specifically on qemuriscv64:
>>
>> Traceback (most recent call last):
>>   File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/cases/maturin.py", line 25, in test_maturin_list_python
>>     output = self._run("maturin list-python")
>>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>   File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/case.py", line 17, in _run
>>     return subprocess.check_output(". %s > /dev/null; %s;" % \
>>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>   File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
>>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
>>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>   File "/usr/lib/python3.12/subprocess.py", line 571, in run
>>     raise CalledProcessError(retcode, process.args,
>> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-linux/core-image-minimal/1.0/testsdkext/environment-setup-riscv64imafdc-poky-linux > /dev/null; maturin list-python;' died with <Signals.SIGSEGV: 11>.
>>
>
> seems quite unrelated, I wonder if its finding some other bug

Yes, I can't understand what happens here :(
Yet this commit always triggers the failure.
Khem Raj Aug. 20, 2025, 2:33 p.m. UTC | #4
On Wed, Aug 20, 2025 at 4:10 AM Mathieu Dubois-Briand
<mathieu.dubois-briand@bootlin.com> wrote:
>
> On Wed Aug 20, 2025 at 9:15 AM CEST, Khem Raj wrote:
> > On Tue, Aug 19, 2025 at 11:23 PM Mathieu Dubois-Briand
> > <mathieu.dubois-briand@bootlin.com> wrote:
> >>
> >> On Tue Aug 19, 2025 at 3:01 AM CEST, Khem Raj via lists.openembedded.org wrote:
> >> > Fixes
> >> > ../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
> >> > ./test-c32ispunct.sh: line 36:   402 Aborted
> >> > (core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-c32ispunct${EXEEXT} 3
> >> >
> >> > FAIL: test-c32ispunct.sh
> >> >
> >> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> >> > ---
> >>
> >> Hi Khem,
> >>
> >> Thanks for your patch.
> >>
> >> It looks like this is breaking tests, specifically on qemuriscv64:
> >>
> >> Traceback (most recent call last):
> >>   File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/cases/maturin.py", line 25, in test_maturin_list_python
> >>     output = self._run("maturin list-python")
> >>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>   File "/srv/pokybuild/yocto-worker/qemuriscv64/build/meta/lib/oeqa/sdk/case.py", line 17, in _run
> >>     return subprocess.check_output(". %s > /dev/null; %s;" % \
> >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>   File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
> >>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
> >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>   File "/usr/lib/python3.12/subprocess.py", line 571, in run
> >>     raise CalledProcessError(retcode, process.args,
> >> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-linux/core-image-minimal/1.0/testsdkext/environment-setup-riscv64imafdc-poky-linux > /dev/null; maturin list-python;' died with <Signals.SIGSEGV: 11>.
> >>
> >
> > seems quite unrelated, I wonder if its finding some other bug
>
> Yes, I can't understand what happens here :(
> Yet this commit always triggers the failure.
>

Looking at logs there is some more info  immediately after what you
posted above that is interesting

Stdout:
Trying to install python3-maturin-native...

its running lib/oeqa/sdk/cases/maturin.py and
it seems it needs python3-maturin-native in sstate cache and I wonder
if it's missing because m4/m4-native dependency will rebuild
python3-maturin-native or something is racing with it.

There was a similar problem in recent past and a related fix was committed
https://git.yoctoproject.org/poky/commit/?id=2239c2c91ab35c67ccd95afe057350037f7d0e59

I now wonder if the test is exited when it does not find
python3-maturin-native correctly or not.

> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
Peter Marko Aug. 20, 2025, 2:40 p.m. UTC | #5
> -----Original Message-----
> From: Khem Raj <raj.khem@gmail.com>
> Sent: Wednesday, August 20, 2025 16:33
> To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>; Marko, Peter
> (FT D EU SK BFS1) <Peter.Marko@siemens.com>; Ross Burton
> <ross.burton@arm.com>
> Cc: openembedded-core@lists.openembedded.org
> Subject: Re: [OE-core] [PATCH 3/3] m4: Fix ptest on musl
> 
> On Wed, Aug 20, 2025 at 4:10 AM Mathieu Dubois-Briand
> <mathieu.dubois-briand@bootlin.com> wrote:
> >
> > On Wed Aug 20, 2025 at 9:15 AM CEST, Khem Raj wrote:
> > > On Tue, Aug 19, 2025 at 11:23 PM Mathieu Dubois-Briand
> > > <mathieu.dubois-briand@bootlin.com> wrote:
> > >>
> > >> On Tue Aug 19, 2025 at 3:01 AM CEST, Khem Raj via
> lists.openembedded.org wrote:
> > >> > Fixes
> > >> > ../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
> > >> > ./test-c32ispunct.sh: line 36:   402 Aborted
> > >> > (core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-
> c32ispunct${EXEEXT} 3
> > >> >
> > >> > FAIL: test-c32ispunct.sh
> > >> >
> > >> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > >> > ---
> > >>
> > >> Hi Khem,
> > >>
> > >> Thanks for your patch.
> > >>
> > >> It looks like this is breaking tests, specifically on qemuriscv64:
> > >>
> > >> Traceback (most recent call last):
> > >>   File "/srv/pokybuild/yocto-
> worker/qemuriscv64/build/meta/lib/oeqa/sdk/cases/maturin.py", line 25, in
> test_maturin_list_python
> > >>     output = self._run("maturin list-python")
> > >>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > >>   File "/srv/pokybuild/yocto-
> worker/qemuriscv64/build/meta/lib/oeqa/sdk/case.py", line 17, in _run
> > >>     return subprocess.check_output(". %s > /dev/null; %s;" % \
> > >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > >>   File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
> > >>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
> > >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > >>   File "/usr/lib/python3.12/subprocess.py", line 571, in run
> > >>     raise CalledProcessError(retcode, process.args,
> > >> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '.
> /srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-
> linux/core-image-minimal/1.0/testsdkext/environment-setup-riscv64imafdc-poky-
> linux > /dev/null; maturin list-python;' died with <Signals.SIGSEGV: 11>.
> > >>
> > >
> > > seems quite unrelated, I wonder if its finding some other bug
> >
> > Yes, I can't understand what happens here :(
> > Yet this commit always triggers the failure.
> >
> 
> Looking at logs there is some more info  immediately after what you
> posted above that is interesting
> 
> Stdout:
> Trying to install python3-maturin-native...
> 
> its running lib/oeqa/sdk/cases/maturin.py and
> it seems it needs python3-maturin-native in sstate cache and I wonder
> if it's missing because m4/m4-native dependency will rebuild
> python3-maturin-native or something is racing with it.
> 
> There was a similar problem in recent past and a related fix was committed
> https://git.yoctoproject.org/poky/commit/?id=2239c2c91ab35c67ccd95afe0573500
> 37f7d0e59
> 
> I now wonder if the test is exited when it does not find
> python3-maturin-native correctly or not.

The fact that maturin test is executed means that it was installed successfully, so code in mentioned commit was not active.
Also segmentation fault suggests that the binary is installed, it just does not work correctly.

> 
> > --
> > Mathieu Dubois-Briand, Bootlin
> > Embedded Linux and Kernel engineering
> > https://bootlin.com
> >
Khem Raj Aug. 20, 2025, 3:24 p.m. UTC | #6
On Wed, Aug 20, 2025 at 7:40 AM Marko, Peter <Peter.Marko@siemens.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Khem Raj <raj.khem@gmail.com>
> > Sent: Wednesday, August 20, 2025 16:33
> > To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>; Marko, Peter
> > (FT D EU SK BFS1) <Peter.Marko@siemens.com>; Ross Burton
> > <ross.burton@arm.com>
> > Cc: openembedded-core@lists.openembedded.org
> > Subject: Re: [OE-core] [PATCH 3/3] m4: Fix ptest on musl
> >
> > On Wed, Aug 20, 2025 at 4:10 AM Mathieu Dubois-Briand
> > <mathieu.dubois-briand@bootlin.com> wrote:
> > >
> > > On Wed Aug 20, 2025 at 9:15 AM CEST, Khem Raj wrote:
> > > > On Tue, Aug 19, 2025 at 11:23 PM Mathieu Dubois-Briand
> > > > <mathieu.dubois-briand@bootlin.com> wrote:
> > > >>
> > > >> On Tue Aug 19, 2025 at 3:01 AM CEST, Khem Raj via
> > lists.openembedded.org wrote:
> > > >> > Fixes
> > > >> > ../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
> > > >> > ./test-c32ispunct.sh: line 36:   402 Aborted
> > > >> > (core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-
> > c32ispunct${EXEEXT} 3
> > > >> >
> > > >> > FAIL: test-c32ispunct.sh
> > > >> >
> > > >> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > > >> > ---
> > > >>
> > > >> Hi Khem,
> > > >>
> > > >> Thanks for your patch.
> > > >>
> > > >> It looks like this is breaking tests, specifically on qemuriscv64:
> > > >>
> > > >> Traceback (most recent call last):
> > > >>   File "/srv/pokybuild/yocto-
> > worker/qemuriscv64/build/meta/lib/oeqa/sdk/cases/maturin.py", line 25, in
> > test_maturin_list_python
> > > >>     output = self._run("maturin list-python")
> > > >>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > >>   File "/srv/pokybuild/yocto-
> > worker/qemuriscv64/build/meta/lib/oeqa/sdk/case.py", line 17, in _run
> > > >>     return subprocess.check_output(". %s > /dev/null; %s;" % \
> > > >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > >>   File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
> > > >>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
> > > >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > >>   File "/usr/lib/python3.12/subprocess.py", line 571, in run
> > > >>     raise CalledProcessError(retcode, process.args,
> > > >> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '.
> > /srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-
> > linux/core-image-minimal/1.0/testsdkext/environment-setup-riscv64imafdc-poky-
> > linux > /dev/null; maturin list-python;' died with <Signals.SIGSEGV: 11>.
> > > >>
> > > >
> > > > seems quite unrelated, I wonder if its finding some other bug
> > >
> > > Yes, I can't understand what happens here :(
> > > Yet this commit always triggers the failure.
> > >
> >
> > Looking at logs there is some more info  immediately after what you
> > posted above that is interesting
> >
> > Stdout:
> > Trying to install python3-maturin-native...
> >
> > its running lib/oeqa/sdk/cases/maturin.py and
> > it seems it needs python3-maturin-native in sstate cache and I wonder
> > if it's missing because m4/m4-native dependency will rebuild
> > python3-maturin-native or something is racing with it.
> >
> > There was a similar problem in recent past and a related fix was committed
> > https://git.yoctoproject.org/poky/commit/?id=2239c2c91ab35c67ccd95afe0573500
> > 37f7d0e59
> >
> > I now wonder if the test is exited when it does not find
> > python3-maturin-native correctly or not.
>
> The fact that maturin test is executed means that it was installed successfully, so code in mentioned commit was not active.
> Also segmentation fault suggests that the binary is installed, it just does not work correctly.

Seems so, I would have expected SkipTest to execute if the install
failed. so it seems to be installed fine, but segfaulting on run
seems unrelated to above change which is modifying a testcase source
file in m4, its not changing anything even in m4,  there
was a possibility that modified m4-native is indirectly injecting some
bug into maturin but thats unlikely.

maybe run a build with just this single patch applied on top of the
master branch.

>
> >
> > > --
> > > Mathieu Dubois-Briand, Bootlin
> > > Embedded Linux and Kernel engineering
> > > https://bootlin.com
> > >
Mathieu Dubois-Briand Aug. 20, 2025, 6:05 p.m. UTC | #7
On Wed Aug 20, 2025 at 5:24 PM CEST, Khem Raj via lists.openembedded.org wrote:
> On Wed, Aug 20, 2025 at 7:40 AM Marko, Peter <Peter.Marko@siemens.com> wrote:
>>
>>
>>
>> > -----Original Message-----
>> > From: Khem Raj <raj.khem@gmail.com>
>> > Sent: Wednesday, August 20, 2025 16:33
>> > To: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>; Marko, Peter
>> > (FT D EU SK BFS1) <Peter.Marko@siemens.com>; Ross Burton
>> > <ross.burton@arm.com>
>> > Cc: openembedded-core@lists.openembedded.org
>> > Subject: Re: [OE-core] [PATCH 3/3] m4: Fix ptest on musl
>> >
>> > On Wed, Aug 20, 2025 at 4:10 AM Mathieu Dubois-Briand
>> > <mathieu.dubois-briand@bootlin.com> wrote:
>> > >
>> > > On Wed Aug 20, 2025 at 9:15 AM CEST, Khem Raj wrote:
>> > > > On Tue, Aug 19, 2025 at 11:23 PM Mathieu Dubois-Briand
>> > > > <mathieu.dubois-briand@bootlin.com> wrote:
>> > > >>
>> > > >> On Tue Aug 19, 2025 at 3:01 AM CEST, Khem Raj via
>> > lists.openembedded.org wrote:
>> > > >> > Fixes
>> > > >> > ../../sources/m4-1.4.20/tests/test-c32ispunct.c:261: assertion 'is == 0' failed
>> > > >> > ./test-c32ispunct.sh: line 36:   402 Aborted
>> > > >> > (core dumped) LC_ALL="$testlocale" ${CHECKER} ./test-
>> > c32ispunct${EXEEXT} 3
>> > > >> >
>> > > >> > FAIL: test-c32ispunct.sh
>> > > >> >
>> > > >> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> > > >> > ---
>> > > >>
>> > > >> Hi Khem,
>> > > >>
>> > > >> Thanks for your patch.
>> > > >>
>> > > >> It looks like this is breaking tests, specifically on qemuriscv64:
>> > > >>
>> > > >> Traceback (most recent call last):
>> > > >>   File "/srv/pokybuild/yocto-
>> > worker/qemuriscv64/build/meta/lib/oeqa/sdk/cases/maturin.py", line 25, in
>> > test_maturin_list_python
>> > > >>     output = self._run("maturin list-python")
>> > > >>              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> > > >>   File "/srv/pokybuild/yocto-
>> > worker/qemuriscv64/build/meta/lib/oeqa/sdk/case.py", line 17, in _run
>> > > >>     return subprocess.check_output(". %s > /dev/null; %s;" % \
>> > > >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> > > >>   File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
>> > > >>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
>> > > >>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> > > >>   File "/usr/lib/python3.12/subprocess.py", line 571, in run
>> > > >>     raise CalledProcessError(retcode, process.args,
>> > > >> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '.
>> > /srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-
>> > linux/core-image-minimal/1.0/testsdkext/environment-setup-riscv64imafdc-poky-
>> > linux > /dev/null; maturin list-python;' died with <Signals.SIGSEGV: 11>.
>> > > >>
>> > > >
>> > > > seems quite unrelated, I wonder if its finding some other bug
>> > >
>> > > Yes, I can't understand what happens here :(
>> > > Yet this commit always triggers the failure.
>> > >
>> >
>> > Looking at logs there is some more info  immediately after what you
>> > posted above that is interesting
>> >
>> > Stdout:
>> > Trying to install python3-maturin-native...
>> >
>> > its running lib/oeqa/sdk/cases/maturin.py and
>> > it seems it needs python3-maturin-native in sstate cache and I wonder
>> > if it's missing because m4/m4-native dependency will rebuild
>> > python3-maturin-native or something is racing with it.
>> >
>> > There was a similar problem in recent past and a related fix was committed
>> > https://git.yoctoproject.org/poky/commit/?id=2239c2c91ab35c67ccd95afe0573500
>> > 37f7d0e59
>> >
>> > I now wonder if the test is exited when it does not find
>> > python3-maturin-native correctly or not.
>>
>> The fact that maturin test is executed means that it was installed successfully, so code in mentioned commit was not active.
>> Also segmentation fault suggests that the binary is installed, it just does not work correctly.
>
> Seems so, I would have expected SkipTest to execute if the install
> failed. so it seems to be installed fine, but segfaulting on run
> seems unrelated to above change which is modifying a testcase source
> file in m4, its not changing anything even in m4,  there
> was a possibility that modified m4-native is indirectly injecting some
> bug into maturin but thats unlikely.
>
> maybe run a build with just this single patch applied on top of the
> master branch.
>

https://autobuilder.yoctoproject.org/valkyrie/#/builders/45/builds/368

Also failing :(
diff mbox series

Patch

diff --git a/meta/recipes-devtools/m4/m4-1.4.20.inc b/meta/recipes-devtools/m4/m4-1.4.20.inc
index aad57b8b649..0a7e018d296 100644
--- a/meta/recipes-devtools/m4/m4-1.4.20.inc
+++ b/meta/recipes-devtools/m4/m4-1.4.20.inc
@@ -8,6 +8,7 @@  inherit autotools texinfo ptest gettext
 
 SRC_URI = "${GNU_MIRROR}/m4/m4-${PV}.tar.gz \
            file://0001-gettext-h-Avoid-gcc-Wformat-security-warnings-with-d.patch \
+           file://0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch \
            "
 SRC_URI:append:class-target = " file://run-ptest \
                                 file://serial-tests-config.patch \
diff --git a/meta/recipes-devtools/m4/m4/0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch b/meta/recipes-devtools/m4/m4/0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch
new file mode 100644
index 00000000000..fb03e94c52d
--- /dev/null
+++ b/meta/recipes-devtools/m4/m4/0001-test-c32ispunct-Check-for-musl-along-with-glibc.patch
@@ -0,0 +1,26 @@ 
+From 761aa7fab4a82dc01daa28799f4f1d6ae17a4c26 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 18 Aug 2025 11:31:32 -0700
+Subject: [PATCH] test-c32ispunct: Check for musl along with glibc
+
+This check crashes on musl based locales, other libcs
+e.g. glibc ignore it too.
+
+Upstream-Status: Submitted [https://lists.gnu.org/archive/html/m4-patches/2025-08/msg00000.html]
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ tests/test-c32ispunct.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/tests/test-c32ispunct.c
++++ b/tests/test-c32ispunct.c
+@@ -255,7 +255,7 @@ main (int argc, char *argv[])
+           is = for_character ("\360\235\204\200", 4);
+           ASSERT (is != 0);
+         #endif
+-        #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
++        #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
+           /* U+E003A TAG COLON */
+           is = for_character ("\363\240\200\272", 4);
+           ASSERT (is == 0);