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

The added cache to KernelProgramInfo causes crashes on buildbots #34757

Open
mkustermann opened this Issue Oct 11, 2018 · 2 comments

Comments

Projects
None yet
2 participants
@mkustermann
Member

mkustermann commented Oct 11, 2018

From this buildbot log:

  FAILED: app_jitk-vm debug_x64 language_2/void/void_type_usage_test/call_use_as_function
  Expected: Pass
  Actual: Crash
  Missing expected compile error.
  --- Command "app_jit" (took 03.000743s):
  DART_CONFIGURATION=DebugX64 out/DebugX64/dart --snapshot=/b/s/w/ir/cache/builder/sdk/out/DebugX64/generated_compilations/app_jitk/multitest_language_2_void_void_type_usage_test_call_use_as_function/out.jitsnapshot --snapshot-kind=app-jit --sync-async --ignore-unrecognized-flags --packages=/b/s/w/ir/cache/builder/sdk/.packages /b/s/w/ir/cache/builder/sdk/out/DebugX64/generated_tests/language_2/void/void_type_usage_test_call_use_as_function.dart
  exit code:
  -6
  stderr:
  ../../runtime/vm/hash_table.h: 233: error: expected: IsUnused(entry)
  Dumping native stack trace for thread 5178
    [0x0000558a94dba7cf] dart::Profiler::DumpStackTrace(void*)
    [0x0000558a94dba7cf] dart::Profiler::DumpStackTrace(void*)
    [0x0000558a9506cb72] dart::Assert::Fail(char const*, ...)
    [0x0000558a94d9a8df] Unknown symbol
  out/DebugX64/generated_tests/language_2/void/void_type_usage_test_call_use_as_function.dart:123:4: Error: This expression has type 'void' and can't be used.
    f()(3); //# call_use_as_function: compile-time error
     ^
  out/DebugX64/generated_tests/language_2/void/void_type_usage_test_call_use_as_function.dart:123:6: Error: The method 'call' isn't defined for the class 'void'.
  Try correcting the name to the name of an existing method, or defining a method named 'call'.
    f()(3); //# call_use_as_function: compile-time error
       ^
    [0x0000558a94d49014] dart::KernelProgramInfo::InsertClass(dart::Thread*, dart::Smi const&, dart::Class const&) const
    [0x0000558a94fbd4c4] dart::kernel::TranslationHelper::LookupClassByKernelClass(dart::kernel::NameIndex)
    [0x0000558a94fc5416] dart::kernel::TypeTranslator::BuildTypeInternal(bool)
    [0x0000558a94fc5599] dart::kernel::TypeTranslator::BuildVariableType()
    [0x0000558a94fce2f9] dart::kernel::ScopeBuilder::VisitVariableDeclaration()
    [0x0000558a94fcc0dc] dart::kernel::ScopeBuilder::VisitExpression()
    [0x0000558a94fcdce8] dart::kernel::ScopeBuilder::VisitStatement()
    [0x0000558a94fcd8ee] dart::kernel::ScopeBuilder::VisitStatement()
    [0x0000558a94fcdce8] dart::kernel::ScopeBuilder::VisitStatement()
    [0x0000558a94fcce87] dart::kernel::ScopeBuilder::VisitFunctionNode()
    [0x0000558a94fcc66c] dart::kernel::ScopeBuilder::VisitNode()
    [0x0000558a94fcb11a] dart::kernel::ScopeBuilder::BuildScopes()
    [0x0000558a94db5fa7] dart::ParsedFunction::EnsureKernelScopes()
    [0x0000558a94fa14bd] dart::kernel::StreamingFlowGraphBuilder::BuildGraph()
    [0x0000558a94fb6cea] dart::kernel::FlowGraphBuilder::BuildGraph()
    [0x0000558a94f246ff] Unknown symbol
    [0x0000558a94f32870] Unknown symbol
    [0x0000558a94f2b894] Unknown symbol
    [0x0000558a94f2b432] dart::FlowGraphInliner::Inline()
    [0x0000558a94f77501] Unknown symbol
    [0x0000558a94f76f9d] dart::CompilerPass::Run(dart::CompilerPassState*) const
    [0x0000558a94f771c4] dart::CompilerPass::RunPipeline(dart::CompilerPass::PipelineMode, dart::CompilerPassState*)
    [0x0000558a94ff2591] dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*)
    [0x0000558a94ff38d8] Unknown symbol
    [0x0000558a94ff4cad] dart::Compiler::CompileOptimizedFunction(dart::Thread*, dart::Function const&, long)
    [0x0000558a94ff71b4] dart::BackgroundCompiler::Run()
    [0x0000558a94e7cd51] dart::ThreadPool::Worker::Loop()
    [0x0000558a94e7c82c] dart::ThreadPool::Worker::Main(unsigned long)
    [0x0000558a94db4695] Unknown symbol
  -- End of DumpStackTrace
  --- Re-run this test:
  python tools/test.py -m debug -n app_jitk-linux-debug-x64 language_2/void/void_type_usage_test/call_use_as_function

/cc @mraleph

@mkustermann mkustermann added the area-vm label Oct 11, 2018

@mkustermann

This comment has been minimized.

Show comment
Hide comment
@mkustermann

mkustermann Oct 11, 2018

Member

It might be that this is caused due to concurrent access to the cache from background compiler thread and main thread.

I'm going to revert that CL for now.

Member

mkustermann commented Oct 11, 2018

It might be that this is caused due to concurrent access to the cache from background compiler thread and main thread.

I'm going to revert that CL for now.

dart-bot pushed a commit that referenced this issue Oct 11, 2018

Revert "[vm] Add a library and class cache to KernelProgramInfo"
This reverts commit b99bcfd.

Reason for revert: Causes flaky crashes.

Issue #34757


Original change's description:
> [vm] Add a library and class cache to KernelProgramInfo
> 
> Also create fewer handles in the KernelLoader.
> 
> GenKernelKernelReadAllBytecode improves a further
> 15-20% after removing the timeline event argument
> in the bytecode reader.
> 
> Change-Id: Ida7e74129ccb4c997bb74e7bb51cdae053587254
> Reviewed-on: https://dart-review.googlesource.com/c/78710
> Commit-Queue: Zach Anderson <zra@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=aam@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com

Change-Id: I13f118862764ebc7d8d36b482b11082348b80f39
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/79204
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>

@zanderso zanderso self-assigned this Oct 11, 2018

@zanderso

This comment has been minimized.

Show comment
Hide comment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment