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

ICE: trying to assign Exception+:Class <- (ArgumentError:Class | IO::EOFError:Class) #6298

Closed
Sija opened this issue Jun 29, 2018 · 10 comments
Closed
Labels
kind:bug A bug in the code. Does not apply to documentation, specs, etc. topic:compiler

Comments

@Sija
Copy link
Contributor

Sija commented Jun 29, 2018

no 1 (happened just once, directly after brew upgrade crystal-lang — 0.25.0 -> 0.25.1):

$ crystal spec

Finished in 346.95 milliseconds
0 examples, 0 failures, 0 errors, 0 pending
Unhandled exception: Nil assertion failed (Exception)
Failed to raise an exception: END_OF_STACK
[0x10fe8543b] *CallStack::print_backtrace:Int32 +107
[0x10fe0bac3] __crystal_raise +83
[0x10fe7b8db] *CallStack::read_dwarf_sections:(Array(Tuple(UInt64, UInt64, String)) | Nil) +39323
[0x10fe84d63] *CallStack::decode_function_name<UInt64>:(String | Nil) +35
[0x10fe7177e] *CallStack#decode_backtrace:Array(String) +782
[0x10fe71451] *CallStack#printable_backtrace:Array(String) +49
[0x10feb92f8] *Exception+@Exception#backtrace?:(Array(String) | Nil) +72
[0x10feb8c31] *Exception+@Exception#inspect_with_backtrace<IO::FileDescriptor>:IO::FileDescriptor +113
[0x10fefd4f0] *AtExitHandlers::run<Int32>:Int32 +432
[0x10feea016] *Crystal::main<Int32, Pointer(Pointer(UInt8))>:Int32 +134
[0x10fe168e9] main +9

no 2 (happened just once, directly after brew upgrade crystal-lang — 0.25.0 -> 0.25.1):

$ crystal spec

execvp: No such file or directory (Errno)
  from Process::exec_internal<String, Array(Pointer(UInt8)), Nil, Bool, (IO::FileDescriptor | Process::Redirect), (IO::FileDescriptor | Process::Redirect), (IO::FileDescriptor | Process::Redirect), Nil>:Nil
  from Process::new<String, Array(String), Nil, Bool, Bool, Process::Redirect, Process::Redirect, Process::Redirect, Nil>:Process
  from Crystal::Command#execute<String, Array(String), Crystal::Compiler>:NoReturn
  from Crystal::Command#run:(Bool | Crystal::Compiler::Result | Nil)
  from main

no 3 (reproducible on every run):

$ crystal spec

BUG: trying to assign Exception+:Class <- (ArgumentError:Class | IO::EOFError:Class) (Exception)
  from Crystal::CodeGenVisitor#assign<LLVM::Value, Crystal::Type+, Crystal::Type+, LLVM::Value>:(Bool | LLVM::Value | Nil)
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#codegen_cond<Crystal::ASTNode+>:LLVM::Value
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#codegen_fun<String, Crystal::Def+, Crystal::Type+, Bool, Crystal::CodeGenVisitor::ModuleInfo, Bool, Bool>:LLVM::Function
  from Crystal::CodeGenVisitor#target_def_fun<Crystal::Def+, Crystal::Type+>:LLVM::Function
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#codegen_fun<String, Crystal::Def+, Crystal::Type+, Bool, Crystal::CodeGenVisitor::ModuleInfo, Bool, Bool>:LLVM::Function
  from Crystal::CodeGenVisitor#target_def_fun<Crystal::Def+, Crystal::Type+>:LLVM::Function
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#codegen_cond<Crystal::ASTNode+>:LLVM::Value
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#codegen_fun<String, Crystal::Def+, Crystal::Type+, Bool, Crystal::CodeGenVisitor::ModuleInfo, Bool, Bool>:LLVM::Function
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#codegen_fun<String, Crystal::Def+, Crystal::Type+, Bool, Crystal::CodeGenVisitor::ModuleInfo, Bool, Bool>:LLVM::Function
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#codegen_fun<String, Crystal::Def+, Crystal::Type+, Bool, Crystal::CodeGenVisitor::ModuleInfo, Bool, Bool>:LLVM::Function
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::CodeGenVisitor#visit<Crystal::Call>:Bool
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::CodeGenVisitor>:Nil
  from Crystal::Compiler#codegen<Crystal::Program, Crystal::ASTNode+, Array(Crystal::Compiler::Source), String>:(Tuple(Array(Crystal::Compiler::CompilationUnit), Array(String)) | Nil)
  from Crystal::Compiler#compile<Array(Crystal::Compiler::Source), String>:Crystal::Compiler::Result
  from Crystal::Command#run:(Bool | Crystal::Compiler::Result | Nil)
  from main

Crystal version:

$ crystal -v

Crystal 0.25.1 (2018-06-29)

LLVM: 5.0.2
Default target: x86_64-apple-macosx
@asterite
Copy link
Member

It works fine for me, I just upgraded to 0.25.1 and I'm on a Mac.

@asterite
Copy link
Member

Where are you running crystal spec? What's the source code?

@Sija
Copy link
Contributor Author

Sija commented Jun 29, 2018

It works fine for me, I just upgraded to 0.25.1 and I'm on a Mac.

Perhaps it was related to cache (which got rebuild on 2nd run?), previous binaries or sth like that. Still, it shouldn't segfault though.

Where are you running crystal spec? What's the source code?

no 1: raven.cr
no 2: money
no 3: retriable.cr

@matiasgarciaisaia
Copy link
Member

raven.cr spec's are running good for me on Sierra.

Do you happen to be using OS X El Capitan? We have been having some issues there.

@Sija
Copy link
Contributor Author

Sija commented Jun 29, 2018

Do you happen to be using OS X El Capitan? We have been having some issues there.

Yes, I do (10.11.6).

@matiasgarciaisaia
Copy link
Member

😞

We've been discussing El Capitan on Homebrew/homebrew-core#29527. It seems things weren't that well anyways.

We should follow up on crystal-lang/distribution-scripts#14

@RX14
Copy link
Contributor

RX14 commented Jun 29, 2018

have you tried rm -Rf ~/.cache/crystal?

@Sija
Copy link
Contributor Author

Sija commented Jun 30, 2018

@RX14 yep, it "fixes" 2 out of 3 errors I've posted, the last one still remains.

@Sija
Copy link
Contributor Author

Sija commented Jul 1, 2018

With master (#6261 ty) we have some different backtrace, if that helps:

$ ../crystal/bin/crystal spec

Using compiled compiler at `.build/crystal'
BUG: trying to assign Exception+:Class <- (ArgumentError:Class | IO::EOFError:Class)
/Users/sija/Code/crystal/src/compiler/crystal/codegen/cast.cr:275:5 in 'assign_distinct'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/cast.cr:85:7 in 'assign'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:1436:17 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:814:20 in 'codegen_cond'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:807:12 in 'codegen_cond_branch'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:751:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:68:5 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:286:13 in 'codegen_call_with_block'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:32:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:286:13 in 'codegen_call_with_block'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:32:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:378:11 in 'codegen_dispatch'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:15:7 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:732:12 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:741:12 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:741:12 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:741:12 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:764:7 in 'codegen_if_branch'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:756:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:741:12 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:140:9 in 'codegen_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:51:3 in 'codegen_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:8:54 in 'target_def_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:408:12 in 'codegen_call'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:35:7 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:818:7 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:140:9 in 'codegen_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:51:3 in 'codegen_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:8:54 in 'target_def_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:408:12 in 'codegen_call'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:35:7 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:764:7 in 'codegen_if_branch'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:755:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:814:20 in 'codegen_cond'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:807:12 in 'codegen_cond_branch'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:751:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/exception.cr:68:5 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:68:5 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:791:11 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:286:13 in 'codegen_call_with_block'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:32:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:286:13 in 'codegen_call_with_block'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:32:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:68:5 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/exception.cr:88:7 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:286:13 in 'codegen_call_with_block'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:32:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:140:9 in 'codegen_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:51:3 in 'codegen_fun:fun_module_info:is_fun_literal:is_closure'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:523:17 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:296:5 in 'codegen_call_with_block_as_fun_literal'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:30:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:140:9 in 'codegen_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:51:3 in 'codegen_fun:fun_module_info:is_fun_literal:is_closure'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:523:17 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:296:5 in 'codegen_call_with_block_as_fun_literal'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:30:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:140:9 in 'codegen_fun'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/fun.cr:51:3 in 'codegen_fun:fun_module_info:is_fun_literal:is_closure'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:523:17 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:296:5 in 'codegen_call_with_block_as_fun_literal'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/call.cr:30:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:387:17 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:592:9 in 'visit'
/Users/sija/Code/crystal/src/compiler/crystal/syntax/visitor.cr:27:12 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:2048:7 in 'accept'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:65:7 in 'codegen'
/Users/sija/Code/crystal/src/compiler/crystal/codegen/codegen.cr:63:5 in 'codegen:debug:single_module'
/Users/sija/Code/crystal/src/compiler/crystal/compiler.cr:22:7 in 'codegen'
/Users/sija/Code/crystal/src/compiler/crystal/compiler.cr:145:16 in 'compile'
/Users/sija/Code/crystal/src/compiler/crystal/command/spec.cr:74:14 in 'spec'
/Users/sija/Code/crystal/src/compiler/crystal/command.cr:90:7 in 'run'
/Users/sija/Code/crystal/src/compiler/crystal/command.cr:48:5 in 'run'
/Users/sija/Code/crystal/src/compiler/crystal/command.cr:47:3 in 'run'
/Users/sija/Code/crystal/src/compiler/crystal.cr:8:1 in '__crystal_main'
/Users/sija/Code/crystal/src/crystal/main.cr:104:5 in 'main_user_code'
/Users/sija/Code/crystal/src/crystal/main.cr:93:7 in 'main'
/Users/sija/Code/crystal/src/crystal/main.cr:133:3 in 'main'

Error: you've found a bug in the Crystal compiler. Please open an issue, including source code that will allow us to reproduce the bug: https://github.com/crystal-lang/crystal/issues

@RX14
Copy link
Contributor

RX14 commented Jul 1, 2018

Note: you need to use the develop branch of retriable.cr to reproduce

but this does reproduce on all platforms.

@RX14 RX14 changed the title Issues with Crystal 0.25.1 on macOS ICE: trying to assign Exception+:Class <- (ArgumentError:Class | IO::EOFError:Class) Jul 1, 2018
@RX14 RX14 added topic:compiler breaking-change kind:bug A bug in the code. Does not apply to documentation, specs, etc. and removed breaking-change labels Jul 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:bug A bug in the code. Does not apply to documentation, specs, etc. topic:compiler
Projects
None yet
Development

No branches or pull requests

4 participants