Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[test][armv6k]: parallel/test-startup-empty-regexp-statics fails #44840

Closed
kapouer opened this issue Sep 30, 2022 · 4 comments · Fixed by #44864
Closed

[test][armv6k]: parallel/test-startup-empty-regexp-statics fails #44840

kapouer opened this issue Sep 30, 2022 · 4 comments · Fixed by #44864
Labels
arm Issues and PRs related to the ARM platform. test Issues and PRs related to the tests.

Comments

@kapouer
Copy link
Contributor

kapouer commented Sep 30, 2022

Version

v18.10.0

Platform

linux 5.19.x

Subsystem

regexp

What steps will reproduce the bug?

node ./parallel/test-startup-empty-regexp-statics.js

How often does it reproduce? Is there a required condition?

Probably always

What is the expected behavior?

Test succeeds

What do you see instead?

not ok 2202 parallel/test-startup-empty-regexp-statics
  ---
  duration_ms: 0.726
  severity: fail
  exitcode: 1
  stack: |-
    node:assert:124
      throw new AssertionError(obj);
      ^
    
    AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
    + actual - expected
    
    + 'processor\t: 0\n' +
    +   'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
    +   'BogoMIPS\t: 80.00\n' +
    +   'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
    +   'CPU implementer\t: 0x50\n' +
    +   'CPU architecture: 7\n' +
    +   'CPU variant\t: 0x3\n' +
    +   'CPU part\t: 0x000\n' +
    +   'CPU revision\t: 2\n' +
    +   '\n' +
    +   'processor\t: 1\n' +
    +   'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
    +   'BogoMIPS\t: 80.00\n' +
    +   'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
    +   'CPU implementer\t: 0x50\n' +
    +   'CPU architecture: 7\n' +
    +   'CPU variant\t: 0x3\n' +
    +   'CPU part\t: 0x000\n' +
    +   'CPU revision\t: 2\n' +
    +   '\n' +
    +   'processor\t: 2\n' +
    +   'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
    +   'BogoMIPS\t: 80.00\n' +
    +   'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
    +   'CPU implementer\t: 0x50\n' +
    +   'CPU architecture: 7\n' +
    +   'CPU variant\t: 0x3\n' +
    +   'CPU part\t: 0x000\n' +
    +   'CPU revision\t: 2\n' +
    +   '\n' +
    +   'processor\t: 3\n' +
    +   'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
    +   'BogoMIPS\t: 80.00\n' +
    +   'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
    +   'CPU implementer\t: 0x50\n' +
    +   'CPU architecture: 7\n' +
    +   'CPU variant\t: 0x3\n' +
    +   'CPU part\t: 0x000\n' +
    +   'CPU revision\t: 2\n' +
    +   '\n' +
    +   'Hardware\t: Generic DT based system\n' +
    +   'Revision\t: 0000\n' +
    +   'Serial\t\t: 0000000000000000\n'
    - ''
        at Object.<anonymous> (/<<PKGBUILDDIR>>/test/parallel/test-startup-empty-regexp-statics.js:7:8)
        at Module._compile (node:internal/modules/cjs/loader:1149:14)
        at Module._extensions..js (node:internal/modules/cjs/loader:1203:10)
        at Module.load (node:internal/modules/cjs/loader:1027:32)
        at Module._load (node:internal/modules/cjs/loader:868:12)
        at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
        at node:internal/main/run_main_module:23:47 {
      generatedMessage: true,
      code: 'ERR_ASSERTION',
      actual: 'processor\t: 0\n' +
        'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
        'BogoMIPS\t: 80.00\n' +
        'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
        'CPU implementer\t: 0x50\n' +
        'CPU architecture: 7\n' +
        'CPU variant\t: 0x3\n' +
        'CPU part\t: 0x000\n' +
        'CPU revision\t: 2\n' +
        '\n' +
        'processor\t: 1\n' +
        'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
        'BogoMIPS\t: 80.00\n' +
        'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
        'CPU implementer\t: 0x50\n' +
        'CPU architecture: 7\n' +
        'CPU variant\t: 0x3\n' +
        'CPU part\t: 0x000\n' +
        'CPU revision\t: 2\n' +
        '\n' +
        'processor\t: 2\n' +
        'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
        'BogoMIPS\t: 80.00\n' +
        'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
        'CPU implementer\t: 0x50\n' +
        'CPU architecture: 7\n' +
        'CPU variant\t: 0x3\n' +
        'CPU part\t: 0x000\n' +
        'CPU revision\t: 2\n' +
        '\n' +
        'processor\t: 3\n' +
        'model name\t: ARMv7 Processor rev 2 (v7l)\n' +
        'BogoMIPS\t: 80.00\n' +
        'Features\t: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm aes pmull sha1 sha2 crc32 \n' +
        'CPU implementer\t: 0x50\n' +
        'CPU architecture: 7\n' +
        'CPU variant\t: 0x3\n' +
        'CPU part\t: 0x000\n' +
        'CPU revision\t: 2\n' +
        '\n' +
        'Hardware\t: Generic DT based system\n' +
        'Revision\t: 0000\n' +
        'Serial\t\t: 0000000000000000\n',
      expected: '',
      operator: 'strictEqual'
    }
    
    Node.js v18.10.0

Additional information

18.8.0 did not have that test, so I don't really know if it is a regression or not.

I know arm 32 bit is not supported, but

  • it is actually working pretty nicely, besides a couple of test failures
  • maybe the bug is happening on armv6k more often than on other architectures
@Trott
Copy link
Member

Trott commented Sep 30, 2022

@aduh95

@richardlau
Copy link
Member

Just in case anyone asks we do not test armv6k binaries in our CI.

@aduh95
Copy link
Contributor

aduh95 commented Sep 30, 2022

I don't think it's a regression, likely the bug was also there before we added the test. It might be showing an issue with the binary itself, or with the test runner. In any case, I don't know what can be done here, I don't have any armv6k machine to test it, you would need to either fix the test yourself, or add that test to the list of failing tests for that platform.

@kvakil kvakil added test Issues and PRs related to the tests. arm Issues and PRs related to the ARM platform. labels Oct 1, 2022
@bnoordhuis
Copy link
Member

I believe it's an oversight in our common test infrastructure:

node/test/common/index.js

Lines 125 to 129 in 2a4452a

// Normal Raspberry Pi detection is to find the `Raspberry Pi` string in
// the contents of `/sys/firmware/devicetree/base/model` but that doesn't
// work inside a container. Match the chipset model number instead.
const cpuinfo = fs.readFileSync('/proc/cpuinfo', { encoding: 'utf8' });
return /^Hardware\s*:\s*(.*)$/im.exec(cpuinfo)?.[1] === 'BCM2835';

It's polluting RegExp.$_ etc. when running on ARM.

bnoordhuis added a commit to bnoordhuis/io.js that referenced this issue Oct 2, 2022
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: nodejs#44840
nodejs-github-bot pushed a commit that referenced this issue Oct 7, 2022
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: #44840
PR-URL: #44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
juanarbol pushed a commit that referenced this issue Oct 8, 2022
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: #44840
PR-URL: #44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
juanarbol pushed a commit that referenced this issue Oct 10, 2022
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: #44840
PR-URL: #44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
danielleadams pushed a commit that referenced this issue Oct 11, 2022
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: #44840
PR-URL: #44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
juanarbol pushed a commit that referenced this issue Oct 11, 2022
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: #44840
PR-URL: #44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
guangwong pushed a commit to noslate-project/node that referenced this issue Jan 3, 2023
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: nodejs/node#44840
PR-URL: nodejs/node#44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
guangwong pushed a commit to noslate-project/node that referenced this issue Jan 3, 2023
Some tests expect it to be empty so clear it again after running a
regular expression against /proc/cpuinfo.

It didn't cause test failures on any of the CI machines, to the best of
my knowledge, because most of the time /proc/cpuinfo doesn't contain
the string it was looking for.

Fixes: nodejs/node#44840
PR-URL: nodejs/node#44864
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arm Issues and PRs related to the ARM platform. test Issues and PRs related to the tests.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants