New issue
Advanced search Search tips

Issue 923265 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jan 18
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Ill in v8::internal::RemoveArrayHolesGeneric

Project Member Reported by ClusterFuzz, Jan 18 (4 days ago)

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=6577844687863808

Fuzzer: decoder_langfuzz
Job Type: linux_ubsan_vptr_d8
Platform Id: linux

Crash Type: Ill
Crash Address: 0x555c200bc35e
Crash State:
  v8::internal::RemoveArrayHolesGeneric
  RemoveArrayHoles
  __RT_impl_Runtime_PrepareElementsForSort
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_vptr_d8&range=58877:58878

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6577844687863808

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for instructions to reproduce this bug locally.
 
Project Member

Comment 1 by ClusterFuzz, Jan 18 (4 days ago)

Labels: Test-Predator-Auto-Owner
Owner: szuend@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/v8/v8/+/4bf28a33ee83ae4b293209e681ab432a0cd11e9f ([array] Fix prototype chain interaction in sort pre-processing).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.

Comment 2 by szuend@chromium.org, Jan 18 (4 days ago)

Cc: jgruber@chromium.org
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 18 (4 days ago)

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e38faab1c7df2d2c4a79378eea9d0e863d17c613

commit e38faab1c7df2d2c4a79378eea9d0e863d17c613
Author: Simon Zünd <szuend@chromium.org>
Date: Fri Jan 18 10:01:37 2019

[array] Remove CHECK_LE from RemoveArrayHolesGeneric

This CL removes a CHECK_LE that does not hold in all cases. After
moving all elements to the front, current_pos will point to the next
free spot. In the case where an object is 'packed', i.e. each index
has a non-undefined value, and the length is smaller then the max
index, current_pos will be greater than the length (limit in the code).

Sidenote: The block after taking the minimum (where the counted
undefineds get set) will not be affected. In the case where
num_undefined > 0, current_pos should be guaranteed to be smaller
than limit, as long there are no accessors with side-effects.

R=jgruber@chromium.org

Bug:  chromium:923265 
Change-Id: Id533cdc4db6c6c6f266cf7c6a8ab6ecbbeee7016
Reviewed-on: https://chromium-review.googlesource.com/c/1420679
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Simon Zünd <szuend@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58912}
[modify] https://crrev.com/e38faab1c7df2d2c4a79378eea9d0e863d17c613/src/runtime/runtime-array.cc
[add] https://crrev.com/e38faab1c7df2d2c4a79378eea9d0e863d17c613/test/mjsunit/regress/regress-crbug-923265.js

Comment 4 by szuend@chromium.org, Jan 18 (4 days ago)

Status: Fixed (was: Assigned)
Project Member

Comment 5 by ClusterFuzz, Jan 18 (4 days ago)

ClusterFuzz has detected this issue as fixed in range 58911:58912.

Detailed report: https://clusterfuzz.com/testcase?key=6577844687863808

Fuzzer: decoder_langfuzz
Job Type: linux_ubsan_vptr_d8
Platform Id: linux

Crash Type: Ill
Crash Address: 0x555c200bc35e
Crash State:
  v8::internal::RemoveArrayHolesGeneric
  RemoveArrayHoles
  __RT_impl_Runtime_PrepareElementsForSort
  
Sanitizer: undefined (UBSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_ubsan_vptr_d8&range=58877:58878
Fixed: https://clusterfuzz.com/revisions?job=linux_ubsan_vptr_d8&range=58911:58912

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6577844687863808

See https://github.com/google/clusterfuzz-tools for instructions to reproduce this bug locally.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 6 by ClusterFuzz, Jan 18 (4 days ago)

Labels: ClusterFuzz-Verified
Status: Verified (was: Fixed)
ClusterFuzz testcase 6577844687863808 is verified as fixed, so closing issue as verified.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment