exercism / go-test-runner

GNU Affero General Public License v3.0
15 stars 17 forks source link

Test runner does not handle stack overflow correctly #63

Closed bitfield closed 2 years ago

bitfield commented 2 years ago

Solution ec84829229e74e1da9828f67823637c9 to 'Tree Building' is not correct, but the test runner shows a pass. Running the tests on my machine produces:

runtime: goroutine stack exceeds 1000000000-byte limit
runtime: sp=0xc020480380 stack=[0xc020480000, 0xc040480000]
fatal error: stack overflow

runtime stack:
runtime.throw({0x1123e73?, 0x11eb3e0?})
    /usr/local/go/src/runtime/panic.go:992 +0x71
runtime.newstack()
    /usr/local/go/src/runtime/stack.go:1101 +0x5cc
runtime.morestack()
    /usr/local/go/src/runtime/asm_amd64.s:547 +0x8b

goroutine 8 [running]:
runtime.assertE2I2(0x1108a40?, {0x10fefa0?, 0xc008b85110?})
    /usr/local/go/src/runtime/iface.go:456 +0x78 fp=0xc020480390 sp=0xc020480388 pc=0x100a8f8
fmt.(*pp).handleMethods(0xc008b8ed00, 0x0?)
    /usr/local/go/src/fmt/print.go:590 +0xdc fp=0xc0204805e0 sp=0xc020480390 pc=0x109ddbc
fmt.(*pp).printArg(0xc008b8ed00, {0x10fefa0?, 0xc008b85110}, 0x73)
    /usr/local/go/src/fmt/print.go:709 +0x693 fp=0xc020480680 sp=0xc0204805e0 pc=0x109eb93
fmt.(*pp).doPrintf(0xc008b8ed00, {0x1122146, 0x5}, {0xc020480810?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020480778 sp=0xc020480680 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020480810, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc0204807d0 sp=0xc020480778 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc020480840 sp=0xc0204807d0 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8ec30, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020480a90 sp=0xc020480840 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8ec30, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020480c78 sp=0xc020480a90 pc=0x109edba
fmt.(*pp).printValue(0xc008b8ec30, {0x10fefa0?, 0xc008b850f8?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020480e60 sp=0xc020480c78 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8ec30, {0x10fefa0?, 0xc008b850f8}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020480f00 sp=0xc020480e60 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8ec30, {0x1122146, 0x5}, {0xc020481090?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020480ff8 sp=0xc020480f00 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020481090, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020481050 sp=0xc020480ff8 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc0204810c0 sp=0xc020481050 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8eb60, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020481310 sp=0xc0204810c0 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8eb60, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc0204814f8 sp=0xc020481310 pc=0x109edba
fmt.(*pp).printValue(0xc008b8eb60, {0x10fefa0?, 0xc008b850e0?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc0204816e0 sp=0xc0204814f8 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8eb60, {0x10fefa0?, 0xc008b850e0}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020481780 sp=0xc0204816e0 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8eb60, {0x1122146, 0x5}, {0xc020481910?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020481878 sp=0xc020481780 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020481910, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc0204818d0 sp=0xc020481878 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc020481940 sp=0xc0204818d0 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8ea90, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020481b90 sp=0xc020481940 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8ea90, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020481d78 sp=0xc020481b90 pc=0x109edba
fmt.(*pp).printValue(0xc008b8ea90, {0x10fefa0?, 0xc008b850c8?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020481f60 sp=0xc020481d78 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8ea90, {0x10fefa0?, 0xc008b850c8}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020482000 sp=0xc020481f60 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8ea90, {0x1122146, 0x5}, {0xc020482190?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc0204820f8 sp=0xc020482000 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020482190, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020482150 sp=0xc0204820f8 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc0204821c0 sp=0xc020482150 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e9c0, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020482410 sp=0xc0204821c0 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e9c0, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc0204825f8 sp=0xc020482410 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e9c0, {0x10fefa0?, 0xc008b850b0?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc0204827e0 sp=0xc0204825f8 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e9c0, {0x10fefa0?, 0xc008b850b0}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020482880 sp=0xc0204827e0 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e9c0, {0x1122146, 0x5}, {0xc020482a10?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020482978 sp=0xc020482880 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020482a10, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc0204829d0 sp=0xc020482978 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc020482a40 sp=0xc0204829d0 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e8f0, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020482c90 sp=0xc020482a40 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e8f0, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020482e78 sp=0xc020482c90 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e8f0, {0x10fefa0?, 0xc008b85098?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020483060 sp=0xc020482e78 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e8f0, {0x10fefa0?, 0xc008b85098}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020483100 sp=0xc020483060 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e8f0, {0x1122146, 0x5}, {0xc020483290?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc0204831f8 sp=0xc020483100 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020483290, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020483250 sp=0xc0204831f8 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc0204832c0 sp=0xc020483250 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e820, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020483510 sp=0xc0204832c0 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e820, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc0204836f8 sp=0xc020483510 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e820, {0x10fefa0?, 0xc008b85080?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc0204838e0 sp=0xc0204836f8 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e820, {0x10fefa0?, 0xc008b85080}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020483980 sp=0xc0204838e0 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e820, {0x1122146, 0x5}, {0xc020483b10?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020483a78 sp=0xc020483980 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020483b10, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020483ad0 sp=0xc020483a78 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc020483b40 sp=0xc020483ad0 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e750, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020483d90 sp=0xc020483b40 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e750, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020483f78 sp=0xc020483d90 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e750, {0x10fefa0?, 0xc008b85068?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020484160 sp=0xc020483f78 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e750, {0x10fefa0?, 0xc008b85068}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020484200 sp=0xc020484160 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e750, {0x1122146, 0x5}, {0xc020484390?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc0204842f8 sp=0xc020484200 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020484390, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020484350 sp=0xc0204842f8 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc0204843c0 sp=0xc020484350 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e680, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020484610 sp=0xc0204843c0 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e680, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc0204847f8 sp=0xc020484610 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e680, {0x10fefa0?, 0xc008b85050?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc0204849e0 sp=0xc0204847f8 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e680, {0x10fefa0?, 0xc008b85050}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020484a80 sp=0xc0204849e0 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e680, {0x1122146, 0x5}, {0xc020484c10?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020484b78 sp=0xc020484a80 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020484c10, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020484bd0 sp=0xc020484b78 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc020484c40 sp=0xc020484bd0 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e5b0, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020484e90 sp=0xc020484c40 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e5b0, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020485078 sp=0xc020484e90 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e5b0, {0x10fefa0?, 0xc008b85038?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020485260 sp=0xc020485078 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e5b0, {0x10fefa0?, 0xc008b85038}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020485300 sp=0xc020485260 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e5b0, {0x1122146, 0x5}, {0xc020485490?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc0204853f8 sp=0xc020485300 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020485490, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020485450 sp=0xc0204853f8 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc0204854c0 sp=0xc020485450 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e4e0, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020485710 sp=0xc0204854c0 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e4e0, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc0204858f8 sp=0xc020485710 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e4e0, {0x10fefa0?, 0xc008b85020?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020485ae0 sp=0xc0204858f8 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e4e0, {0x10fefa0?, 0xc008b85020}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020485b80 sp=0xc020485ae0 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e4e0, {0x1122146, 0x5}, {0xc020485d10?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020485c78 sp=0xc020485b80 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020485d10, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020485cd0 sp=0xc020485c78 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc020485d40 sp=0xc020485cd0 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e410, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020485f90 sp=0xc020485d40 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e410, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020486178 sp=0xc020485f90 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e410, {0x10fefa0?, 0xc008b85008?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020486360 sp=0xc020486178 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e410, {0x10fefa0?, 0xc008b85008}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020486400 sp=0xc020486360 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e410, {0x1122146, 0x5}, {0xc020486590?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc0204864f8 sp=0xc020486400 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020486590, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020486550 sp=0xc0204864f8 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc0204865c0 sp=0xc020486550 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e340, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020486810 sp=0xc0204865c0 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e340, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc0204869f8 sp=0xc020486810 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e340, {0x10fefa0?, 0xc008b84ff0?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020486be0 sp=0xc0204869f8 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e340, {0x10fefa0?, 0xc008b84ff0}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020486c80 sp=0xc020486be0 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e340, {0x1122146, 0x5}, {0xc020486e10?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc020486d78 sp=0xc020486c80 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020486e10, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020486dd0 sp=0xc020486d78 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc020486e40 sp=0xc020486dd0 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e270, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020487090 sp=0xc020486e40 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e270, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020487278 sp=0xc020487090 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e270, {0x10fefa0?, 0xc008b84fd8?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020487460 sp=0xc020487278 pc=0x10a048e
fmt.(*pp).printArg(0xc008b8e270, {0x10fefa0?, 0xc008b84fd8}, 0x73)
    /usr/local/go/src/fmt/print.go:712 +0x74c fp=0xc020487500 sp=0xc020487460 pc=0x109ec4c
fmt.(*pp).doPrintf(0xc008b8e270, {0x1122146, 0x5}, {0xc020487690?, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:1026 +0x288 fp=0xc0204875f8 sp=0xc020487500 pc=0x10a1448
fmt.Sprintf({0x1122146, 0x5}, {0xc020487690, 0x2, 0x2})
    /usr/local/go/src/fmt/print.go:219 +0x59 fp=0xc020487650 sp=0xc0204875f8 pc=0x109b979
tree.Node.String(...)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:245
tree.(*Node).String(0x0?)
    <autogenerated>:1 +0xb9 fp=0xc0204876c0 sp=0xc020487650 pc=0x10f4239
fmt.(*pp).handleMethods(0xc008b8e1a0, 0xe038?)
    /usr/local/go/src/fmt/print.go:626 +0x30b fp=0xc020487910 sp=0xc0204876c0 pc=0x109dfeb
fmt.(*pp).printValue(0xc008b8e1a0, {0x11064e0?, 0xc00000e038?, 0x0?}, 0x73, 0x1)
    /usr/local/go/src/fmt/print.go:723 +0xda fp=0xc020487af8 sp=0xc020487910 pc=0x109edba
fmt.(*pp).printValue(0xc008b8e1a0, {0x10fefa0?, 0xc008b84fc0?, 0x203002?}, 0x73, 0x0)
    /usr/local/go/src/fmt/print.go:865 +0x17ae fp=0xc020487ce0 sp=0xc020487af8 pc=0x10a048e
created by testing.(*T).Run
    /usr/local/go/src/testing/testing.go:1457 +0x35f

goroutine 1 [chan receive]:
testing.(*T).Run(0xc0001104e0, {0x1124ef7?, 0x993eb0364f35?}, 0x112ce98)
    /usr/local/go/src/testing/testing.go:1458 +0x37a
testing.runTests.func1(0xc0001104e0?)
    /usr/local/go/src/testing/testing.go:1810 +0x6e
testing.tRunner(0xc0001104e0, 0xc000074cd8)
    /usr/local/go/src/testing/testing.go:1410 +0x102
testing.runTests(0xc000108140?, {0x11fad40, 0x2, 0x2}, {0x1270108?, 0x40?, 0x1203180?})
    /usr/local/go/src/testing/testing.go:1808 +0x457
testing.(*M).Run(0xc000108140)
    /usr/local/go/src/testing/testing.go:1690 +0x5d9
main.main()
    _testmain.go:55 +0x1aa

goroutine 6 [chan receive]:
testing.(*T).Run(0xc000110680, {0x11229f6?, 0x105f7dc?}, 0xc000058530)
    /usr/local/go/src/testing/testing.go:1458 +0x37a
tree.TestMakeTreeSuccess(0x0?)
    /Users/john/git/bitfield/exercism/users/regul4rj0hn/go/tree-building/tree_building_test.go:250 +0xf9
testing.tRunner(0xc000110680, 0x112ce98)
    /usr/local/go/src/testing/testing.go:1410 +0x102
created by testing.(*T).Run
    /usr/local/go/src/testing/testing.go:1457 +0x35f
andrerfcsantos commented 2 years ago

Hi @bitfield

Can you post the code of the solution that gives that result here please? I don't think we can access it just with the uuid.

junedev commented 2 years ago

@andrerfcsantos I guessed the URL: https://exercism.org/tracks/go/exercises/tree-building/solutions/ec84829229e74e1da9828f67823637c9

bitfield commented 2 years ago

Thanks! I don't know how to get that URL from the exercise itself. Is there an easy way?

junedev commented 2 years ago

@bitfield I don't think there is any way to get this URL from the mentoring screen and building the URL like I did above probably only works when the student actually published the solution. So the best way to report an issue would be to include the solution in the issue description in the future. There is a copy button next to the download button in the mentoring screen.

junedev commented 2 years ago

I investigated this. Normal recoverable panics are handled just fine but this is a fatal runtime error because of the stack overflow. That is not handled correctly by the test runner. I fixed this now.