Closed tliron closed 3 years ago
Panic example:
fatal error: concurrent map iteration and map write goroutine 49 [running]: runtime.throw(0xccd945, 0x26) /Depot/Applications/go/src/runtime/panic.go:1117 +0x72 fp=0xc0007e92e0 sp=0xc0007e92b0 pc=0x43ad92 runtime.mapiternext(0xc000336900) /Depot/Applications/go/src/runtime/map.go:858 +0x54c fp=0xc0007e9360 sp=0xc0007e92e0 pc=0x41370c runtime.mapiterinit(0xbf8600, 0xc00050eb40, 0xc000336900) /Depot/Applications/go/src/runtime/map.go:848 +0x1c5 fp=0xc0007e9380 sp=0xc0007e9360 pc=0x4130c5 reflect.mapiterinit(0xbf8600, 0xc00050eb40, 0x0) /Depot/Applications/go/src/runtime/map.go:1340 +0x54 fp=0xc0007e93b0 sp=0xc0007e9380 pc=0x46dc34 reflect.Value.MapKeys(0xbf8600, 0xc000150028, 0x195, 0xbd76a3, 0x13, 0xbf8600) /Depot/Applications/go/src/reflect/value.go:1215 +0xc7 fp=0xc0007e9440 sp=0xc0007e93b0 pc=0x4e4227 github.com/tliron/puccini/tosca/parser.(*InheritContext).GetDependencies(0xc0000dc180, 0xc05620, 0xc000150000, 0xc000fafe58) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:111 +0x2e5 fp=0xc0007e95a0 sp=0xc0007e9440 pc=0xb24c85 github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc0000dc180, 0xc05620, 0xc000150000, 0xc000c4c660) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:48 +0x245 fp=0xc0007e96d8 sp=0xc0007e95a0 pc=0xb24545 github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc0000dc180, 0xc48d20, 0xc00041e880, 0xc000336648) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:49 +0x2bc fp=0xc0007e9810 sp=0xc0007e96d8 pc=0xb245bc github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc0000dc180, 0xc05ee0, 0xc000391970, 0xc000391970) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:49 +0x2bc fp=0xc0007e9948 sp=0xc0007e9810 pc=0xb245bc github.com/tliron/puccini/tosca/parser.(*Context).GetInheritTasks.func1(0xc05ee0, 0xc000391970, 0x0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:16 +0x3e fp=0xc0007e9978 sp=0xc0007e9948 pc=0xb291fe github.com/tliron/puccini/tosca/parser.(*Context).Traverse.func1(0xc05ee0, 0xc000391970, 0xc000528000) /Depot/Projects/RedHat/puccini/tosca/parser/work.go:28 +0x112 fp=0xc0007e99f0 sp=0xc0007e9978 pc=0xb29712 github.com/tliron/kutil/reflection.Traverse(0xc05ee0, 0xc000391970, 0xc0007e9bb0) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:16 +0x8c fp=0xc0007e9b70 sp=0xc0007e99f0 pc=0xa8c18c github.com/tliron/puccini/tosca/parser.(*Context).Traverse(0xc000398090, 0xe0c268, 0xc001179c20, 0xc0007e9cf8) /Depot/Projects/RedHat/puccini/tosca/parser/work.go:32 +0x125 fp=0xc0007e9cb8 sp=0xc0007e9b70 pc=0xb28825 github.com/tliron/puccini/tosca/parser.(*Context).GetInheritTasks(0xc000398090, 0xc0007e9da0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:15 +0xf1 fp=0xc0007e9d18 sp=0xc0007e9cb8 pc=0xb24291 github.com/tliron/puccini/tosca/parser.Parse(0xe09bd8, 0xc00039a000, 0x0, 0x0, 0x0, 0x0, 0x0, 0xefb156, 0x2d, 0x438, ...) /Depot/Projects/RedHat/puccini/tosca/parser/parse.go:39 +0x34a fp=0xc0007e9e78 sp=0xc0007e9d18 pc=0xb1ffea github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00028e480) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:84 +0x1d2 fp=0xc0007e9f80 sp=0xc0007e9e78 pc=0xb32152 testing.tRunner(0xc00028e480, 0xc000153b00) /Depot/Applications/go/src/testing/testing.go:1193 +0xef fp=0xc0007e9fd0 sp=0xc0007e9f80 pc=0x5231af runtime.goexit() /Depot/Applications/go/src/runtime/asm_amd64.s:1371 +0x1 fp=0xc0007e9fd8 sp=0xc0007e9fd0 pc=0x4741c1 created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 1 [chan receive]: testing.(*T).Run(0xc000102900, 0xcb6f34, 0x9, 0xd43a38, 0x4975e6) /Depot/Applications/go/src/testing/testing.go:1239 +0x2da testing.runTests.func1(0xc000102780) /Depot/Applications/go/src/testing/testing.go:1511 +0x78 testing.tRunner(0xc000102780, 0xc00019fde0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef testing.runTests(0xc00013c828, 0x11fff40, 0x1, 0x1, 0xc029f8282701224f, 0x254238d63, 0x1390b60, 0xcb9a5e) /Depot/Applications/go/src/testing/testing.go:1509 +0x2fe testing.(*M).Run(0xc000209c80, 0x0) /Depot/Applications/go/src/testing/testing.go:1417 +0x1eb main.main() _testmain.go:43 +0x138 goroutine 19 [chan receive]: testing.tRunner.func1(0xc000102900) /Depot/Applications/go/src/testing/testing.go:1159 +0x2bc testing.tRunner(0xc000102900, 0xd43a38) /Depot/Applications/go/src/testing/testing.go:1197 +0x125 created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 20 [runnable]: reflect.name.tag(0xb6ec44, 0xc0002488d0, 0x18) /Depot/Applications/go/src/reflect/type.go:502 +0x85 reflect.(*structType).Field(0xc75720, 0x4, 0xb6ec47, 0xb, 0x0, 0x0, 0xe0f3e8, 0xc05e40, 0x0, 0x0, ...) /Depot/Applications/go/src/reflect/type.go:1197 +0x116 reflect.(*structType).FieldByName(0xc75720, 0xb6ec47, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /Depot/Applications/go/src/reflect/type.go:1353 +0x1b7 reflect.(*rtype).FieldByName(0xc75720, 0xb6ec47, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /Depot/Applications/go/src/reflect/type.go:939 +0xda reflect.Value.FieldByName(0xc75720, 0xc000830b00, 0x199, 0xb6ec47, 0xb, 0x0, 0xc000830b00, 0x196) /Depot/Applications/go/src/reflect/value.go:904 +0xa5 github.com/tliron/kutil/reflection.Traverse(0xc60b20, 0xc000830b00, 0xc000b15b80) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:40 +0x354 github.com/tliron/kutil/reflection.Traverse(0xbf1880, 0xc00037c120, 0xc000b15b80) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:58 +0x5cf github.com/tliron/puccini/tosca.NewHierarchyFor(0xbf1880, 0xc00037c120, 0xc000b15da0, 0xb) /Depot/Projects/RedHat/puccini/tosca/hierarchy.go:61 +0xb5 github.com/tliron/puccini/tosca/parser.(*Unit).MergeHierarchies(0xc00041e680, 0xc000b15da0, 0xc00012be00) /Depot/Projects/RedHat/puccini/tosca/parser/phase3-hierarchies.go:24 +0x248 github.com/tliron/puccini/tosca/parser.(*Unit).MergeHierarchies(0xc0002ae940, 0xc000b15da0, 0xc00012be00) /Depot/Projects/RedHat/puccini/tosca/parser/phase3-hierarchies.go:19 +0xfe github.com/tliron/puccini/tosca/parser.(*Context).AddHierarchies(...) /Depot/Projects/RedHat/puccini/tosca/parser/phase3-hierarchies.go:9 github.com/tliron/puccini/tosca/parser.Parse(0xe09bd8, 0xc00013c840, 0x0, 0x0, 0x0, 0x0, 0x0, 0xefb156, 0x2d, 0x438, ...) /Depot/Projects/RedHat/puccini/tosca/parser/parse.go:36 +0x33c github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000102c00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:84 +0x1d2 testing.tRunner(0xc000102c00, 0xc000153740) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 21 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000102f00) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000102f00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000102f00, 0xc000153760) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 22 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000103200) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000103200) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000103200, 0xc000153780) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 23 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000103500) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000103500) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000103500, 0xc0001537c0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 24 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000103800) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000103800) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000103800, 0xc0001537e0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 25 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000103b00) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000103b00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000103b00, 0xc000153800) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 26 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000103e00) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000103e00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000103e00, 0xc000153820) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 27 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000270180) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000270180) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000270180, 0xc000153840) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 28 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000270480) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000270480) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000270480, 0xc000153860) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 29 [runnable]: fmt.(*pp).doPrintf(0xc000e50a90, 0xcc0ee7, 0x17, 0xc000733510, 0x2, 0x2) /Depot/Applications/go/src/fmt/print.go:974 +0x124b fmt.Sprintf(0xcc0ee7, 0x17, 0xc000733510, 0x2, 0x2, 0x10, 0xc000b316f0) /Depot/Applications/go/src/fmt/print.go:219 +0x66 github.com/tliron/kutil/logging.SubLogger.Debugf(0xe0c178, 0xc0001bd8c0, 0xcb8668, 0xb, 0xcb621c, 0x7, 0xcc0ee7, 0x17, 0xc000733510, 0x2, ...) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/logging/logger.go:103 +0x74 github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc00000f0b0, 0xc489a0, 0xc00012d7c0, 0xc000dadb90) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:56 +0x5d2 github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc00000f0b0, 0xc489a0, 0xc000751b80, 0xc0004b7c08) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:49 +0x2bc github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc00000f0b0, 0xc48fc0, 0xc000365040, 0xc0006f99c8) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:49 +0x2bc github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc00000f0b0, 0xc05ee0, 0xc000582730, 0xc000582730) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:49 +0x2bc github.com/tliron/puccini/tosca/parser.(*Context).GetInheritTasks.func1(0xc05ee0, 0xc000582730, 0x0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:16 +0x3e github.com/tliron/puccini/tosca/parser.(*Context).Traverse.func1(0xc05ee0, 0xc000582730, 0xc00015c630) /Depot/Projects/RedHat/puccini/tosca/parser/work.go:28 +0x112 github.com/tliron/kutil/reflection.Traverse(0xc05ee0, 0xc000582730, 0xc000733bb0) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:16 +0x8c github.com/tliron/puccini/tosca/parser.(*Context).Traverse(0xc00058a090, 0xe0c268, 0xc000b09680, 0xc000733cf8) /Depot/Projects/RedHat/puccini/tosca/parser/work.go:32 +0x125 github.com/tliron/puccini/tosca/parser.(*Context).GetInheritTasks(0xc00058a090, 0xc000733da0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:15 +0xf1 github.com/tliron/puccini/tosca/parser.Parse(0xe09bd8, 0xc00058c000, 0x0, 0x0, 0x0, 0x0, 0x0, 0xefb156, 0x2d, 0x438, ...) /Depot/Projects/RedHat/puccini/tosca/parser/parse.go:39 +0x34a github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000270780) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:84 +0x1d2 testing.tRunner(0xc000270780, 0xc000153880) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 30 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000270a80) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000270a80) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000270a80, 0xc0001538a0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 31 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000270d80) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000270d80) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000270d80, 0xc0001538c0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 32 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000271080) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000271080) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000271080, 0xc0001538e0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 33 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000271380) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000271380) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000271380, 0xc000153900) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 34 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000271680) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000271680) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000271680, 0xc000153920) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 35 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000271980) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000271980) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000271980, 0xc000153940) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 36 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc000271c80) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc000271c80) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc000271c80, 0xc000153960) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 37 [runnable]: reflect.copyVal(0xb9d060, 0x18, 0xc000392c48, 0xc0008b4090, 0xc000b19a50, 0xc000b19a60) /Depot/Applications/go/src/reflect/value.go:1305 +0xb2 reflect.Value.MapKeys(0xbf8600, 0xc00039f848, 0x195, 0xc000b8c0d0, 0xc000b19b58, 0x47cf45) /Depot/Applications/go/src/reflect/value.go:1226 +0x165 github.com/tliron/puccini/tosca/parser.(*InheritField).InheritStructsFromMap(0xc000235d50) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:263 +0x56 github.com/tliron/puccini/tosca/parser.(*InheritField).Inherit(0xc000235d50) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:161 +0x1d5 github.com/tliron/puccini/tosca/parser.(*InheritContext).NewExecutor.func1(0xc000753440) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:72 +0x1d5 github.com/tliron/puccini/tosca/parser.(*Task).Execute(...) /Depot/Projects/RedHat/puccini/tosca/parser/tasks.go:38 github.com/tliron/puccini/tosca/parser.Tasks.Drain(0xc0003f6510) /Depot/Projects/RedHat/puccini/tosca/parser/tasks.go:125 +0xf2 github.com/tliron/puccini/tosca/parser.Parse(0xe09bd8, 0xc00000e018, 0x0, 0x0, 0x0, 0x0, 0x0, 0xefb156, 0x2d, 0x438, ...) /Depot/Projects/RedHat/puccini/tosca/parser/parse.go:40 +0x358 github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027e000) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:84 +0x1d2 testing.tRunner(0xc00027e000, 0xc000153980) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 38 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00027e300) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027e300) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00027e300, 0xc0001539a0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 39 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00027e600) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027e600) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00027e600, 0xc0001539c0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 40 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00027e900) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027e900) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00027e900, 0xc0001539e0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 41 [runnable]: reflect.StructTag.Lookup(0xb71b82, 0x1e, 0xcb56b5, 0x6, 0x0, 0x0, 0xc000671600) /Depot/Applications/go/src/reflect/type.go:1131 +0x258 github.com/tliron/kutil/reflection.Traverse(0xc05620, 0xc0006716c0, 0xc000737ce0) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:36 +0x308 github.com/tliron/kutil/reflection.Traverse(0xc48d20, 0xc000678400, 0xc000737ce0) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:66 +0x75c github.com/tliron/kutil/reflection.Traverse(0xc05ee0, 0xc000490320, 0xc000737ce0) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:58 +0x5cf github.com/tliron/puccini/tosca/parser.Render(0xc05ee0, 0xc000490320, 0x0, 0xc000737d90, 0x0) /Depot/Projects/RedHat/puccini/tosca/parser/phase5-rendering.go:24 +0x6f github.com/tliron/puccini/tosca/parser.(*Context).Render(...) /Depot/Projects/RedHat/puccini/tosca/parser/phase5-rendering.go:9 github.com/tliron/puccini/tosca/parser.Parse(0xe09bd8, 0xc0004a6000, 0x0, 0x0, 0x0, 0x0, 0x0, 0xefb156, 0x2d, 0x438, ...) /Depot/Projects/RedHat/puccini/tosca/parser/parse.go:45 +0x3a5 github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027ec00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:84 +0x1d2 testing.tRunner(0xc00027ec00, 0xc000153a00) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 42 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00027ef00) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027ef00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00027ef00, 0xc000153a20) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 43 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00027f200) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027f200) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00027f200, 0xc000153a40) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 44 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00027f500) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027f500) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00027f500, 0xc000153a60) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 45 [runnable]: reflect.Value.FieldByIndex(0xc7c240, 0xc000365cc0, 0x199, 0xc000628b70, 0x1, 0x1, 0x0, 0xe0f3e8, 0xbf8480) /Depot/Applications/go/src/reflect/value.go:880 +0x370 reflect.Value.FieldByName(0xc7c240, 0xc000365cc0, 0x199, 0xbd6b01, 0x14, 0xc0006b76e0, 0xc17740, 0xc0006b76e0) /Depot/Applications/go/src/reflect/value.go:905 +0x16d github.com/tliron/puccini/tosca/parser.(*InheritContext).GetDependencies(0xc0004a73f8, 0xc48fc0, 0xc000365cc0, 0xc000d38098) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:110 +0x2a9 github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc0004a73f8, 0xc48fc0, 0xc000365cc0, 0xc00009e690) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:48 +0x245 github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc0004a73f8, 0xc48fc0, 0xc000365040, 0xc00050eba0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:49 +0x2bc github.com/tliron/puccini/tosca/parser.(*InheritContext).GetInheritTask(0xc0004a73f8, 0xc05ee0, 0xc0003106e0, 0xc0003106e0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:49 +0x2bc github.com/tliron/puccini/tosca/parser.(*Context).GetInheritTasks.func1(0xc05ee0, 0xc0003106e0, 0x0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:16 +0x3e github.com/tliron/puccini/tosca/parser.(*Context).Traverse.func1(0xc05ee0, 0xc0003106e0, 0xc00032a0d8) /Depot/Projects/RedHat/puccini/tosca/parser/work.go:28 +0x112 github.com/tliron/kutil/reflection.Traverse(0xc05ee0, 0xc0003106e0, 0xc0007e7bb0) /home/emblemparade/go/pkg/mod/github.com/tliron/kutil@v0.1.38/reflection/traverse.go:16 +0x8c github.com/tliron/puccini/tosca/parser.(*Context).Traverse(0xc000320090, 0xe0c268, 0xc00050e780, 0xc0007e7cf8) /Depot/Projects/RedHat/puccini/tosca/parser/work.go:32 +0x125 github.com/tliron/puccini/tosca/parser.(*Context).GetInheritTasks(0xc000320090, 0xc0007e7da0) /Depot/Projects/RedHat/puccini/tosca/parser/phase4-inheritance.go:15 +0xf1 github.com/tliron/puccini/tosca/parser.Parse(0xe09bd8, 0xc000322000, 0x0, 0x0, 0x0, 0x0, 0x0, 0xefb156, 0x2d, 0x438, ...) /Depot/Projects/RedHat/puccini/tosca/parser/parse.go:39 +0x34a github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027f800) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:84 +0x1d2 testing.tRunner(0xc00027f800, 0xc000153a80) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 46 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00027fb00) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027fb00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00027fb00, 0xc000153aa0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 47 [runnable]: github.com/tliron/puccini/tosca.(*ScriptletNamespace).Merge(0xc000bb9320, 0xc0001535e0) /Depot/Projects/RedHat/puccini/tosca/scriptlet.go:161 +0x12b github.com/tliron/puccini/tosca/grammars/tosca_v1_3.ReadServiceTemplate(0xc00084edc0, 0xc0001bd410, 0xcb4a0f) /Depot/Projects/RedHat/puccini/tosca/grammars/tosca_v1_3/service-template.go:22 +0x13b github.com/tliron/puccini/tosca/parser.(*Context).read(0xc00091ebd0, 0x0, 0xc00084edc0, 0x0, 0x0, 0xcb4a0f, 0x5, 0x0, 0x0, 0x0, ...) /Depot/Projects/RedHat/puccini/tosca/parser/phase1-read.go:78 +0x4d4 github.com/tliron/puccini/tosca/parser.(*Context).ReadRoot(0xc00091ebd0, 0xe09bd8, 0xc000322f90, 0x0, 0x0, 0x18) /Depot/Projects/RedHat/puccini/tosca/parser/phase1-read.go:24 +0x2c5 github.com/tliron/puccini/tosca/parser.Parse(0xe09bd8, 0xc000322f90, 0x0, 0x0, 0x0, 0x0, 0x0, 0xefb156, 0x2d, 0x438, ...) /Depot/Projects/RedHat/puccini/tosca/parser/parse.go:18 +0x1a9 github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00027fe00) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:84 +0x1d2 testing.tRunner(0xc00027fe00, 0xc000153ac0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 48 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00028e180) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00028e180) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00028e180, 0xc000153ae0) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 50 [chan receive]: testing.(*testContext).waitParallel(0xc000259400) /Depot/Applications/go/src/testing/testing.go:1296 +0xb2 testing.(*T).Parallel(0xc00028e780) /Depot/Applications/go/src/testing/testing.go:1060 +0x12e github.com/tliron/puccini/puccini-tosca.testCompile.func1(0xc00028e780) /Depot/Projects/RedHat/puccini/puccini-tosca/tosca_test.go:68 +0x71 testing.tRunner(0xc00028e780, 0xc000153b20) /Depot/Applications/go/src/testing/testing.go:1193 +0xef created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 51 [runnable]: github.com/dop251/goja/parser.(*_parser).scan(0xc000eb0b40, 0x0, 0x0, 0x0, 0x1, 0xc0007dfe70, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/lexer.go:194 +0xe75 github.com/dop251/goja/parser.(*_parser).next(...) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/parser.go:224 github.com/dop251/goja/parser.(*_parser).parseArgumentList(0xc000eb0b40, 0xb, 0xa40, 0x4c5bad, 0x203000, 0xc0004d0a3f) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:362 +0x125 github.com/dop251/goja/parser.(*_parser).parseCallExpression(0xc000eb0b40, 0xe029e0, 0xc00058d578, 0x28, 0xc27820) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:370 +0x2f github.com/dop251/goja/parser.(*_parser).parseLeftHandSideExpressionAllowCall(0xc000eb0b40, 0x0, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:490 +0xb9 github.com/dop251/goja/parser.(*_parser).parsePostfixExpression(0xc000eb0b40, 0x122ab60, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:500 +0x32 github.com/dop251/goja/parser.(*_parser).parseUnaryExpression(0xc000eb0b40, 0x6, 0xc000eb0b98) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:562 +0x185 github.com/dop251/goja/parser.(*_parser).parseMultiplicativeExpression(0xc000eb0b40, 0xe027a0, 0xc000ef13c8) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:567 +0x4e github.com/dop251/goja/parser.(*_parser).parseAdditiveExpression(0xc000eb0b40, 0x8, 0xc000ef1470) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:585 +0x4e github.com/dop251/goja/parser.(*_parser).parseShiftExpression(0xc000eb0b40, 0xc00056b180, 0x8c5200) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:602 +0x4e github.com/dop251/goja/parser.(*_parser).parseRelationalExpression(0xc000eb0b40, 0x0, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:620 +0x71 github.com/dop251/goja/parser.(*_parser).parseEqualityExpression(0xc000eb0b40, 0x203000, 0x8c53b3) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:664 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseAndExpression(0xc000eb0b40, 0xc000380000, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:683 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseExclusiveOrExpression(0xc000eb0b40, 0xc00085e8a0, 0x8c5400) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:700 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseOrExpression(0xc000eb0b40, 0xc00056b180, 0x8c5480) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:717 +0x4e github.com/dop251/goja/parser.(*_parser).parseLogicalAndExpression(0xc000eb0b40, 0xc00056b180, 0x8c5500) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:734 +0x4e github.com/dop251/goja/parser.(*_parser).parseLogicalOrExpression(0xc000eb0b40, 0xc00056b180, 0x8c5580) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:751 +0x4e github.com/dop251/goja/parser.(*_parser).parseConditionlExpression(0xc000eb0b40, 0x8c5600, 0xc000eb0b40) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:767 +0x2f github.com/dop251/goja/parser.(*_parser).parseAssignmentExpression(0xc000eb0b40, 0x8c5600, 0x8) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:787 +0x4f github.com/dop251/goja/parser.(*_parser).parseExpression(0xc000eb0b40, 0xb, 0xe100000000000008) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:841 +0x6b github.com/dop251/goja/parser.(*_parser).parseStatement(0xc000eb0b40, 0xc0004d0a3f, 0xc0004d0a3f) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:91 +0x87 github.com/dop251/goja/parser.(*_parser).parseStatementList(0xc000eb0b40, 0x31, 0xa3a, 0xa3a) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:33 +0x74 github.com/dop251/goja/parser.(*_parser).parseBlockStatement(0xc000eb0b40, 0x34) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:19 +0x6d github.com/dop251/goja/parser.(*_parser).parseIfStatement(0xc000eb0b40, 0xc0007dfe20, 0xc00085e840) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:621 +0xdf github.com/dop251/goja/parser.(*_parser).parseStatement(0xc000eb0b40, 0xe028c0, 0xc0007dfe20) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:52 +0x646 github.com/dop251/goja/parser.(*_parser).parseStatementList(0xc000eb0b40, 0x31, 0x827, 0x701) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:33 +0x74 github.com/dop251/goja/parser.(*_parser).parseBlockStatement(0xc000eb0b40, 0xc00056af40) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:19 +0x6d github.com/dop251/goja/parser.(*_parser).parseFunctionBlock(0xc000eb0b40, 0xc0008dc910) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:229 +0xa5 github.com/dop251/goja/parser.(*_parser).parseFunction(0xc000eb0b40, 0xc0007dfb01, 0xc00056af00) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:214 +0xd3 github.com/dop251/goja/parser.(*_parser).parseStatement(0xc000eb0b40, 0xe028c0, 0xc0007dfb10) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:79 +0xa10 github.com/dop251/goja/parser.(*_parser).parseStatementList(0xc000eb0b40, 0x31, 0x56, 0x1) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:33 +0x74 github.com/dop251/goja/parser.(*_parser).parseBlockStatement(0xc000eb0b40, 0xc000679f40) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:19 +0x6d github.com/dop251/goja/parser.(*_parser).parseFunctionBlock(0xc000eb0b40, 0xc0008dc6e0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:229 +0xa5 github.com/dop251/goja/parser.(*_parser).parseFunction(0xc000eb0b40, 0x78dc00, 0xc0005c3f10) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/statement.go:214 +0xd3 github.com/dop251/goja/parser.(*_parser).parsePrimaryExpression(0xc000eb0b40, 0x98, 0xb9d060) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:96 +0xaa8 github.com/dop251/goja/parser.(*_parser).parseLeftHandSideExpressionAllowCall(0xc000eb0b40, 0x0, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:481 +0x145 github.com/dop251/goja/parser.(*_parser).parsePostfixExpression(0xc000eb0b40, 0x0, 0xc000cc4290) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:500 +0x32 github.com/dop251/goja/parser.(*_parser).parseUnaryExpression(0xc000eb0b40, 0x18, 0x64) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:562 +0x185 github.com/dop251/goja/parser.(*_parser).parseMultiplicativeExpression(0xc000eb0b40, 0xc000cc4470, 0x82dd1e) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:567 +0x4e github.com/dop251/goja/parser.(*_parser).parseAdditiveExpression(0xc000eb0b40, 0x1a920263dabe5857, 0xffffffffffffffff) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:585 +0x4e github.com/dop251/goja/parser.(*_parser).parseShiftExpression(0xc000eb0b40, 0xc00058c738, 0xc000f9ee20) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:602 +0x4e github.com/dop251/goja/parser.(*_parser).parseRelationalExpression(0xc000eb0b40, 0x0, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:620 +0x71 github.com/dop251/goja/parser.(*_parser).parseEqualityExpression(0xc000eb0b40, 0xc000cc4718, 0x7f2d786d7e08) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:664 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseAndExpression(0xc000eb0b40, 0x30, 0xc74fa0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:683 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseExclusiveOrExpression(0xc000eb0b40, 0x13c6188, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:700 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseOrExpression(0xc000eb0b40, 0x7f2d7b0d3558, 0x110) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:717 +0x4e github.com/dop251/goja/parser.(*_parser).parseLogicalAndExpression(0xc000eb0b40, 0xc0003b1e60, 0xc000cc49b0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:734 +0x4e github.com/dop251/goja/parser.(*_parser).parseLogicalOrExpression(0xc000eb0b40, 0x0, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:751 +0x4e github.com/dop251/goja/parser.(*_parser).parseConditionlExpression(0xc000eb0b40, 0x8, 0x1) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:767 +0x2f github.com/dop251/goja/parser.(*_parser).parseAssignmentExpression(0xc000eb0b40, 0x0, 0xc0003b1b00) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:787 +0x4f github.com/dop251/goja/parser.(*_parser).parseExpression(0xc000eb0b40, 0x2f, 0x1) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:841 +0x6b github.com/dop251/goja/parser.(*_parser).parsePrimaryExpression(0xc000eb0b40, 0x0, 0xc000cc4c40) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:87 +0xa16 github.com/dop251/goja/parser.(*_parser).parseLeftHandSideExpressionAllowCall(0xc000eb0b40, 0x0, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:481 +0x145 github.com/dop251/goja/parser.(*_parser).parsePostfixExpression(0xc000eb0b40, 0x203000, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:500 +0x32 github.com/dop251/goja/parser.(*_parser).parseUnaryExpression(0xc000eb0b40, 0xc37e80, 0x30) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:562 +0x185 github.com/dop251/goja/parser.(*_parser).parseMultiplicativeExpression(0xc000eb0b40, 0xc000916fd8, 0xc0009ca4b0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:567 +0x4e github.com/dop251/goja/parser.(*_parser).parseAdditiveExpression(0xc000eb0b40, 0xc0009ca4b0, 0x203000) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:585 +0x4e github.com/dop251/goja/parser.(*_parser).parseShiftExpression(0xc000eb0b40, 0x0, 0xc000cc4fc0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:602 +0x4e github.com/dop251/goja/parser.(*_parser).parseRelationalExpression(0xc000eb0b40, 0x0, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:620 +0x71 github.com/dop251/goja/parser.(*_parser).parseEqualityExpression(0xc000eb0b40, 0x8a2c39, 0xc0009ca960) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:664 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseAndExpression(0xc000eb0b40, 0xc000d90bd0, 0xc000d90ba0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:683 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseExclusiveOrExpression(0xc000eb0b40, 0x9, 0x0) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:700 +0x4e github.com/dop251/goja/parser.(*_parser).parseBitwiseOrExpression(0xc000eb0b40, 0x203000, 0x203000) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:717 +0x4e github.com/dop251/goja/parser.(*_parser).parseLogicalAndExpression(0xc000eb0b40, 0x8, 0xc000cc5408) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:734 +0x4e github.com/dop251/goja/parser.(*_parser).parseLogicalOrExpression(0xc000eb0b40, 0x203000, 0x203000) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:751 +0x4e github.com/dop251/goja/parser.(*_parser).parseConditionlExpression(0xc000eb0b40, 0x9128d3d391fdc59, 0x7f2d786cdb10) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:767 +0x2f github.com/dop251/goja/parser.(*_parser).parseAssignmentExpression(0xc000eb0b40, 0x200, 0x7f2d7cbf7fff) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:787 +0x4f github.com/dop251/goja/parser.(*_parser).parseExpression(0xc000eb0b40, 0xc000cc5650, 0x41057b) /home/emblemparade/go/pkg/mod/github.com/dop251/goja@v0.0.0-20210427212725-462d53687b0d/parser/expression.go:841 +0x6b created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 goroutine 52 [chan send]: testing.tRunner.func1.1(0xc0007b7ed5, 0x0, 0x0, 0xc00028ed80, 0xc0007b7e01) /Depot/Applications/go/src/testing/testing.go:1123 +0x59 testing.tRunner.func1(0xc00028ed80) /Depot/Applications/go/src/testing/testing.go:1184 +0x405 testing.tRunner(0xc00028ed80, 0xc000153b60) /Depot/Applications/go/src/testing/testing.go:1197 +0x125 created by testing.(*T).Run /Depot/Applications/go/src/testing/testing.go:1238 +0x2b3 FAIL github.com/tliron/puccini/puccini-tosca 0.043s FAIL
Panic example: