Message ID | 20230515083113.107056-1-laurent@vivier.eu (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 5/15/23 01:31, Laurent Vivier wrote: > The following changes since commit 7c18f2d663521f1b31b821a13358ce38075eaf7d: > > Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2023-04-29 23:07:17 +0100) > > are available in the Git repository at: > > https://github.com/vivier/qemu.git tags/linux-user-for-8.1-pull-request > > for you to fetch changes up to 015ebc4aaa47612514a5c846b9db0d76b653b75f: > > linux-user: fix getgroups/setgroups allocations (2023-05-14 18:08:04 +0200) > > ---------------------------------------------------------------- > linux-user pull request 20230512-v2 > > add open_tree(), move_mount() > add /proc/cpuinfo for riscv > fixes and cleanup The new test in patch 1 fails: https://gitlab.com/qemu-project/qemu/-/jobs/4285710689#L4825 TEST cpuinfo on riscv64 cpuinfo: /builds/qemu-project/qemu/tests/tcg/riscv64/cpuinfo.c:20: main: Assertion `strcmp(buffer, "isa\t\t: rv64imafdc_zicsr_zifencei\n") == 0' failed. timeout: the monitored command dumped core Aborted make[1]: *** [Makefile:174: run-cpuinfo] Error 134 make: *** [/builds/qemu-project/qemu/tests/Makefile.include:56: run-tcg-tests-riscv64-linux-user] Error 2 make: *** Waiting for unfinished jobs.... r~
Le 15/05/2023 à 15:55, Richard Henderson a écrit : > On 5/15/23 01:31, Laurent Vivier wrote: >> The following changes since commit 7c18f2d663521f1b31b821a13358ce38075eaf7d: >> >> Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2023-04-29 23:07:17 >> +0100) >> >> are available in the Git repository at: >> >> https://github.com/vivier/qemu.git tags/linux-user-for-8.1-pull-request >> >> for you to fetch changes up to 015ebc4aaa47612514a5c846b9db0d76b653b75f: >> >> linux-user: fix getgroups/setgroups allocations (2023-05-14 18:08:04 +0200) >> >> ---------------------------------------------------------------- >> linux-user pull request 20230512-v2 >> >> add open_tree(), move_mount() >> add /proc/cpuinfo for riscv >> fixes and cleanup > > The new test in patch 1 fails: > > https://gitlab.com/qemu-project/qemu/-/jobs/4285710689#L4825 > > TEST cpuinfo on riscv64 > cpuinfo: /builds/qemu-project/qemu/tests/tcg/riscv64/cpuinfo.c:20: main: Assertion `strcmp(buffer, > "isa\t\t: rv64imafdc_zicsr_zifencei\n") == 0' failed. > timeout: the monitored command dumped core > Aborted > make[1]: *** [Makefile:174: run-cpuinfo] Error 134 > make: *** [/builds/qemu-project/qemu/tests/Makefile.include:56: run-tcg-tests-riscv64-linux-user] > Error 2 > make: *** Waiting for unfinished jobs.... > > > r~ Strange, it worked for me: https://gitlab.com/laurent_vivier/qemu/-/jobs/4281774977#L4844 Afonso, could you have a look? Thanks, Laurent
Le 15/05/2023 à 17:50, Laurent Vivier a écrit : > Le 15/05/2023 à 15:55, Richard Henderson a écrit : >> On 5/15/23 01:31, Laurent Vivier wrote: >>> The following changes since commit 7c18f2d663521f1b31b821a13358ce38075eaf7d: >>> >>> Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2023-04-29 23:07:17 >>> +0100) >>> >>> are available in the Git repository at: >>> >>> https://github.com/vivier/qemu.git tags/linux-user-for-8.1-pull-request >>> >>> for you to fetch changes up to 015ebc4aaa47612514a5c846b9db0d76b653b75f: >>> >>> linux-user: fix getgroups/setgroups allocations (2023-05-14 18:08:04 +0200) >>> >>> ---------------------------------------------------------------- >>> linux-user pull request 20230512-v2 >>> >>> add open_tree(), move_mount() >>> add /proc/cpuinfo for riscv >>> fixes and cleanup >> >> The new test in patch 1 fails: >> >> https://gitlab.com/qemu-project/qemu/-/jobs/4285710689#L4825 >> >> TEST cpuinfo on riscv64 >> cpuinfo: /builds/qemu-project/qemu/tests/tcg/riscv64/cpuinfo.c:20: main: Assertion `strcmp(buffer, >> "isa\t\t: rv64imafdc_zicsr_zifencei\n") == 0' failed. >> timeout: the monitored command dumped core >> Aborted >> make[1]: *** [Makefile:174: run-cpuinfo] Error 134 >> make: *** [/builds/qemu-project/qemu/tests/Makefile.include:56: run-tcg-tests-riscv64-linux-user] >> Error 2 >> make: *** Waiting for unfinished jobs.... >> >> >> r~ > > Strange, it worked for me: > > https://gitlab.com/laurent_vivier/qemu/-/jobs/4281774977#L4844 > I think if the host has more than 12 processors there is a buffer overflow. something like this can mitigate avoid the problem: diff --git a/tests/tcg/riscv64/cpuinfo.c b/tests/tcg/riscv64/cpuinfo.c index 296abd0a8cf9..5c2b79022e9c 100644 --- a/tests/tcg/riscv64/cpuinfo.c +++ b/tests/tcg/riscv64/cpuinfo.c @@ -22,6 +22,7 @@ int main(void) assert(strcmp(buffer, "mmu\t\t: sv48\n") == 0); } else if (strstr(buffer, "uarch") != NULL) { assert(strcmp(buffer, "uarch\t\t: qemu\n") == 0); + break; } } Thanks, Laurent
Hey Laurent, I was having some issues reproducing this bug, but that looks like a likely explanation! Should I resubmit the patch with that diff applied? Thanks! On 5/16/2023 10:11 AM, Laurent Vivier wrote: > Le 15/05/2023 à 17:50, Laurent Vivier a écrit : >> Le 15/05/2023 à 15:55, Richard Henderson a écrit : >>> On 5/15/23 01:31, Laurent Vivier wrote: >>>> The following changes since commit >>>> 7c18f2d663521f1b31b821a13358ce38075eaf7d: >>>> >>>> Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into >>>> staging (2023-04-29 23:07:17 +0100) >>>> >>>> are available in the Git repository at: >>>> >>>> https://github.com/vivier/qemu.git >>>> tags/linux-user-for-8.1-pull-request >>>> >>>> for you to fetch changes up to >>>> 015ebc4aaa47612514a5c846b9db0d76b653b75f: >>>> >>>> linux-user: fix getgroups/setgroups allocations (2023-05-14 >>>> 18:08:04 +0200) >>>> >>>> ---------------------------------------------------------------- >>>> linux-user pull request 20230512-v2 >>>> >>>> add open_tree(), move_mount() >>>> add /proc/cpuinfo for riscv >>>> fixes and cleanup >>> >>> The new test in patch 1 fails: >>> >>> https://gitlab.com/qemu-project/qemu/-/jobs/4285710689#L4825 >>> >>> TEST cpuinfo on riscv64 >>> cpuinfo: /builds/qemu-project/qemu/tests/tcg/riscv64/cpuinfo.c:20: >>> main: Assertion `strcmp(buffer, "isa\t\t: >>> rv64imafdc_zicsr_zifencei\n") == 0' failed. >>> timeout: the monitored command dumped core >>> Aborted >>> make[1]: *** [Makefile:174: run-cpuinfo] Error 134 >>> make: *** [/builds/qemu-project/qemu/tests/Makefile.include:56: >>> run-tcg-tests-riscv64-linux-user] Error 2 >>> make: *** Waiting for unfinished jobs.... >>> >>> >>> r~ >> >> Strange, it worked for me: >> >> https://gitlab.com/laurent_vivier/qemu/-/jobs/4281774977#L4844 >> > > I think if the host has more than 12 processors there is a buffer > overflow. > > something like this can mitigate avoid the problem: > > diff --git a/tests/tcg/riscv64/cpuinfo.c b/tests/tcg/riscv64/cpuinfo.c > index 296abd0a8cf9..5c2b79022e9c 100644 > --- a/tests/tcg/riscv64/cpuinfo.c > +++ b/tests/tcg/riscv64/cpuinfo.c > @@ -22,6 +22,7 @@ int main(void) > assert(strcmp(buffer, "mmu\t\t: sv48\n") == 0); > } else if (strstr(buffer, "uarch") != NULL) { > assert(strcmp(buffer, "uarch\t\t: qemu\n") == 0); > + break; > } > } > > Thanks, > Laurent >
Le 16/05/2023 à 12:20, Afonso Bordado a écrit : > Hey Laurent, > > I was having some issues reproducing this bug, but that looks like a likely explanation! > > Should I resubmit the patch with that diff applied? No, I'm going to update it. Thanks, Laurent > > Thanks! > > On 5/16/2023 10:11 AM, Laurent Vivier wrote: >> Le 15/05/2023 à 17:50, Laurent Vivier a écrit : >>> Le 15/05/2023 à 15:55, Richard Henderson a écrit : >>>> On 5/15/23 01:31, Laurent Vivier wrote: >>>>> The following changes since commit 7c18f2d663521f1b31b821a13358ce38075eaf7d: >>>>> >>>>> Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging (2023-04-29 >>>>> 23:07:17 +0100) >>>>> >>>>> are available in the Git repository at: >>>>> >>>>> https://github.com/vivier/qemu.git tags/linux-user-for-8.1-pull-request >>>>> >>>>> for you to fetch changes up to 015ebc4aaa47612514a5c846b9db0d76b653b75f: >>>>> >>>>> linux-user: fix getgroups/setgroups allocations (2023-05-14 18:08:04 +0200) >>>>> >>>>> ---------------------------------------------------------------- >>>>> linux-user pull request 20230512-v2 >>>>> >>>>> add open_tree(), move_mount() >>>>> add /proc/cpuinfo for riscv >>>>> fixes and cleanup >>>> >>>> The new test in patch 1 fails: >>>> >>>> https://gitlab.com/qemu-project/qemu/-/jobs/4285710689#L4825 >>>> >>>> TEST cpuinfo on riscv64 >>>> cpuinfo: /builds/qemu-project/qemu/tests/tcg/riscv64/cpuinfo.c:20: main: Assertion >>>> `strcmp(buffer, "isa\t\t: rv64imafdc_zicsr_zifencei\n") == 0' failed. >>>> timeout: the monitored command dumped core >>>> Aborted >>>> make[1]: *** [Makefile:174: run-cpuinfo] Error 134 >>>> make: *** [/builds/qemu-project/qemu/tests/Makefile.include:56: >>>> run-tcg-tests-riscv64-linux-user] Error 2 >>>> make: *** Waiting for unfinished jobs.... >>>> >>>> >>>> r~ >>> >>> Strange, it worked for me: >>> >>> https://gitlab.com/laurent_vivier/qemu/-/jobs/4281774977#L4844 >>> >> >> I think if the host has more than 12 processors there is a buffer overflow. >> >> something like this can mitigate avoid the problem: >> >> diff --git a/tests/tcg/riscv64/cpuinfo.c b/tests/tcg/riscv64/cpuinfo.c >> index 296abd0a8cf9..5c2b79022e9c 100644 >> --- a/tests/tcg/riscv64/cpuinfo.c >> +++ b/tests/tcg/riscv64/cpuinfo.c >> @@ -22,6 +22,7 @@ int main(void) >> assert(strcmp(buffer, "mmu\t\t: sv48\n") == 0); >> } else if (strstr(buffer, "uarch") != NULL) { >> assert(strcmp(buffer, "uarch\t\t: qemu\n") == 0); >> + break; >> } >> } >> >> Thanks, >> Laurent >>