Seems to be due to lines:
Last active
July 26, 2023 21:41
-
-
Save elcritch/e3034b4d4a0ce65d4099a5f90a161dd2 to your computer and use it in GitHub Desktop.
nim-error-once+template+iterator
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x14) | |
frame #0: 0x00000001001d06a0 nim`hasContinue__transf_359(n=0x0000000000000000) at transf.nim:235:15 [opt] | |
232 result[i] = it | |
233 | |
234 proc hasContinue(n: PNode): bool = | |
-> 235 case n.kind | |
236 of nkEmpty..nkNilLit, nkForStmt, nkParForStmt, nkWhileStmt: discard | |
237 of nkContinueStmt: result = true | |
238 else: | |
Target 0: (nim) stopped. | |
warning: nim was compiled with optimization - stepping may behave oddly; variables may not be available. | |
(lldb) bt | |
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x14) | |
* frame #0: 0x00000001001d06a0 nim`hasContinue__transf_359(n=0x0000000000000000) at transf.nim:235:15 [opt] | |
frame #1: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd6a170) at transf.nim:240:37 [opt] | |
frame #2: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd6a1a0) at transf.nim:240:37 [opt] | |
frame #3: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd6a200) at transf.nim:240:37 [opt] | |
frame #4: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd6a2f0) at transf.nim:240:37 [opt] | |
frame #5: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd69980) at transf.nim:240:37 [opt] | |
frame #6: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd69a10) at transf.nim:240:37 [opt] | |
frame #7: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd69ec0) at transf.nim:240:37 [opt] | |
frame #8: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cd69f20) at transf.nim:240:37 [opt] | |
frame #9: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cb80980) at transf.nim:240:37 [opt] | |
frame #10: 0x00000001001d07d0 nim`hasContinue__transf_359(n=0x000000014cb77230) at transf.nim:240:37 [opt] | |
frame #11: 0x00000001001d082c nim`transformLoopBody__transf_396(c=0x000000014daed290, n=0x000000014cb77230) at transf.nim:269:29 [opt] | |
frame #12: 0x00000001001d4400 nim`transformWhile__transf_410(c=<unavailable>, n=0x000000014cc4ef50) at transf.nim:292:89 [opt] | |
frame #13: 0x00000001001cfd54 nim`transform__transf_135(c=0x000000014daed290, n=0x000000014cc4ef50) at transf.nim:967:12 [opt] | |
frame #14: 0x00000001001d363c nim`transformSons__transf_138(c=0x000000014daed290, n=0x000000014cc4eb00) at transf.nim:102:58 [opt] | |
frame #15: 0x00000001001cfda0 nim`transform__transf_135(c=0x000000014daed290, n=0x000000014cc4eb00) at transf.nim:0 [opt] | |
frame #16: 0x00000001001d363c nim`transformSons__transf_138(c=0x000000014daed290, n=0x000000014cc3c350) at transf.nim:102:58 [opt] | |
frame #17: 0x00000001001cfda0 nim`transform__transf_135(c=0x000000014daed290, n=0x000000014cc3c350) at transf.nim:0 [opt] | |
frame #18: 0x00000001001d363c nim`transformSons__transf_138(c=0x000000014daed290, n=0x000000014cb7f3e0) at transf.nim:102:58 [opt] | |
frame #19: 0x00000001001d4874 nim`transformBlock__transf_375(c=0x000000014daed290, n=0x000000014cb7f3e0) at transf.nim:258:11 [opt] | |
frame #20: 0x00000001001cfc8c nim`transform__transf_135(c=0x000000014daed290, n=0x000000014cb7f3e0) at transf.nim:969:12 [opt] | |
frame #21: 0x00000001001d363c nim`transformSons__transf_138(c=0x000000014daed290, n=0x0000000148539860) at transf.nim:102:58 [opt] | |
frame #22: 0x00000001001cfda0 nim`transform__transf_135(c=0x000000014daed290, n=0x0000000148539860) at transf.nim:0 [opt] | |
frame #23: 0x00000001001d363c nim`transformSons__transf_138(c=0x000000014daed290, n=0x000000014cbea500) at transf.nim:102:58 [opt] | |
frame #24: 0x00000001001cfda0 nim`transform__transf_135(c=0x000000014daed290, n=0x000000014cbea500) at transf.nim:0 [opt] | |
frame #25: 0x00000001001cf214 nim`transformBody__transf_16 [inlined] processTransf__transf_1661(c=0x000000014daed290, n=0x000000014cbea500, owner=0x000000014cc22dd0) at transf.nim:1082:11 [opt] | |
frame #26: 0x00000001001cf12c nim`transformBody__transf_16(g=0x0000000100785050, idgen=<unavailable>, prc=0x000000014cc22dd0, cache=true) at transf.nim:1146:12 [opt] | |
frame #27: 0x00000001001baf74 nim`detectCapturedVars__lambdalifting_2010(n=0x000000014cdfabf0, owner=<unavailable>, c=<unavailable>) at lambdalifting.nim:432:12 [opt] | |
frame #28: 0x00000001001baddc nim`detectCapturedVars__lambdalifting_2010(n=0x000000014cb79290, owner=<unavailable>, c=<unavailable>) at lambdalifting.nim:502:6 [opt] | |
frame #29: 0x00000001001baddc nim`detectCapturedVars__lambdalifting_2010(n=0x000000014cc4b1a0, owner=<unavailable>, c=<unavailable>) at lambdalifting.nim:502:6 [opt] | |
frame #30: 0x00000001001bdfe0 nim`liftLambdas__lambdalifting_5167(g=0x0000000100785050, fn=0x000000014cc50590, body=0x000000014cc4b1a0, tooEarly=0x000000014daed389, idgen=0x000000014c4d0dd0) at lambdalifting.nim:866:3 [opt] | |
frame #31: 0x00000001001cf128 nim`transformBody__transf_16(g=0x0000000100785050, idgen=<unavailable>, prc=0x000000014cc50590, cache=false) at transf.nim:1145:12 [opt] | |
frame #32: 0x0000000100316b48 nim`genProcAux__cgen_27307(m=0x0000000148536050, prc=0x000000014cc50590) at cgen.nim:1043:13 [opt] | |
frame #33: 0x0000000100318370 nim`genProcNoForward__cgen_27675(m=0x000000014ac69050, prc=0x000000014cc50590) at cgen.nim:1223:4 [opt] | |
frame #34: 0x00000001002fed34 nim`genProc__cgen_427(m=0x000000014ac69050, prc=0x000000014cc50590) at cgen.nim:1249:3 [opt] | |
frame #35: 0x00000001002f78d8 nim`expr__cgen_11669(p=0x000000014da9b9b0, n=0x000000014d4fc6b0, d=<unavailable>) at ccgexprs.nim:2811:5 [opt] | |
frame #36: 0x0000000100329508 nim`genPrefixCall__cgen_12582 [inlined] initLocExpr__cgen_11692(p=0x000000014da9b9b0, e=0x000000014d4fc6b0, result=0x000000016fdf96a8) at cgen.nim:649:2 [opt] | |
frame #37: 0x00000001003294d4 nim`genPrefixCall__cgen_12582(p=0x000000014da9b9b0, le=0x0000000000000000, ri=0x000000014d576440, d=0x000000016fdf9750) at ccgcalls.nim:416:2 [opt] | |
frame #38: 0x0000000100358b4c nim`downConv__cgen_25413 [inlined] initLocExpr__cgen_11692(p=0x000000014da9b9b0, e=0x000000014d576440, result=0x000000016fdf9750) at cgen.nim:649:2 [opt] | |
frame #39: 0x0000000100358b14 nim`downConv__cgen_25413(p=0x000000014da9b9b0, n=0x000000014d5763e0, d=0x000000016fdf98f8) at ccgexprs.nim:2705:3 [opt] | |
frame #40: 0x0000000100368838 nim`genAsgn__cgen_18012(p=0x000000014da9b9b0, e=<unavailable>, fastAsgn=false) at ccgstmts.nim:1601:3 [opt] | |
frame #41: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d5762c0) at ccgstmts.nim:1608:2 [opt] | |
frame #42: 0x0000000100357868 nim`genStmtList__cgen_25289(p=0x000000014da9b9b0, n=<unavailable>) at ccgexprs.nim:2639:6 [opt] | |
frame #43: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d576290) at ccgstmts.nim:1608:2 [opt] | |
frame #44: 0x0000000100357b40 nim`genStmtList__cgen_25289(p=0x000000014da9b9b0, n=<unavailable>) at ccgexprs.nim:2650:3 [opt] | |
frame #45: 0x00000001003569bc nim`genBlock__cgen_14911(p=0x000000014da9b9b0, n=0x000000014d570fb0, d=0x000000016fdf9d08) at ccgstmts.nim:643:2 [opt] | |
frame #46: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d570fb0) at ccgstmts.nim:1608:2 [opt] | |
frame #47: 0x0000000100357b40 nim`genStmtList__cgen_25289(p=0x000000014da9b9b0, n=<unavailable>) at ccgexprs.nim:2650:3 [opt] | |
frame #48: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d570f20) at ccgstmts.nim:1608:2 [opt] | |
frame #49: 0x0000000100357b40 nim`genStmtList__cgen_25289(p=0x000000014da9b9b0, n=<unavailable>) at ccgexprs.nim:2650:3 [opt] | |
frame #50: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d570ec0) at ccgstmts.nim:1608:2 [opt] | |
frame #51: 0x0000000100357868 nim`genStmtList__cgen_25289(p=0x000000014da9b9b0, n=<unavailable>) at ccgexprs.nim:2639:6 [opt] | |
frame #52: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d566ad0) at ccgstmts.nim:1608:2 [opt] | |
frame #53: 0x0000000100357b40 nim`genStmtList__cgen_25289(p=0x000000014da9b9b0, n=<unavailable>) at ccgexprs.nim:2650:3 [opt] | |
frame #54: 0x00000001003569bc nim`genBlock__cgen_14911(p=0x000000014da9b9b0, n=0x000000014d5697a0, d=0x000000016fdfa0f8) at ccgstmts.nim:643:2 [opt] | |
frame #55: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d5697a0) at ccgstmts.nim:1608:2 [opt] | |
frame #56: 0x0000000100357b40 nim`genStmtList__cgen_25289(p=0x000000014da9b9b0, n=<unavailable>) at ccgexprs.nim:2650:3 [opt] | |
frame #57: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d5680e0) at ccgstmts.nim:1608:2 [opt] | |
frame #58: 0x000000010035d060 nim`genWhileStmt__cgen_14828(p=0x000000014da9b9b0, t=<unavailable>) at ccgstmts.nim:619:3 [opt] | |
frame #59: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014da9b9b0, t=0x000000014d568530) at ccgstmts.nim:1608:2 [opt] | |
frame #60: 0x000000010031610c nim`genProcBody__cgen_27239(p=0x000000014da9b9b0, procBody=<unavailable>) at cgen.nim:1028:2 [opt] | |
frame #61: 0x0000000100317194 nim`genProcAux__cgen_27307(m=<unavailable>, prc=0x000000014d523ad0) at cgen.nim:1087:2 [opt] | |
frame #62: 0x0000000100318370 nim`genProcNoForward__cgen_27675(m=0x000000014ac69050, prc=0x000000014d523ad0) at cgen.nim:1223:4 [opt] | |
frame #63: 0x00000001002fed34 nim`genProc__cgen_427(m=0x000000014ac69050, prc=0x000000014d523ad0) at cgen.nim:1249:3 [opt] | |
frame #64: 0x00000001002f78d8 nim`expr__cgen_11669(p=0x000000014c954410, n=0x000000014d5802f0, d=<unavailable>) at ccgexprs.nim:2811:5 [opt] | |
frame #65: 0x000000010034dce8 nim`genClosure__cgen_25147 [inlined] initLocExpr__cgen_11692(p=0x000000014c954410, e=0x000000014d5802f0, result=0x000000016fdfa6c0) at cgen.nim:649:2 [opt] | |
frame #66: 0x000000010034dcb4 nim`genClosure__cgen_25147(p=0x000000014c954410, n=0x000000014d5802c0, d=0x000000016fdfa928) at ccgexprs.nim:2593:3 [opt] | |
frame #67: 0x0000000100357584 nim`genStmtListExpr__cgen_25235(p=0x000000014c954410, n=<unavailable>, d=0x000000016fdfa928) at ccgexprs.nim:2646:3 [opt] | |
frame #68: 0x0000000100368838 nim`genAsgn__cgen_18012(p=0x000000014c954410, e=<unavailable>, fastAsgn=false) at ccgstmts.nim:1601:3 [opt] | |
frame #69: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014c954410, t=0x000000014d570d70) at ccgstmts.nim:1608:2 [opt] | |
frame #70: 0x0000000100357868 nim`genStmtList__cgen_25289(p=0x000000014c954410, n=<unavailable>) at ccgexprs.nim:2639:6 [opt] | |
frame #71: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014c954410, t=0x000000014d564ad0) at ccgstmts.nim:1608:2 [opt] | |
frame #72: 0x0000000100357b40 nim`genStmtList__cgen_25289(p=0x000000014c954410, n=<unavailable>) at ccgexprs.nim:2650:3 [opt] | |
frame #73: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014c954410, t=0x000000014d576980) at ccgstmts.nim:1608:2 [opt] | |
frame #74: 0x000000010031610c nim`genProcBody__cgen_27239(p=0x000000014c954410, procBody=<unavailable>) at cgen.nim:1028:2 [opt] | |
frame #75: 0x0000000100317194 nim`genProcAux__cgen_27307(m=<unavailable>, prc=0x000000014d552350) at cgen.nim:1087:2 [opt] | |
frame #76: 0x0000000100318370 nim`genProcNoForward__cgen_27675(m=0x000000014ac69050, prc=0x000000014d552350) at cgen.nim:1223:4 [opt] | |
frame #77: 0x00000001002fed34 nim`genProc__cgen_427(m=0x000000014ac69050, prc=0x000000014d552350) at cgen.nim:1249:3 [opt] | |
frame #78: 0x00000001002f78d8 nim`expr__cgen_11669(p=0x000000014d379f50, n=0x000000014d583f50, d=<unavailable>) at ccgexprs.nim:2811:5 [opt] | |
frame #79: 0x000000010034dce8 nim`genClosure__cgen_25147 [inlined] initLocExpr__cgen_11692(p=0x000000014d379f50, e=0x000000014d583f50, result=0x000000016fdfb0b0) at cgen.nim:649:2 [opt] | |
frame #80: 0x000000010034dcb4 nim`genClosure__cgen_25147(p=0x000000014d379f50, n=0x000000014d583ec0, d=0x000000016fdfb298) at ccgexprs.nim:2593:3 [opt] | |
frame #81: 0x0000000100368838 nim`genAsgn__cgen_18012(p=0x000000014d379f50, e=<unavailable>, fastAsgn=false) at ccgstmts.nim:1601:3 [opt] | |
frame #82: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014d379f50, t=0x000000014d583a10) at ccgstmts.nim:1608:2 [opt] | |
frame #83: 0x0000000100357868 nim`genStmtList__cgen_25289(p=0x000000014d379f50, n=<unavailable>) at ccgexprs.nim:2639:6 [opt] | |
frame #84: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014d379f50, t=0x000000014d5826e0) at ccgstmts.nim:1608:2 [opt] | |
frame #85: 0x0000000100357b40 nim`genStmtList__cgen_25289(p=0x000000014d379f50, n=<unavailable>) at ccgexprs.nim:2650:3 [opt] | |
frame #86: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014d379f50, t=0x000000014d582260) at ccgstmts.nim:1608:2 [opt] | |
frame #87: 0x000000010031610c nim`genProcBody__cgen_27239(p=0x000000014d379f50, procBody=<unavailable>) at cgen.nim:1028:2 [opt] | |
frame #88: 0x0000000100317194 nim`genProcAux__cgen_27307(m=<unavailable>, prc=0x000000014d523110) at cgen.nim:1087:2 [opt] | |
frame #89: 0x0000000100318370 nim`genProcNoForward__cgen_27675(m=0x000000014ac69050, prc=0x000000014d523110) at cgen.nim:1223:4 [opt] | |
frame #90: 0x00000001002fed34 nim`genProc__cgen_427(m=0x000000014ac69050, prc=0x000000014d523110) at cgen.nim:1249:3 [opt] | |
frame #91: 0x000000010031639c nim`genStmts__cgen_11666(p=0x000000014c0bbc30, t=0x000000014d558710) at ccgstmts.nim:1608:2 [opt] | |
frame #92: 0x000000010031610c nim`genProcBody__cgen_27239(p=0x000000014c0bbc30, procBody=<unavailable>) at cgen.nim:1028:2 [opt] | |
frame #93: 0x0000000100379698 nim`genTopLevelStmt__cgen_29806(m=<unavailable>, n=<unavailable>) at cgen.nim:1992:3 [opt] [artificial] | |
frame #94: 0x00000001003796d8 nim`myProcess__cgen_29814(b=0x000000014ac69050, n=0x000000014d558710) at cgen.nim:1998:3 [opt] | |
frame #95: 0x000000010016b970 nim`processTopLevelStmt__passes_140(graph=0x0000000100785050, n=<unavailable>, a=0x000000016fdfbb70) at passes.nim:74:10 [opt] | |
frame #96: 0x000000010016bf94 nim`processModule__passes_213(graph=0x0000000100785050, module=0x000000014b388650, idgen=<unavailable>, stream=<unavailable>) at passes.nim:0:41 [opt] | |
frame #97: 0x0000000100383528 nim`compileModule__modules_33(graph=0x0000000100785050, fileIdx=<unavailable>, flags=0, fromModule=0x000000014ac15e90) at modules.nim:53:33 [opt] | |
frame #98: 0x00000001003836c0 nim`importModule__modules_86(graph=0x0000000100785050, s=0x000000014ac15e90, fileIdx=514) at modules.nim:82:11 [opt] | |
frame #99: 0x00000001001555b0 nim`myImportModule__importer_4771(c=0x000000014c3f6650, n=0x000000016fdfbde8, importStmtResult=0x000000014c3281d0) at importer.nim:290:16 [opt] | |
frame #100: 0x0000000100157600 nim`evalImport__importer_4992 [inlined] impMod__importer_4982(c=0x000000014c3f6650, it=<unavailable>, importStmtResult=0x000000014c3281d0) at importer.nim:317:6 [opt] | |
frame #101: 0x00000001001575e8 nim`evalImport__importer_4992(c=0x000000014c3f6650, n=<unavailable>) at importer.nim:349:6 [opt] | |
frame #102: 0x0000000100240fbc nim`semExpr__sem_52(c=0x000000014c3f6650, n=0x000000014ac102c0, flags=128, expectedType=0x0000000000000000) at semexprs.nim:3194:12 [opt] | |
frame #103: 0x00000001002cb1d4 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semExprNoType__sem_62(c=0x000000014c3f6650, n=0x000000014ac102c0) at semexprs.nim:1108:11 [opt] | |
frame #104: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semStmt__sem_87(c=0x000000014c3f6650, n=0x000000014ac102c0, flags=0) at semstmts.nim:2448:12 [opt] | |
frame #105: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555(c=0x000000014c3f6650, n=<unavailable>) at sem.nim:624:11 [opt] | |
frame #106: 0x00000001002cb4a0 nim`myProcess__sem_22606(context=0x000000014c3f6650, n=0x000000014ac102c0) at sem.nim:656:12 [opt] | |
frame #107: 0x000000010016b970 nim`processTopLevelStmt__passes_140(graph=0x0000000100785050, n=<unavailable>, a=0x000000016fdfc260) at passes.nim:74:10 [opt] | |
frame #108: 0x000000010016bf94 nim`processModule__passes_213(graph=0x0000000100785050, module=0x000000014ac15e90, idgen=<unavailable>, stream=<unavailable>) at passes.nim:0:41 [opt] | |
frame #109: 0x0000000100383528 nim`compileModule__modules_33(graph=0x0000000100785050, fileIdx=<unavailable>, flags=0, fromModule=0x000000014ac15a10) at modules.nim:53:33 [opt] | |
frame #110: 0x00000001003836c0 nim`importModule__modules_86(graph=0x0000000100785050, s=0x000000014ac15a10, fileIdx=513) at modules.nim:82:11 [opt] | |
frame #111: 0x00000001001555b0 nim`myImportModule__importer_4771(c=0x000000014c3f6050, n=0x000000016fdfc4d8, importStmtResult=0x000000014c3c3e30) at importer.nim:290:16 [opt] | |
frame #112: 0x0000000100157a34 nim`evalImport__importer_4992(c=0x000000014c3f6050, n=<unavailable>) at importer.nim:0 [opt] | |
frame #113: 0x0000000100240fbc nim`semExpr__sem_52(c=0x000000014c3f6050, n=0x000000014c314230, flags=128, expectedType=0x0000000000000000) at semexprs.nim:3194:12 [opt] | |
frame #114: 0x00000001002cb1d4 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semExprNoType__sem_62(c=0x000000014c3f6050, n=0x000000014c314230) at semexprs.nim:1108:11 [opt] | |
frame #115: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semStmt__sem_87(c=0x000000014c3f6050, n=0x000000014c314230, flags=0) at semstmts.nim:2448:12 [opt] | |
frame #116: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555(c=0x000000014c3f6050, n=<unavailable>) at sem.nim:624:11 [opt] | |
frame #117: 0x00000001002cb4a0 nim`myProcess__sem_22606(context=0x000000014c3f6050, n=0x000000014c314230) at sem.nim:656:12 [opt] | |
frame #118: 0x000000010016b970 nim`processTopLevelStmt__passes_140(graph=0x0000000100785050, n=<unavailable>, a=0x000000016fdfc950) at passes.nim:74:10 [opt] | |
frame #119: 0x000000010016bf94 nim`processModule__passes_213(graph=0x0000000100785050, module=0x000000014ac15a10, idgen=<unavailable>, stream=<unavailable>) at passes.nim:0:41 [opt] | |
frame #120: 0x0000000100383528 nim`compileModule__modules_33(graph=0x0000000100785050, fileIdx=<unavailable>, flags=0, fromModule=0x000000014c382dd0) at modules.nim:53:33 [opt] | |
frame #121: 0x00000001003836c0 nim`importModule__modules_86(graph=0x0000000100785050, s=0x000000014c382dd0, fileIdx=512) at modules.nim:82:11 [opt] | |
frame #122: 0x00000001001555b0 nim`myImportModule__importer_4771(c=0x0000000140187050, n=0x000000016fdfcbc8, importStmtResult=0x000000014c32b110) at importer.nim:290:16 [opt] | |
frame #123: 0x0000000100157600 nim`evalImport__importer_4992 [inlined] impMod__importer_4982(c=0x0000000140187050, it=<unavailable>, importStmtResult=0x000000014c32b110) at importer.nim:317:6 [opt] | |
frame #124: 0x00000001001575e8 nim`evalImport__importer_4992(c=0x0000000140187050, n=<unavailable>) at importer.nim:349:6 [opt] | |
frame #125: 0x0000000100240fbc nim`semExpr__sem_52(c=0x0000000140187050, n=0x000000014c37a650, flags=128, expectedType=0x0000000000000000) at semexprs.nim:3194:12 [opt] | |
frame #126: 0x00000001002cb1d4 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semExprNoType__sem_62(c=0x0000000140187050, n=0x000000014c37a650) at semexprs.nim:1108:11 [opt] | |
frame #127: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semStmt__sem_87(c=0x0000000140187050, n=0x000000014c37a650, flags=0) at semstmts.nim:2448:12 [opt] | |
frame #128: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555(c=0x0000000140187050, n=<unavailable>) at sem.nim:624:11 [opt] | |
frame #129: 0x00000001002cb4a0 nim`myProcess__sem_22606(context=0x0000000140187050, n=0x000000014c37a650) at sem.nim:656:12 [opt] | |
frame #130: 0x000000010016b970 nim`processTopLevelStmt__passes_140(graph=0x0000000100785050, n=<unavailable>, a=0x000000016fdfd040) at passes.nim:74:10 [opt] | |
frame #131: 0x000000010016bf94 nim`processModule__passes_213(graph=0x0000000100785050, module=0x000000014c382dd0, idgen=<unavailable>, stream=<unavailable>) at passes.nim:0:41 [opt] | |
frame #132: 0x0000000100383528 nim`compileModule__modules_33(graph=0x0000000100785050, fileIdx=<unavailable>, flags=0, fromModule=0x000000014ac08f50) at modules.nim:53:33 [opt] | |
frame #133: 0x00000001003836c0 nim`importModule__modules_86(graph=0x0000000100785050, s=0x000000014ac08f50, fileIdx=511) at modules.nim:82:11 [opt] | |
frame #134: 0x00000001001555b0 nim`myImportModule__importer_4771(c=0x0000000140187650, n=0x000000016fdfd2b8, importStmtResult=0x000000014c3c3d70) at importer.nim:290:16 [opt] | |
frame #135: 0x0000000100157600 nim`evalImport__importer_4992 [inlined] impMod__importer_4982(c=0x0000000140187650, it=<unavailable>, importStmtResult=0x000000014c3c3d70) at importer.nim:317:6 [opt] | |
frame #136: 0x00000001001575e8 nim`evalImport__importer_4992(c=0x0000000140187650, n=<unavailable>) at importer.nim:349:6 [opt] | |
frame #137: 0x0000000100240fbc nim`semExpr__sem_52(c=0x0000000140187650, n=0x000000014c3c39b0, flags=128, expectedType=0x0000000000000000) at semexprs.nim:3194:12 [opt] | |
frame #138: 0x00000001002cb1d4 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semExprNoType__sem_62(c=0x0000000140187650, n=0x000000014c3c39b0) at semexprs.nim:1108:11 [opt] | |
frame #139: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semStmt__sem_87(c=0x0000000140187650, n=0x000000014c3c39b0, flags=0) at semstmts.nim:2448:12 [opt] | |
frame #140: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555(c=0x0000000140187650, n=<unavailable>) at sem.nim:624:11 [opt] | |
frame #141: 0x00000001002cb4a0 nim`myProcess__sem_22606(context=0x0000000140187650, n=0x000000014c3c39b0) at sem.nim:656:12 [opt] | |
frame #142: 0x000000010016b970 nim`processTopLevelStmt__passes_140(graph=0x0000000100785050, n=<unavailable>, a=0x000000016fdfd730) at passes.nim:74:10 [opt] | |
frame #143: 0x000000010016bf94 nim`processModule__passes_213(graph=0x0000000100785050, module=0x000000014ac08f50, idgen=<unavailable>, stream=<unavailable>) at passes.nim:0:41 [opt] | |
frame #144: 0x0000000100383528 nim`compileModule__modules_33(graph=0x0000000100785050, fileIdx=<unavailable>, flags=0, fromModule=0x000000012b64bc50) at modules.nim:53:33 [opt] | |
frame #145: 0x00000001003836c0 nim`importModule__modules_86(graph=0x0000000100785050, s=0x000000012b64bc50, fileIdx=495) at modules.nim:82:11 [opt] | |
frame #146: 0x00000001001555b0 nim`myImportModule__importer_4771(c=0x0000000104c36650, n=0x000000016fdfd9a8, importStmtResult=0x000000014ac0caa0) at importer.nim:290:16 [opt] | |
frame #147: 0x0000000100157600 nim`evalImport__importer_4992 [inlined] impMod__importer_4982(c=0x0000000104c36650, it=<unavailable>, importStmtResult=0x000000014ac0caa0) at importer.nim:317:6 [opt] | |
frame #148: 0x00000001001575e8 nim`evalImport__importer_4992(c=0x0000000104c36650, n=<unavailable>) at importer.nim:349:6 [opt] | |
frame #149: 0x0000000100240fbc nim`semExpr__sem_52(c=0x0000000104c36650, n=0x000000014ac0c8f0, flags=128, expectedType=0x0000000000000000) at semexprs.nim:3194:12 [opt] | |
frame #150: 0x00000001002cb1d4 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semExprNoType__sem_62(c=0x0000000104c36650, n=0x000000014ac0c8f0) at semexprs.nim:1108:11 [opt] | |
frame #151: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semStmt__sem_87(c=0x0000000104c36650, n=0x000000014ac0c8f0, flags=0) at semstmts.nim:2448:12 [opt] | |
frame #152: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555(c=0x0000000104c36650, n=<unavailable>) at sem.nim:624:11 [opt] | |
frame #153: 0x00000001002cb4a0 nim`myProcess__sem_22606(context=0x0000000104c36650, n=0x000000014ac0c8f0) at sem.nim:656:12 [opt] | |
frame #154: 0x000000010016b970 nim`processTopLevelStmt__passes_140(graph=0x0000000100785050, n=<unavailable>, a=0x000000016fdfde20) at passes.nim:74:10 [opt] | |
frame #155: 0x000000010016bf94 nim`processModule__passes_213(graph=0x0000000100785050, module=0x000000012b64bc50, idgen=<unavailable>, stream=<unavailable>) at passes.nim:0:41 [opt] | |
frame #156: 0x0000000100383528 nim`compileModule__modules_33(graph=0x0000000100785050, fileIdx=<unavailable>, flags=0, fromModule=0x00000001087f64d0) at modules.nim:53:33 [opt] | |
frame #157: 0x00000001003836c0 nim`importModule__modules_86(graph=0x0000000100785050, s=0x00000001087f64d0, fileIdx=327) at modules.nim:82:11 [opt] | |
frame #158: 0x00000001001555b0 nim`myImportModule__importer_4771(c=0x0000000104c36050, n=0x000000016fdfe098, importStmtResult=0x0000000134850650) at importer.nim:290:16 [opt] | |
frame #159: 0x0000000100157600 nim`evalImport__importer_4992 [inlined] impMod__importer_4982(c=0x0000000104c36050, it=<unavailable>, importStmtResult=0x0000000134850650) at importer.nim:317:6 [opt] | |
frame #160: 0x00000001001575e8 nim`evalImport__importer_4992(c=0x0000000104c36050, n=<unavailable>) at importer.nim:349:6 [opt] | |
frame #161: 0x0000000100240fbc nim`semExpr__sem_52(c=0x0000000104c36050, n=0x0000000134a64bc0, flags=128, expectedType=0x0000000000000000) at semexprs.nim:3194:12 [opt] | |
frame #162: 0x00000001002cb1d4 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semExprNoType__sem_62(c=0x0000000104c36050, n=0x0000000134a64bc0) at semexprs.nim:1108:11 [opt] | |
frame #163: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555 [inlined] semStmt__sem_87(c=0x0000000104c36050, n=0x0000000134a64bc0, flags=0) at semstmts.nim:2448:12 [opt] | |
frame #164: 0x00000001002cb194 nim`semStmtAndGenerateGenerics__sem_22555(c=0x0000000104c36050, n=<unavailable>) at sem.nim:624:11 [opt] | |
frame #165: 0x00000001002cb4a0 nim`myProcess__sem_22606(context=0x0000000104c36050, n=0x0000000134a64bc0) at sem.nim:656:12 [opt] | |
frame #166: 0x000000010016b970 nim`processTopLevelStmt__passes_140(graph=0x0000000100785050, n=<unavailable>, a=0x000000016fdfe510) at passes.nim:74:10 [opt] | |
frame #167: 0x000000010016bf94 nim`processModule__passes_213(graph=0x0000000100785050, module=0x00000001087f64d0, idgen=<unavailable>, stream=<unavailable>) at passes.nim:0:41 [opt] | |
frame #168: 0x0000000100383528 nim`compileModule__modules_33(graph=0x0000000100785050, fileIdx=<unavailable>, flags=<unavailable>, fromModule=0x0000000000000000) at modules.nim:53:33 [opt] | |
frame #169: 0x0000000100383b08 nim`compileProject__modules_1218(graph=0x0000000100785050, projectFileIdx=<unavailable>) at modules.nim:0 [opt] | |
frame #170: 0x00000001003fa758 nim`commandCompileToC__main_367(graph=0x0000000100785050) at main.nim:104:2 [opt] | |
frame #171: 0x00000001003faa2c nim`compileToBackend__main_538(ClE_0=<unavailable>) at main.nim:0:2 [opt] [artificial] | |
frame #172: 0x00000001003fb5e0 nim`mainCommand__main_508(graph=<unavailable>) at main.nim:278:152 [opt] | |
frame #173: 0x00000001003fdc28 nim`handleCmdLine__nim_54(cache=0x0000000100756030, conf=0x000000010074c050) at nim.nim:108:2 [opt] | |
frame #174: 0x00000001003fe3dc nim`NimMainModule at nim.nim:152:2 [opt] | |
frame #175: 0x00000001003fe474 nim`main [inlined] NimMain at system.nim:2321:2 [opt] | |
frame #176: 0x00000001003fe454 nim`main(argc=<unavailable>, args=<unavailable>, env=<unavailable>) at system.nim:2328:2 [opt] | |
frame #177: 0x00000001a067bf28 dyld`start + 2236 | |
(lldb) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
genProcBody: result = | |
## Generate a root hash using the treehash algorithm | |
## | |
if isNone(self.rootHash): | |
let v`gensym150 = makeRoot(self) | |
case v`gensym150.oResultPrivate | |
of false: | |
return | |
typeof(result)(oResultPrivate: false, | |
eResultPrivate: v`gensym150.eResultPrivate) | |
of true: | |
else: | |
nil | |
success( | |
get(self.rootHash)) | |
genProcBody: while true: | |
block :stateLoop: | |
goto :envP.`:state`12 | |
state 0: | |
{.push, warning[resultshadowed]: false.} | |
var :envP.result1: int | |
{.pop.} | |
block :tmp: | |
## Read `nbytes` from current position in the StoreStream into output buffer pointed by `pbytes`. | |
## Return how many bytes were actually read before EOF was encountered. | |
## Raise exception if we are already at EOF. | |
## | |
{.noSideEffect.}: | |
{.push, warning[BareExcept]: false.} | |
try: | |
bind logIMPL, bindSym, brForceOpen | |
try: | |
block chroniclesLogStmt: | |
if not topicsMatch(TRACE, [topicStateIMPL("codex"), | |
topicStateIMPL("storestream")]): | |
break chroniclesLogStmt | |
var :envP.record2: | |
defaultChroniclesStreamLogRecord | |
mixin activateOutput | |
:envP.record2 = default(typeof(record_9579790424)) | |
{.gcsafe.}: | |
addr(defaultChroniclesStreamOutputs) | |
[][0].currentRecordLevel = TRACE | |
{.gcsafe.}: | |
addr(defaultChroniclesStreamOutputs) | |
[][1].currentRecordLevel = TRACE | |
initLogRecord(:envP.record2[0], TRACE, "codex storestream", | |
"Reading from manifest") | |
initLogRecord(:envP.record2[1], TRACE, "codex storestream", | |
"Reading from manifest") | |
setProperty(:envP.record2[0], "tid", getLogThreadId()) | |
writeField(:envP.record2[1].jsonWriter, "tid", getLogThreadId()) | |
mixin setProperty, formatItIMPL | |
setProperty(:envP.record2[0], "cid", | |
shortLog(value(cid(:envP.`:up`.self1.manifest)))) | |
setProperty(:envP.record2[1], "cid", | |
shortLog(value(cid(:envP.`:up`.self1.manifest)))) | |
mixin setProperty, formatItIMPL | |
setProperty(:envP.record2[0], "blocks", | |
len(:envP.`:up`.self1.manifest)) | |
setProperty(:envP.record2[1], "blocks", | |
len(:envP.`:up`.self1.manifest)) | |
logAllDynamicProperties( | |
defaultChroniclesStream, :envP.record2) | |
flushRecord(:envP.record2[0]) | |
flushRecord(:envP.record2[1]) | |
except CatchableError: | |
let :envP.err`gensym144 = getCurrentException() | |
logLoggingFailure("Reading from manifest", (:envP.err`gensym144)) | |
except: | |
discard | |
{.pop.} | |
if atEof(LPStream(:envP.`:up`.self1)): | |
raise newLPStreamEOFError() | |
var :envP.read5 = 0 | |
block :tmp: | |
:envP.`:state` = 1 | |
break :stateLoop | |
state 1: | |
if :envP.read5 < :envP.`:up`.nbytes2 and not atEof(LPStream(:envP.`:up`.self1)): | |
let :envP.blockNum6 = :envP.`:up`.self1.offset div | |
int(blockSize(:envP.`:up`.self1.manifest)) | |
let :envP.blockOffset7 = :envP.`:up`.self1.offset mod | |
int(blockSize(:envP.`:up`.self1.manifest)) | |
let :envP.readBytes8 = min([size(SeekableStream(:envP.`:up`.self1)) - | |
:envP.`:up`.self1.offset, :envP.`:up`.nbytes2 - :envP.read5, int( | |
blockSize(:envP.`:up`.self1.manifest)) - | |
:envP.blockOffset7]) | |
var :envP.error`gensym399: ref CatchableError | |
let :envP.previousErrorVariable`gensym4110 = errorVariable | |
errorVariable = addr(:envP.error`gensym399) | |
discard | |
chronosInternalRetFuture.internalChild = FutureBase(getBlock( | |
:envP.`:up`.self1.store, :envP.`:up`.self1.manifest[ | |
chckRange(:envP.blockNum6, 0, 9223372036854775807)])) | |
:envP.`:state` = 2 | |
return chronosInternalRetFuture.internalChild | |
else: | |
:envP.`:state` = 10 | |
break :stateLoop | |
state 2: | |
if chronosInternalRetFuture.internalMustCancel: | |
raise (ref CancelledError)(msg: "Future operation cancelled!") | |
internalCheckComplete(chronosInternalRetFuture.internalChild) | |
:envP.`:state` = 3 | |
break :stateLoop | |
state 3: | |
let :envP.evaluated`gensym4312 = internalRead(cast[type(getBlock( | |
:envP.`:up`.self1.store, :envP.`:up`.self1.manifest[ | |
chckRange(:envP.blockNum6, 0, 9223372036854775807)]))](chronosInternalRetFuture.internalChild)) | |
:envP.`:state` = 4 | |
break :stateLoop | |
state 4: | |
let :envP.option`gensym4313 = option(:envP.evaluated`gensym4312) | |
type | |
T`gensym43 = typeof(option`gensym43.unsafeGet()) | |
let :envP.blk14 = if isSome(:envP.option`gensym4313): unsafeGet( | |
:envP.option`gensym4313) else: | |
mixin error | |
errorVariable[] = error(:envP.evaluated`gensym4312) | |
placeholder(T`gensym43) | |
:envP.`:state` = 5 | |
break :stateLoop | |
state 5: | |
let :envP.evaluated`gensym4115 = isSome(:envP.option`gensym4313) | |
:envP.`:state` = 6 | |
break :stateLoop | |
state 6: | |
discard | |
errorVariable = :envP.previousErrorVariable`gensym4110 | |
:envP.`:state` = 7 | |
break :stateLoop | |
state 7: | |
let :envP.ok`gensym4016 = :envP.evaluated`gensym4115 | |
:envP.`:state` = 8 | |
break :stateLoop | |
state 8: | |
if not :envP.ok`gensym4016: | |
template error(): ref CatchableError = | |
error`gensym39 | |
raise newLPStreamReadError(:envP.error`gensym399) | |
:envP.`:state` = 9 | |
break :stateLoop | |
state 9: | |
{.noSideEffect.}: | |
{.push, warning[BareExcept]: false.} | |
try: | |
bind logIMPL, bindSym, brForceOpen | |
try: | |
block chroniclesLogStmt: | |
if not topicsMatch(TRACE, [topicStateIMPL("codex"), | |
topicStateIMPL("storestream")]): | |
break chroniclesLogStmt | |
var :envP.record17: | |
defaultChroniclesStreamLogRecord | |
mixin activateOutput | |
:envP.record17 = default(typeof(record_9579790798)) | |
{.gcsafe.}: | |
addr(defaultChroniclesStreamOutputs) | |
[][0].currentRecordLevel = TRACE | |
{.gcsafe.}: | |
addr(defaultChroniclesStreamOutputs) | |
[][1].currentRecordLevel = TRACE | |
initLogRecord(:envP.record17[0], TRACE, "codex storestream", | |
"Reading bytes from store stream") | |
initLogRecord(:envP.record17[1], TRACE, "codex storestream", | |
"Reading bytes from store stream") | |
setProperty(:envP.record17[0], "tid", getLogThreadId()) | |
writeField(:envP.record17[1].jsonWriter, "tid", getLogThreadId()) | |
mixin setProperty, formatItIMPL | |
setProperty(:envP.record17[0], "blockNum", :envP.blockNum6) | |
setProperty(:envP.record17[1], "blockNum", :envP.blockNum6) | |
mixin setProperty, formatItIMPL | |
setProperty(:envP.record17[0], "cid", shortLog(:envP.blk14.cid)) | |
setProperty(:envP.record17[1], "cid", shortLog(:envP.blk14.cid)) | |
mixin setProperty, formatItIMPL | |
setProperty(:envP.record17[0], "bytes", :envP.readBytes8) | |
setProperty(:envP.record17[1], "bytes", :envP.readBytes8) | |
mixin setProperty, formatItIMPL | |
setProperty(:envP.record17[0], "blockOffset", :envP.blockOffset7) | |
setProperty(:envP.record17[1], "blockOffset", :envP.blockOffset7) | |
logAllDynamicProperties( | |
defaultChroniclesStream, :envP.record17) | |
flushRecord(:envP.record17[0]) | |
flushRecord(:envP.record17[1]) | |
except CatchableError: | |
let :envP.err`gensym5818 = getCurrentException() | |
logLoggingFailure("Reading bytes from store stream", | |
(:envP.err`gensym5818)) | |
except: | |
discard | |
{.pop.} | |
if isEmpty(:envP.blk14): | |
zeroMem( | |
cast[pointer](cast[uint](:envP.`:up`.pbytes3) + cast[uint](:envP.read5)), | |
chckRange(:envP.readBytes8, 0, 9223372036854775807)) | |
else: | |
copyMem( | |
cast[pointer](cast[uint](:envP.`:up`.pbytes3) + cast[uint](:envP.read5)), | |
addr(:envP.blk14.data[:envP.blockOffset7]), | |
chckRange(:envP.readBytes8, 0, 9223372036854775807)) | |
:envP.`:up`.self1.offset += :envP.readBytes8 | |
:envP.read5 += :envP.readBytes8 | |
:envP.`:state` = 1 | |
break :stateLoop | |
state 10: | |
complete(cast[Future[int]](chronosInternalRetFuture), :envP.read5, | |
srcLocImpl("", "storestream.nim", 118)) | |
:envP.`:state` = -1 | |
return nil | |
:envP.`:state` = 11 | |
break :stateLoop | |
state 11: | |
complete(cast[Future[int]](chronosInternalRetFuture), :envP.result1, | |
srcLocImpl("", "storestream.nim", 80)) | |
:envP.`:state` = 12 | |
break :stateLoop | |
state 12: | |
:envP.`:state` = -1 | |
break :stateLoop | |
genProcBody: | |
var :env | |
internalNew(:env) | |
:env.self1 = self | |
:env.pbytes3 = pbytes | |
:env.nbytes2 = nbytes | |
## Read `nbytes` from current position in the StoreStream into output buffer pointed by `pbytes`. | |
## Return how many bytes were actually read before EOF was encountered. | |
## Raise exception if we are already at EOF. | |
## | |
iterator readOnce_9579790395(chronosInternalRetFuture: FutureBase; :envP): FutureBase {. | |
closure, gcsafe, raises: [Exception], raises: [], raises: [], raises: [], | |
raises: [], raises: [], raises: [], raises: [].} = | |
{.push, warning[resultshadowed]: false.} | |
var result: int | |
{.pop.} | |
block: | |
## Read `nbytes` from current position in the StoreStream into output buffer pointed by `pbytes`. | |
## Return how many bytes were actually read before EOF was encountered. | |
## Raise exception if we are already at EOF. | |
## | |
{.noSideEffect.}: | |
{.push, warning[BareExcept]: false.} | |
try: | |
bind logIMPL, bindSym, brForceOpen | |
try: | |
block chroniclesLogStmt: | |
if not topicsMatch(LogLevel(1), [topicStateIMPL("codex"), | |
topicStateIMPL("storestream")]): | |
break chroniclesLogStmt | |
var record_9579790424: | |
defaultChroniclesStreamLogRecord | |
mixin activateOutput | |
record_9579790424 = default(typeof(record_9579790424)) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][0].currentRecordLevel = LogLevel(1) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][1].currentRecordLevel = LogLevel(1) | |
initLogRecord(record_9579790424[0], LogLevel(1), | |
"codex storestream", "Reading from manifest") | |
initLogRecord(record_9579790424[1], LogLevel(1), | |
"codex storestream", "Reading from manifest") | |
setProperty(record_9579790424[0], "tid", getLogThreadId()) | |
writeField(record_9579790424[1].jsonWriter, "tid", getLogThreadId()) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790424[0], "cid", | |
shortLog(value(cid(self.manifest)))) | |
setProperty(record_9579790424[1], "cid", | |
shortLog(value(cid(self.manifest)))) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790424[0], "blocks", len(self.manifest)) | |
setProperty(record_9579790424[1], "blocks", len(self.manifest)) | |
logAllDynamicProperties( | |
defaultChroniclesStream, record_9579790424) | |
flushRecord(record_9579790424[0]) | |
flushRecord(record_9579790424[1]) | |
except CatchableError as err`gensym14: | |
logLoggingFailure(cstring("Reading from manifest"), err`gensym14) | |
except: | |
discard | |
{.pop.} | |
if atEof(self): | |
raise newLPStreamEOFError() | |
var read = 0 | |
while read < nbytes and not atEof(self): | |
let | |
blockNum = self.offset div int(blockSize(self.manifest)) | |
blockOffset = self.offset mod int(blockSize(self.manifest)) | |
readBytes = min([size(self) - self.offset, nbytes - read, | |
int(blockSize(self.manifest)) - blockOffset]) | |
var error`gensym39: ref CatchableError | |
let ok`gensym40 = | |
let previousErrorVariable`gensym41 = errorVariable | |
errorVariable = addr error`gensym39 | |
discard | |
let evaluated`gensym41 = | |
let evaluated`gensym43 = | |
chronosInternalRetFuture.internalChild = getBlock(self.store, | |
self.manifest[blockNum]) | |
yield chronosInternalRetFuture.internalChild | |
if chronosInternalRetFuture.internalMustCancel: | |
raise (ref CancelledError)(msg: "Future operation cancelled!") | |
internalCheckComplete(chronosInternalRetFuture.internalChild) | |
internalRead(cast[type(getBlock(self.store, | |
self.manifest[blockNum]))](chronosInternalRetFuture.internalChild)) | |
let option`gensym43 = option(evaluated`gensym43) | |
type | |
T`gensym43 = typeof(option`gensym43.unsafeGet()) | |
let blk = if isSome(option`gensym43): unsafeGet(option`gensym43) else: | |
mixin error | |
errorVariable[] = error(evaluated`gensym43) | |
placeholder(T`gensym43) | |
isSome(option`gensym43) | |
discard | |
errorVariable = previousErrorVariable`gensym41 | |
evaluated`gensym41 | |
if not ok`gensym40: | |
template error(): ref CatchableError = | |
error`gensym39 | |
raise newLPStreamReadError(error`gensym39) | |
{.noSideEffect.}: | |
{.push, warning[BareExcept]: false.} | |
try: | |
bind logIMPL, bindSym, brForceOpen | |
try: | |
block chroniclesLogStmt: | |
if not topicsMatch(LogLevel(1), [topicStateIMPL("codex"), | |
topicStateIMPL("storestream")]): | |
break chroniclesLogStmt | |
var record_9579790798: | |
defaultChroniclesStreamLogRecord | |
mixin activateOutput | |
record_9579790798 = default(typeof(record_9579790798)) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][0].currentRecordLevel = LogLevel(1) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][1].currentRecordLevel = LogLevel(1) | |
initLogRecord(record_9579790798[0], LogLevel(1), | |
"codex storestream", | |
"Reading bytes from store stream") | |
initLogRecord(record_9579790798[1], LogLevel(1), | |
"codex storestream", | |
"Reading bytes from store stream") | |
setProperty(record_9579790798[0], "tid", getLogThreadId()) | |
writeField(record_9579790798[1].jsonWriter, "tid", | |
getLogThreadId()) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "blockNum", blockNum) | |
setProperty(record_9579790798[1], "blockNum", blockNum) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "cid", shortLog(blk.cid)) | |
setProperty(record_9579790798[1], "cid", shortLog(blk.cid)) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "bytes", readBytes) | |
setProperty(record_9579790798[1], "bytes", readBytes) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "blockOffset", blockOffset) | |
setProperty(record_9579790798[1], "blockOffset", blockOffset) | |
logAllDynamicProperties( | |
defaultChroniclesStream, record_9579790798) | |
flushRecord(record_9579790798[0]) | |
flushRecord(record_9579790798[1]) | |
except CatchableError as err`gensym58: | |
logLoggingFailure(cstring("Reading bytes from store stream"), | |
err`gensym58) | |
except: | |
discard | |
{.pop.} | |
if isEmpty(blk): | |
zeroMem( | |
cast[pointer](cast[uint](pbytes) + cast[uint](read)), readBytes) | |
else: | |
copyMem( | |
cast[pointer](cast[uint](pbytes) + cast[uint](read)), | |
addr(blk.data[blockOffset]), readBytes) | |
self.offset += readBytes | |
read += readBytes | |
complete(cast[Future[int]](chronosInternalRetFuture), read, srcLocImpl("", | |
(filename: "storestream.nim", line: 118, column: 9).filename, | |
(filename: "storestream.nim", line: 118, column: 9).line)) | |
return nil | |
complete(cast[Future[int]](chronosInternalRetFuture), result, srcLocImpl("", | |
(filename: "storestream.nim", line: 80, column: 2).filename, | |
(filename: "storestream.nim", line: 80, column: 2).line)) | |
let resultFuture = | |
newFutureImpl(srcLocImpl("readOnce", "storestream.nim", 75)) | |
resultFuture.internalClosure = | |
var :env | |
internalNew(:env) | |
:env.`:up` = :env | |
(readOnce_9579790395, :env) | |
futureContinue(FutureBase(resultFuture)) | |
return resultFuture | |
genProcBody: method readOnce(self: StoreStream; pbytes: pointer; nbytes: int): Future[int] {. | |
stackTrace: false, gcsafe, raises: [], raises: [], raises: [].} = | |
## Read `nbytes` from current position in the StoreStream into output buffer pointed by `pbytes`. | |
## Return how many bytes were actually read before EOF was encountered. | |
## Raise exception if we are already at EOF. | |
## | |
iterator readOnce_9579790395(chronosInternalRetFuture: FutureBase; :envP): FutureBase {. | |
closure, gcsafe, raises: [Exception], raises: [], raises: [], raises: [], | |
raises: [], raises: [], raises: [], raises: [].} = | |
{.push, warning[resultshadowed]: false.} | |
var result: int | |
{.pop.} | |
block: | |
## Read `nbytes` from current position in the StoreStream into output buffer pointed by `pbytes`. | |
## Return how many bytes were actually read before EOF was encountered. | |
## Raise exception if we are already at EOF. | |
## | |
{.noSideEffect.}: | |
{.push, warning[BareExcept]: false.} | |
try: | |
bind logIMPL, bindSym, brForceOpen | |
try: | |
block chroniclesLogStmt: | |
if not topicsMatch(LogLevel(1), [topicStateIMPL("codex"), | |
topicStateIMPL("storestream")]): | |
break chroniclesLogStmt | |
var record_9579790424: | |
defaultChroniclesStreamLogRecord | |
mixin activateOutput | |
record_9579790424 = default(typeof(record_9579790424)) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][0].currentRecordLevel = LogLevel(1) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][1].currentRecordLevel = LogLevel(1) | |
initLogRecord(record_9579790424[0], LogLevel(1), | |
"codex storestream", "Reading from manifest") | |
initLogRecord(record_9579790424[1], LogLevel(1), | |
"codex storestream", "Reading from manifest") | |
setProperty(record_9579790424[0], "tid", getLogThreadId()) | |
writeField(record_9579790424[1].jsonWriter, "tid", | |
getLogThreadId()) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790424[0], "cid", | |
shortLog(value(cid(self.manifest)))) | |
setProperty(record_9579790424[1], "cid", | |
shortLog(value(cid(self.manifest)))) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790424[0], "blocks", len(self.manifest)) | |
setProperty(record_9579790424[1], "blocks", len(self.manifest)) | |
logAllDynamicProperties( | |
defaultChroniclesStream, record_9579790424) | |
flushRecord(record_9579790424[0]) | |
flushRecord(record_9579790424[1]) | |
except CatchableError as err`gensym14: | |
logLoggingFailure(cstring("Reading from manifest"), err`gensym14) | |
except: | |
discard | |
{.pop.} | |
if atEof(self): | |
raise newLPStreamEOFError() | |
var read = 0 | |
while read < nbytes and not atEof(self): | |
let | |
blockNum = self.offset div int(blockSize(self.manifest)) | |
blockOffset = self.offset mod int(blockSize(self.manifest)) | |
readBytes = min([size(self) - self.offset, nbytes - read, | |
int(blockSize(self.manifest)) - blockOffset]) | |
var error`gensym39: ref CatchableError | |
let ok`gensym40 = | |
let previousErrorVariable`gensym41 = errorVariable | |
errorVariable = addr error`gensym39 | |
discard | |
let evaluated`gensym41 = | |
let evaluated`gensym43 = | |
chronosInternalRetFuture.internalChild = getBlock(self.store, | |
self.manifest[blockNum]) | |
yield chronosInternalRetFuture.internalChild | |
if chronosInternalRetFuture.internalMustCancel: | |
raise (ref CancelledError)(msg: "Future operation cancelled!") | |
internalCheckComplete(chronosInternalRetFuture.internalChild) | |
internalRead(cast[type(getBlock(self.store, | |
self.manifest[blockNum]))](chronosInternalRetFuture.internalChild)) | |
let option`gensym43 = option(evaluated`gensym43) | |
type | |
T`gensym43 = typeof(option`gensym43.unsafeGet()) | |
let blk = if isSome(option`gensym43): unsafeGet(option`gensym43) else: | |
mixin error | |
errorVariable[] = error(evaluated`gensym43) | |
placeholder(T`gensym43) | |
isSome(option`gensym43) | |
discard | |
errorVariable = previousErrorVariable`gensym41 | |
evaluated`gensym41 | |
if not ok`gensym40: | |
template error(): ref CatchableError = | |
error`gensym39 | |
raise newLPStreamReadError(error`gensym39) | |
{.noSideEffect.}: | |
{.push, warning[BareExcept]: false.} | |
try: | |
bind logIMPL, bindSym, brForceOpen | |
try: | |
block chroniclesLogStmt: | |
if not topicsMatch(LogLevel(1), [topicStateIMPL("codex"), | |
topicStateIMPL("storestream")]): | |
break chroniclesLogStmt | |
var record_9579790798: | |
defaultChroniclesStreamLogRecord | |
mixin activateOutput | |
record_9579790798 = default(typeof(record_9579790798)) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][0].currentRecordLevel = LogLevel(1) | |
{.gcsafe.}: | |
addr defaultChroniclesStreamOutputs | |
[][1].currentRecordLevel = LogLevel(1) | |
initLogRecord(record_9579790798[0], LogLevel(1), | |
"codex storestream", | |
"Reading bytes from store stream") | |
initLogRecord(record_9579790798[1], LogLevel(1), | |
"codex storestream", | |
"Reading bytes from store stream") | |
setProperty(record_9579790798[0], "tid", getLogThreadId()) | |
writeField(record_9579790798[1].jsonWriter, "tid", | |
getLogThreadId()) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "blockNum", blockNum) | |
setProperty(record_9579790798[1], "blockNum", blockNum) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "cid", shortLog(blk.cid)) | |
setProperty(record_9579790798[1], "cid", shortLog(blk.cid)) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "bytes", readBytes) | |
setProperty(record_9579790798[1], "bytes", readBytes) | |
mixin setProperty, formatItIMPL | |
setProperty(record_9579790798[0], "blockOffset", blockOffset) | |
setProperty(record_9579790798[1], "blockOffset", blockOffset) | |
logAllDynamicProperties( | |
defaultChroniclesStream, record_9579790798) | |
flushRecord(record_9579790798[0]) | |
flushRecord(record_9579790798[1]) | |
except CatchableError as err`gensym58: | |
logLoggingFailure(cstring("Reading bytes from store stream"), | |
err`gensym58) | |
except: | |
discard | |
{.pop.} | |
if isEmpty(blk): | |
zeroMem( | |
cast[pointer](cast[uint](pbytes) + cast[uint](read)), readBytes) | |
else: | |
copyMem( | |
cast[pointer](cast[uint](pbytes) + cast[uint](read)), | |
addr(blk.data[blockOffset]), readBytes) | |
self.offset += readBytes | |
read += readBytes | |
complete(cast[Future[int]](chronosInternalRetFuture), read, srcLocImpl("", | |
(filename: "storestream.nim", line: 118, column: 9).filename, | |
(filename: "storestream.nim", line: 118, column: 9).line)) | |
return nil | |
complete(cast[Future[int]](chronosInternalRetFuture), result, srcLocImpl("", | |
(filename: "storestream.nim", line: 80, column: 2).filename, | |
(filename: "storestream.nim", line: 80, column: 2).line)) | |
let resultFuture = | |
newFutureImpl(srcLocImpl("readOnce", (filename: "storestream.nim", line: 75, | |
column: 0).filename, (filename: "storestream.nim", line: 75, column: 0).line)) | |
resultFuture.internalClosure = | |
var :env | |
internalNew(:env) | |
:env.`:up` = :env | |
(readOnce_9579790395, :env) | |
futureContinue(resultFuture) | |
return resultFuture |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment