Skip to content

Instantly share code, notes, and snippets.

@nd
Created October 25, 2019 13:11
Show Gist options
  • Save nd/6c1fe924252311cb859beddd6f8d3f0d to your computer and use it in GitHub Desktop.
Save nd/6c1fe924252311cb859beddd6f8d3f0d to your computer and use it in GitHub Desktop.
2019-10-25T15:10:16+02:00 info layer=rpc Using API v1
2019-10-25T15:10:16+02:00 debug layer=rpc <- RPCServer.SetApiVersion(api.SetAPIVersionIn{"APIVersion":2})
2019-10-25T15:10:16+02:00 debug layer=rpc -> *api.SetAPIVersionOut{} error: ""
2019-10-25T15:10:16+02:00 debug layer=rpc <- RPCServer.IsMulticlient(rpc2.IsMulticlientIn{})
2019-10-25T15:10:16+02:00 debug layer=rpc -> *rpc2.IsMulticlientOut{"IsMulticlient":false} error: ""
2019-10-25T15:10:16+02:00 debug layer=rpc <- RPCServer.Recorded(rpc2.RecordedIn{})
2019-10-25T15:10:16+02:00 debug layer=rpc -> *rpc2.RecordedOut{"Recorded":false,"TraceDirectory":""} error: ""
2019-10-25T15:10:16+02:00 debug layer=rpc <- RPCServer.IsMulticlient(rpc2.IsMulticlientIn{})
2019-10-25T15:10:16+02:00 debug layer=rpc -> *rpc2.IsMulticlientOut{"IsMulticlient":false} error: ""
2019-10-25T15:10:19+02:00 debug layer=rpc <- RPCServer.FindLocation(rpc2.FindLocationIn{"Scope":{"GoroutineID":-1,"Frame":0,"DeferredCall":0},"Loc":"main.go:8"})
2019-10-25T15:10:19+02:00 debug layer=rpc -> *rpc2.FindLocationOut{"Locations":[{"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false}}]} error: ""
2019-10-25T15:10:19+02:00 debug layer=rpc <- RPCServer.CreateBreakpoint(rpc2.CreateBreakpointIn{"Breakpoint":{"id":0,"name":"","addr":4547037,"file":"","line":0,"Cond":"","continue":false,"traceReturn":false,"goroutine":false,"stacktrace":0,"LoadArgs":null,"LoadLocals":null,"hitCount":null,"totalHitCount":0}})
2019-10-25T15:10:19+02:00 debug layer=rpc -> *rpc2.CreateBreakpointOut{"Breakpoint":{"id":1,"name":"","addr":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"functionName":"main.main","Cond":"","continue":false,"traceReturn":false,"goroutine":false,"stacktrace":0,"LoadArgs":null,"LoadLocals":null,"hitCount":{},"totalHitCount":0}} error: ""
2019-10-25T15:10:20+02:00 debug layer=rpc (async 7) <- RPCServer.Command(api.DebuggerCommand{"name":"continue","ReturnInfoLoadConfig":{"FollowPointers":true,"MaxVariableRecurse":1,"MaxStringLen":64,"MaxArrayValues":64,"MaxStructFields":-1}})
2019-10-25T15:10:20+02:00 debug layer=rpc (async 7) -> rpc2.CommandOut{"State":{"Running":false,"currentThread":{"id":9590,"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false},"goroutineID":1,"breakPoint":{"id":1,"name":"","addr":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"functionName":"main.main","Cond":"","continue":false,"traceReturn":false,"goroutine":false,"stacktrace":0,"LoadArgs":null,"LoadLocals":null,"hitCount":{"1":1},"totalHitCount":1},"breakPointInfo":{},"ReturnValues":null},"currentGoroutine":{"id":1,"currentLoc":{"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false}},"userCurrentLoc":{"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false}},"goStatementLoc":{"pc":4513129,"file":"/home/nd/go/go1.12.9/src/runtime/asm_amd64.s","line":201,"function":{"name":"runtime.rt0_go","value":4512832,"type":0,"goType":0,"optimized":true}},"startLoc":{"pc":4360704,"file":"/home/nd/go/go1.12.9/src/runtime/proc.go","line":110,"function":{"name":"runtime.main","value":4360704,"type":0,"goType":0,"optimized":true}},"threadID":9590,"unreadable":""},"Threads":[{"id":9590,"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false},"goroutineID":1,"breakPoint":{"id":1,"name":"","addr":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"functionName":"main.main","Cond":"","continue":false,"traceReturn":false,"goroutine":false,"stacktrace":0,"LoadArgs":null,"LoadLocals":null,"hitCount":{"1":1},"totalHitCount":1},"breakPointInfo":{},"ReturnValues":null},{"id":9599,"pc":4527741,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":131,"function":{"name":"runtime.usleep","value":4527680,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null},{"id":9600,"pc":4529171,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":536,"function":{"name":"runtime.futex","value":4529136,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null},{"id":9601,"pc":4529171,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":536,"function":{"name":"runtime.futex","value":4529136,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null},{"id":9602,"pc":4529171,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":536,"function":{"name":"runtime.futex","value":4529136,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null}],"NextInProgress":false,"exited":false,"exitStatus":0,"When":""}} error: ""
2019-10-25T15:10:20+02:00 debug layer=rpc <- RPCServer.LastModified(rpc2.LastModifiedIn{})
2019-10-25T15:10:20+02:00 debug layer=rpc -> *rpc2.LastModifiedOut{"Time":"2019-10-25T15:10:16.399084355+02:00"} error: ""
2019-10-25T15:10:23+02:00 debug layer=rpc <- RPCServer.Eval(rpc2.EvalIn{"Scope":{"GoroutineID":-1,"Frame":0,"DeferredCall":0},"Expr":"x","Cfg":{"FollowPointers":true,"MaxVariableRecurse":1,"MaxStringLen":64,"MaxArrayValues":64,"MaxStructFields":-1}})
2019-10-25T15:10:23+02:00 debug layer=rpc -> *rpc2.EvalOut{"Variable":{"name":"x","addr":824634001280,"onlyAddr":false,"type":"chan int","realType":"chan int","flags":0,"kind":18,"value":"","len":11,"cap":0,"children":[{"name":"qcount","addr":824634261504,"onlyAddr":false,"type":"uint","realType":"uint","flags":0,"kind":7,"value":"3","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"dataqsiz","addr":824634261512,"onlyAddr":false,"type":"uint","realType":"uint","flags":0,"kind":7,"value":"10","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"buf","addr":824634261520,"onlyAddr":false,"type":"*[10]int","realType":"*[10]int","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":824634261600,"onlyAddr":false,"type":"[10]int","realType":"[10]int","flags":0,"kind":17,"value":"","len":10,"cap":-1,"children":[{"name":"","addr":824634261600,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"1","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261608,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"3","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261616,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"5","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261624,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261632,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261640,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261648,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261656,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261664,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"","addr":824634261672,"onlyAddr":false,"type":"int","realType":"int","flags":0,"kind":2,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":824634261600,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"elemsize","addr":824634261528,"onlyAddr":false,"type":"uint16","realType":"uint16","flags":0,"kind":7,"value":"8","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"closed","addr":824634261532,"onlyAddr":false,"type":"uint32","realType":"uint32","flags":0,"kind":7,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"elemtype","addr":824634261536,"onlyAddr":false,"type":"*runtime._type","realType":"*runtime._type","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":4596192,"onlyAddr":false,"type":"runtime._type","realType":"runtime._type","flags":0,"kind":25,"value":"","len":11,"cap":0,"children":[{"name":"size","addr":4596192,"onlyAddr":false,"type":"uintptr","realType":"uintptr","flags":0,"kind":7,"value":"8","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"ptrdata","addr":4596200,"onlyAddr":false,"type":"uintptr","realType":"uintptr","flags":0,"kind":7,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"hash","addr":4596208,"onlyAddr":false,"type":"uint32","realType":"uint32","flags":0,"kind":7,"value":"4149441018","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"tflag","addr":4596212,"onlyAddr":false,"type":"runtime.tflag","realType":"runtime.tflag","flags":0,"kind":7,"value":"tflagUncommon|tflagExtraStar|tflagNamed (7)","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"align","addr":4596213,"onlyAddr":false,"type":"uint8","realType":"uint8","flags":0,"kind":7,"value":"8","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"fieldalign","addr":4596214,"onlyAddr":false,"type":"uint8","realType":"uint8","flags":0,"kind":7,"value":"8","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"kind","addr":4596215,"onlyAddr":false,"type":"uint8","realType":"uint8","flags":0,"kind":7,"value":"130","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"alg","addr":4596216,"onlyAddr":false,"type":"*runtime.typeAlg","realType":"*runtime.typeAlg","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":5013264,"onlyAddr":false,"type":"runtime.typeAlg","realType":"runtime.typeAlg","flags":0,"kind":25,"value":"","len":2,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"gcdata","addr":4596224,"onlyAddr":false,"type":"*uint8","realType":"*uint8","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":4707527,"onlyAddr":false,"type":"uint8","realType":"uint8","flags":0,"kind":7,"value":"1","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"str","addr":4596232,"onlyAddr":false,"type":"runtime.nameOff","realType":"runtime.nameOff","flags":0,"kind":2,"value":"767","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"ptrToThis","addr":4596236,"onlyAddr":false,"type":"runtime.typeOff","realType":"runtime.typeOff","flags":0,"kind":2,"value":"29824","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"sendx","addr":824634261544,"onlyAddr":false,"type":"uint","realType":"uint","flags":0,"kind":7,"value":"3","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"recvx","addr":824634261552,"onlyAddr":false,"type":"uint","realType":"uint","flags":0,"kind":7,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"recvq","addr":824634261560,"onlyAddr":false,"type":"waitq\u003cint\u003e","realType":"waitq\u003cint\u003e","flags":0,"kind":25,"value":"","len":2,"cap":0,"children":[{"name":"first","addr":824634261560,"onlyAddr":false,"type":"*sudog\u003cint\u003e","realType":"*sudog\u003cint\u003e","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":0,"onlyAddr":false,"type":"sudog\u003cint\u003e","realType":"sudog\u003cint\u003e","flags":0,"kind":25,"value":"","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"last","addr":824634261568,"onlyAddr":false,"type":"*sudog\u003cint\u003e","realType":"*sudog\u003cint\u003e","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":0,"onlyAddr":false,"type":"sudog\u003cint\u003e","realType":"sudog\u003cint\u003e","flags":0,"kind":25,"value":"","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"sendq","addr":824634261576,"onlyAddr":false,"type":"waitq\u003cint\u003e","realType":"waitq\u003cint\u003e","flags":0,"kind":25,"value":"","len":2,"cap":0,"children":[{"name":"first","addr":824634261576,"onlyAddr":false,"type":"*sudog\u003cint\u003e","realType":"*sudog\u003cint\u003e","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":0,"onlyAddr":false,"type":"sudog\u003cint\u003e","realType":"sudog\u003cint\u003e","flags":0,"kind":25,"value":"","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"last","addr":824634261584,"onlyAddr":false,"type":"*sudog\u003cint\u003e","realType":"*sudog\u003cint\u003e","flags":0,"kind":22,"value":"","len":1,"cap":0,"children":[{"name":"","addr":0,"onlyAddr":false,"type":"sudog\u003cint\u003e","realType":"sudog\u003cint\u003e","flags":0,"kind":25,"value":"","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0},{"name":"lock","addr":824634261592,"onlyAddr":false,"type":"runtime.mutex","realType":"runtime.mutex","flags":0,"kind":25,"value":"","len":1,"cap":0,"children":[{"name":"key","addr":824634261592,"onlyAddr":false,"type":"uintptr","realType":"uintptr","flags":0,"kind":7,"value":"0","len":0,"cap":0,"children":[],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":0,"unreadable":"","LocationExpr":"","DeclLine":0}],"base":824634261504,"unreadable":"","LocationExpr":"[block] DW_OP_fbreg -0x18 ","DeclLine":4}} error: ""
2019-10-25T15:10:43+02:00 debug layer=rpc <- RPCServer.Eval(rpc2.EvalIn{"Scope":{"GoroutineID":-1,"Frame":0,"DeferredCall":0},"Expr":"*(*\"[10]int\")(824634261520)","Cfg":{"FollowPointers":true,"MaxVariableRecurse":1,"MaxStringLen":64,"MaxArrayValues":64,"MaxStructFields":-1}})
2019-10-25T15:10:43+02:00 debug layer=rpc -> *rpc2.EvalOut{"Variable":null} error: "function calls not allowed without using 'call'"
2019-10-25T15:10:45+02:00 debug layer=rpc <- RPCServer.State(rpc2.StateIn{"NonBlocking":false})
2019-10-25T15:10:45+02:00 debug layer=rpc -> *rpc2.StateOut{"State":{"Running":false,"currentThread":{"id":9590,"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false},"goroutineID":1,"breakPoint":{"id":1,"name":"","addr":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"functionName":"main.main","Cond":"","continue":false,"traceReturn":false,"goroutine":false,"stacktrace":0,"LoadArgs":null,"LoadLocals":null,"hitCount":{"1":1},"totalHitCount":1},"ReturnValues":null},"currentGoroutine":{"id":1,"currentLoc":{"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false}},"userCurrentLoc":{"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false}},"goStatementLoc":{"pc":4513129,"file":"/home/nd/go/go1.12.9/src/runtime/asm_amd64.s","line":201,"function":{"name":"runtime.rt0_go","value":4512832,"type":0,"goType":0,"optimized":true}},"startLoc":{"pc":4360704,"file":"/home/nd/go/go1.12.9/src/runtime/proc.go","line":110,"function":{"name":"runtime.main","value":4360704,"type":0,"goType":0,"optimized":true}},"threadID":9590,"unreadable":""},"Threads":[{"id":9599,"pc":4527741,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":131,"function":{"name":"runtime.usleep","value":4527680,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null},{"id":9600,"pc":4529171,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":536,"function":{"name":"runtime.futex","value":4529136,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null},{"id":9601,"pc":4529171,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":536,"function":{"name":"runtime.futex","value":4529136,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null},{"id":9602,"pc":4529171,"file":"/home/nd/go/go1.12.9/src/runtime/sys_linux_amd64.s","line":536,"function":{"name":"runtime.futex","value":4529136,"type":0,"goType":0,"optimized":true},"goroutineID":0,"ReturnValues":null},{"id":9590,"pc":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"function":{"name":"main.main","value":4546896,"type":0,"goType":0,"optimized":false},"goroutineID":1,"breakPoint":{"id":1,"name":"","addr":4547037,"file":"/home/nd/tmp/awesomeProject4/main.go","line":8,"functionName":"main.main","Cond":"","continue":false,"traceReturn":false,"goroutine":false,"stacktrace":0,"LoadArgs":null,"LoadLocals":null,"hitCount":{"1":1},"totalHitCount":1},"ReturnValues":null}],"NextInProgress":false,"exited":false,"exitStatus":0,"When":""}} error: ""
2019-10-25T15:10:45+02:00 debug layer=rpc <- RPCServer.IsMulticlient(rpc2.IsMulticlientIn{})
2019-10-25T15:10:45+02:00 debug layer=rpc -> *rpc2.IsMulticlientOut{"IsMulticlient":false} error: ""
2019-10-25T15:10:45+02:00 debug layer=rpc <- RPCServer.AttachedToExistingProcess(rpc2.AttachedToExistingProcessIn{})
2019-10-25T15:10:45+02:00 debug layer=rpc -> *rpc2.AttachedToExistingProcessOut{"Answer":false} error: ""
2019-10-25T15:10:45+02:00 debug layer=rpc <- RPCServer.Detach(rpc2.DetachIn{"Kill":true})
2019-10-25T15:10:45+02:00 debug layer=rpc -> *rpc2.DetachOut{} error: ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment