emscripten-core / emscripten-core/emscripten

Invalid assertion in acorn-optimizer

Open
#21,359 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
27.6k
Forks
3.6k
Avg merge
1d 1h
Merged PRs (30d)
105

Description

Please include the following in your bug report:

**Version of emscripten/emsdk:**
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 3.1.54 (a95c44ee924d02fa1498f846595485d27c31daa8)
I checked 3.1.53 as well.

**Failing command line in full:**
The following exception is thrown when compiling code with -Os

```
Error: /tmp/emscripten_temp_dyn6cl2g/MagicCasino.release.jso1.js:1613: expected Indentifier but found AssignmentPattern (use EMCC_DEBUG_SAVE=1 to preserve temporary inputs)
at assertAt (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:30:11)
at traverse (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:437:13)
at traverse (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:430:15)
at Object.VariableDeclarator (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:442:9)
at c (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:92:20)
at recursiveWalk (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:94:5)
at file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:90:38
at maybeChild (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:54:7)
at Array.forEach ()
at visitChildren (file:///mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs:64:15)
em++: error: '/mnt/c/emsdk/node/16.20.0_64bit/bin/node /mnt/c/emsdk/upstream/emscripten/tools/acorn-optimizer.mjs /tmp/emscripten_temp_dyn6cl2g/MagicCasino.release.jso1.js AJSDCE minifyWhitespace -o /tmp/emscripten_temp_dyn6cl2g/MagicCasino.release.jso2.js' failed (returned 1)
```

https://github.com/emscripten-core/emscripten/blob/047b82506d6b471873300a5e4d1e690420b582d0/tools/acorn-optimizer.js#L437

The issue is happening after updating @sentry/browser npm package from version 6.19.7 to v7.101.0.

**To reproduce the issue create the following files:**

a.cpp:
```

int main()
{
return 0;
}
```
package.json:
```

{
"devDependencies": {
"@sentry/browser": "7.101.0",
"webpack": "^5.74.0",
"webpack-cli": "^4.10.0"
}
}
```
webpack.config.js:

```
path = require('path');

module.exports = env => {
return {
entry: path.resolve(__dirname, 'index.js'),
output: {
filename: 'all.js',
path: __dirname
},
mode: 'production',
resolve: {
modules: [path.resolve(__dirname, 'node_modules')],
extensions: ['.tsx', '.ts', '.js']
}
}
}
```
index.js:

```
Sentry = require('@sentry/browser');

```

Then run the following commands:

```
npm install
node_modules/.bin/webpack
emcc a.cpp -O2 --pre-js all.js
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.