[Pkg-javascript-devel] Bug#1030284: nodejs: [arm64] RangeError: Maximum call stack size exceeded

Thorsten Glaser tg at mirbsd.de
Thu Feb 2 01:56:10 GMT 2023


Package: nodejs
Version: 18.13.0+dfsg1-1
Severity: serious
Tags: upstream
Justification: breaks on release architecture
X-Debbugs-Cc: tg at mirbsd.de
Control: affects -1 src:dygraphs

During reproducible-builds testing, I found that one of my packages,
the one with nodejs used during build, worked on amd64 (which the
arch:all packages are built on), i386, armhf(!) but not on arm64.
Testing on the porterbox reveals that indeed nodejs fails there.

To reproduce, easiest way:

$ apt-get source dygraphs  # = 2.2.0-4
$ cd dygraphs-2.2.0
$ babeljs --config-file $PWD/babel.config.json --compact false --source-maps inline -d tests5 auto_tests

Omitting --compact false and --source-maps inline can also be done,
the bug is triggered nevertheless:

RangeError: Maximum call stack size exceeded                                                                     
    at NodePath.getScope (/usr/share/nodejs/@babel/traverse/lib/path/index.js:84:11)                             
    at NodePath.setScope (/usr/share/nodejs/@babel/traverse/lib/path/context.js:115:21)                          
    at NodePath.setContext (/usr/share/nodejs/@babel/traverse/lib/path/context.js:128:8)                         
    at NodePath.pushContext (/usr/share/nodejs/@babel/traverse/lib/path/context.js:183:8)                        
    at TraversalContext.visitQueue (/usr/share/nodejs/@babel/traverse/lib/context.js:78:14)                      
    at TraversalContext.visitSingle (/usr/share/nodejs/@babel/traverse/lib/context.js:65:19)                     
    at TraversalContext.visit (/usr/share/nodejs/@babel/traverse/lib/context.js:109:19)                          
    at traverseNode (/usr/share/nodejs/@babel/traverse/lib/traverse-node.js:18:17)                               
    at NodePath.visit (/usr/share/nodejs/@babel/traverse/lib/path/context.js:86:52)                              
    at TraversalContext.visitQueue (/usr/share/nodejs/@babel/traverse/lib/context.js:86:16)                      

There are numerous references to nodejs failing in this way on arm64
platforms, normal Linux but even on Android as well, on the internet;
h01ger said several other nodejs-using packages FTBFS on arm64 in the
same way during reproducible-builds testing.

I consider this an architecture-specific release-critical bug. Maybe
having a reproducer and access to a porterbox will allow a nodejs
maintainer to track this down.



-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable')
merged-usr: no
Architecture: arm64 (aarch64)

Kernel: Linux 5.10.0-21-arm64 (SMP w/4 CPU threads)
Locale: LANG=C, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: unable to detect

Versions of packages nodejs depends on:
ii  libc6       2.36-8
ii  libnode108  18.13.0+dfsg1-1

Versions of packages nodejs recommends:
ii  ca-certificates  20211016
pn  nodejs-doc       <none>

Versions of packages nodejs suggests:
pn  npm  <none>

-- no debconf information



More information about the Pkg-javascript-devel mailing list