asoffer / Icarus

An experimental general-purpose programming language
Apache License 2.0
9 stars 2 forks source link

Error messages segfault when the error is in an imported module #54

Closed perimosocordiae closed 3 years ago

perimosocordiae commented 3 years ago

I was making edits to a stdlib module, then ran a program that imports it:

*** SIGSEGV received at time=1617071300 on cpu 2 ***
PC: @          0x10acb75  (unknown)  diagnostic::SourceQuote::Highlighted()
    @          0x14afed7         64  absl::WriteFailureInfo()
    @          0x14afbb0        240  absl::AbslFailureSignalHandler()
    @     0x7f133db22bb0  (unknown)  (unknown)
    @          0x10cbf78        240  compiler::(anonymous namespace)::BuiltinError::ToMessage()
    @          0x10cbc69        112  diagnostic::DiagnosticConsumer::Consume<>()
    @          0x10ca12a        976  compiler::(anonymous namespace)::VerifySliceCall()
    @          0x10c92c6       1936  compiler::Compiler::VerifyType()
    @           0xf7d85d         64  compiler::Compiler::Visit()
    @           0xf887c4         80  compiler::Compiler::Visit()
    @           0xf87c94         64  ast::Visitor<>::ErasedVisit()
    @          0x1489e09         64  ast::Call::Accept()
    @           0xf7a0a0         80  ast::Visitor<>::Visit()
    @           0xf79fd4         48  compiler::Compiler::VerifyType()
    @          0x11263b8        592  compiler::Compiler::VerifyArguments()
    @          0x10c9136       1936  compiler::Compiler::VerifyType()
    @           0xf7d85d         64  compiler::Compiler::Visit()
    @           0xf887c4         80  compiler::Compiler::Visit()
    @           0xf87c94         64  ast::Visitor<>::ErasedVisit()
    @          0x1489e09         64  ast::Call::Accept()
    @           0xf7a0a0         80  ast::Visitor<>::Visit()
    @           0xf79fd4         48  compiler::Compiler::VerifyType()
    @          0x10c785d        608  compiler::Compiler::VerifyType()
    @          0x111077f       1312  compiler::Compiler::VerifyType()
    @           0xf7e43d         64  compiler::Compiler::Visit()
    @           0xf88db4         80  compiler::Compiler::Visit()
    @           0xf88284         64  ast::Visitor<>::ErasedVisit()
    @          0x148aacc         64  ast::ScopeNode::Accept()
    @           0xf7a0a0         80  ast::Visitor<>::Visit()
    @           0xf79fd4         48  compiler::Compiler::VerifyType()
    @          0x10efa62        352  compiler::(anonymous namespace)::VerifyBodyOnly()
    @          0x10f05a3        656  compiler::Compiler::VerifyBody()
    @          0x10991e0        432  compiler::WorkItem::Process()
    @ ... and at least 39 more frames
[1]    235903 segmentation fault (core dumped)  ./bazel-bin/compiler/interpret --module_paths stdlib examples/file.ic

Without debugging at all, my assumption is that somehow the logic for accessing the source file for highlighting isn't finding it.

perimosocordiae commented 3 years ago

I think this is actually fixed now, so I'll close it until it rears its head again.