Skip to content

Invalid memory access caused by Spectator, should it be removed? #29

@wout

Description

@wout

I'm preparing a PR on this shard to fix a few hanging issues, but I'm running into the following error after running crystal spec:

Invalid memory access (signal 11) at address 0x0
[0x55c25cc05796] *Exception::CallStack::print_backtrace:Nil +118 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cbe3556] ~procProc(Int32, Pointer(LibC::SiginfoT), Pointer(Void), Nil) +310 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x7f358d842520] ?? +139867984241952 in /lib/x86_64-linux-gnu/libc.so.6
[0x55c25cc20f2d] *String#==<String>:Bool +45 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25ce3ccfc] *Spectator::Matchers::EqualityMatcher(String) +76 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25ce3cb8d] *Spectator::Matchers::EqualityMatcher(String) +45 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25ceb2e3d] *Spectator::Expectation::Target(String | Nil) +45 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25ceb2e07] *Spectator::Expectation::Target(String | Nil) +39 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25ce2448b] *SpectatorTestContext::Group__temp_552::Group__temp_596::Group__temp_600#__temp_605:Nil +219 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cbefb9c] ~procProc(Spectator::Example, Nil) +44 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cdc54c5] *Spectator::Example#run_internal:Nil +613 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cbe7429] ~procProc(Nil) +9 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cdd3a31] *Spectator::Example::Procsy#call:Nil +49 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cdc4bff] *Spectator::Example#run:Spectator::Result+ +2591 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cdcf138] *Spectator::Runner#run_example<Spectator::Example>:Spectator::Result+ +72 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cdcf037] *Spectator::Runner#run_examples:Nil +87 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cdced05] *Spectator::Runner#run:Bool +149 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cdcb20a] *Spectator::Spec#run:Bool +298 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cd7ef1b] *Spectator +75 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cbe3cf6] ~procProc(Int32, (Exception | Nil), Nil) +38 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25ccdbdb9] *Crystal::AtExitHandlers::run<Int32, (Exception+ | Nil)>:Int32 +153 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cebd813] *Crystal::exit<Int32, (Exception+ | Nil)>:Int32 +35 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cebd789] *Crystal::main<Int32, Pointer(Pointer(UInt8))>:Int32 +105 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x55c25cbd7a36] main +6 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x7f358d829d90] ?? +139867984141712 in /lib/x86_64-linux-gnu/libc.so.6
[0x7f358d829e40] __libc_start_main +128 in /lib/x86_64-linux-gnu/libc.so.6
[0x55c25cbbff75] _start +37 in /home/wout/.cache/crystal/crystal-run-spec.tmp
[0x0] ???

I've already removed the cache, but that doesn't help. Since the Spectator shard also causes other issues (#14), I wonder if it should be removed for maintainability. Other than the RSpec-like feeling Spectator brings, are there any benefits over Crystal's native testing framework? I wouldn't mind doing it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions