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

True output divergence #39518

Closed
fizaaluthra opened this issue Nov 25, 2019 · 3 comments
Closed

True output divergence #39518

fizaaluthra opened this issue Nov 25, 2019 · 3 comments
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. dartfuzz Found with Dart fuzzing (DartFuzz, libFuzzer, etc.)

Comments

@fizaaluthra
Copy link

fizaaluthra commented Nov 25, 2019

fuzz.dart.txt

Isolate (/b/s/w/itpcagqF/dart_fuzzIMACSP) NO-FP NO-FFI NO-FLAT : AOT-DET-ReleaseX64 - KBC-INT-DET-DebugIA32: !DIVERGENCE! 1.71:1896628754 (output)

-- BEGIN REPRODUCE  --

dartfuzz.dart --no-fp --no-ffi --no-flat --seed 1896628754 /b/s/w/itpcagqF/dart_fuzzIMACSP/fuzz.dart

-- RUN 1 --

DART_CONFIGURATION='ReleaseX64' DART_VM_FLAGS='--enable-asserts' /b/s/w/ir/pkg/vm/tool/precompiler2 --deterministic /b/s/w/itpcagqF/dart_fuzzIMACSP/fuzz.dart /b/s/w/itpcagqF/dart_fuzzIMACSP/snapshot
/b/s/w/ir/pkg/vm/tool/dart_precompiled_runtime2 /b/s/w/itpcagqF/dart_fuzzIMACSP/snapshot

-- RUN 2 --

/b/s/w/ir/pkg/vm/tool/gen_kernel --gen-bytecode --platform=/b/s/w/ir/out/DebugIA32/vm_platform_strong.dill -o /b/s/w/itpcagqF/dart_fuzzIMACSP/out.dill /b/s/w/itpcagqF/dart_fuzzIMACSP/fuzz.dart
/b/s/w/ir/out/DebugIA32/dart --enable-interpreter --compilation-counter-threshold=-1 --deterministic --old_gen_heap_size=128 /b/s/w/itpcagqF/dart_fuzzIMACSP/out.dill

-- END REPRODUCE  --

Difference in outputs:

32c32
< [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
---
> [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
44c44
< {true, false}
---
> {false, true}

cc @bkonyi

@fizaaluthra fizaaluthra added area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. dartfuzz Found with Dart fuzzing (DartFuzz, libFuzzer, etc.) labels Nov 25, 2019
@bkonyi
Copy link
Contributor

bkonyi commented Nov 25, 2019

cc @alexmarkov @a-siva

@fizaaluthra
Copy link
Author

fizaaluthra commented Nov 25, 2019

Another one:

-- BEGIN REPRODUCE  --

dartfuzz.dart --no-fp --no-ffi --flat --seed 3255440742 /b/s/w/itbf35rl/dart_fuzzGELSOF/fuzz.dart

-- RUN 1 --

DART_CONFIGURATION='ReleaseX64' DART_VM_FLAGS='--enable-asserts' /b/s/w/ir/pkg/vm/tool/precompiler2 /b/s/w/itbf35rl/dart_fuzzGELSOF/fuzz.dart /b/s/w/itbf35rl/dart_fuzzGELSOF/snapshot
/b/s/w/ir/pkg/vm/tool/dart_precompiled_runtime2 /b/s/w/itbf35rl/dart_fuzzGELSOF/snapshot

-- RUN 2 --

/b/s/w/ir/out/DebugSIMARM/dart --old_gen_heap_size=128 /b/s/w/itbf35rl/dart_fuzzGELSOF/fuzz.dart

-- END REPRODUCE  --

@fizaaluthra
Copy link
Author

Tracked 3255440742 down to this code snippet:

import 'dart:typed_data';
main() {
  Int32x4 x = Int32x4.bool(true, true, null, true);
}

DebugSIMARM throws an exception:

Unhandled exception:
Invalid argument(s)
#0      new Int32x4.bool (dart:typed_data-patch/typed_data_patch.dart:3576:33)
#1      main (file:///usr/local/google/home/fizaaluthra/dart-sdk/sdk/xy.dart:5:23)
#2      _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:307:19)
#3      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:174:12)

ReleaseX64 AOT quietly passes (we should probably throw an exception here as well).

dart-bot pushed a commit that referenced this issue Dec 12, 2019
Re-enabling as we fixed #39518.

Change-Id: I4fc2fdf4cbb0bd5dfec96616085c58590d0d87f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128000
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Fizaa Luthra <fizaaluthra@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-vm Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends. dartfuzz Found with Dart fuzzing (DartFuzz, libFuzzer, etc.)
Projects
None yet
Development

No branches or pull requests

2 participants