New issue
Advanced search Search tips

Issue 669017 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 668413



Sign in to add a comment

Difference between x64 and ia32: syntax error message

Project Member Reported by machenb...@chromium.org, Nov 28 2016

Issue description

# Minimized program:
1073741824O0

# Compared default with ia32

# Flags of default:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --es-staging  --random-seed -1237101700
# Flags of ia32:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --es-staging  --random-seed -1237101700

Difference:
- /usr/local/google/home/machenbach/v8/clusterfuzz-data/fuzzers/workdir/output33_ia32/fuzz-02493.js.minimized:1: SyntaxError: Unexpected identifier
+ /usr/local/google/home/machenbach/v8/clusterfuzz-data/fuzzers/workdir/output33_ia32/fuzz-02493.js.minimized:1: SyntaxError: Invalid or unexpected token

### Start of configuration default:
/usr/local/google/home/machenbach/v8/clusterfuzz-data/fuzzers/workdir/output33_ia32/fuzz-02493.js.minimized:1: SyntaxError: Unexpected identifier
1073741824O0
          ^^
SyntaxError: Unexpected identifier


### End of configuration default

### Start of configuration ia32:
/usr/local/google/home/machenbach/v8/clusterfuzz-data/fuzzers/workdir/output33_ia32/fuzz-02493.js.minimized:1: SyntaxError: Invalid or unexpected token
1073741824O0
^^^^^^^^^^
SyntaxError: Invalid or unexpected token


### End of configuration ia32
 
Cc: verwa...@chromium.org
Components: -Blink>JavaScript Blink>JavaScript>Runtime
Status: Available (was: Untriaged)
Cc: hablich@chromium.org
Owner: vogelheim@chromium.org
Status: Assigned (was: Available)
Can reproduce.

I think this a (minor) bug in the scanner, which - for performance reasons - takes a slightly different path depending on whether it finds a SMI or not. This seems to be not quite correct w/ respect to error handling.

On 32b, this probably gets scanned as Token::ILLEGAL.
On 64b, where the part before the 'O' fits into a SMI, it's probably scanned as Token::SMI + Token::IDENTIFIER.

I need to figure out which case is correct - probably 32b. But in either case this should scan as the same token sequence on all platforms.

Status: Fixed (was: Assigned)
Labels: v8-foozzie-failure
 Issue 679881  has been merged into this issue.

Sign in to add a comment