#23 reliably trigger "(scan)" output

오픈
themusicgod15 년 전을 오픈 · 1개의 코멘트
Jeff Cliff 코멘트됨, 5 년 전

// - disable automatic GC with runtime.SetGCPercent(-1) // - a goroutine with a large number of items in the stack // - large heap to make the scanning process slow enough // - trigger a manual GC with go runtime.GC() // - panic in the meantime // This would still not be deterministic.

in main.go

// - disable automatic GC with runtime.SetGCPercent(-1) // - a goroutine with a large number of items in the stack // - large heap to make the scanning process slow enough // - trigger a manual GC with go runtime.GC() // - panic in the meantime // This would still not be deterministic. in main.go
Jeff Cliff 코멘트됨, 5 년 전
소유자

I think what this means is crashing in a new way 'scan' that

  • turns off automatic garbage collection
  • makes a large stack
  • makes a large heap
  • trigger garbage collection
  • panic

in such a way as to guarantee ...the panic happen while the GC is ongoing? the panic happen at a particular part of the GC process?

It's almost like they want a hook to execute as part of GC process, like a custom GC? It seems this is underspecified (is it OK if it just hits the GC process at some point?) it sounds like it's not.

I think what this means is crashing in a new way 'scan' that * turns off automatic garbage collection * makes a large stack * makes a large heap * trigger garbage collection * panic in such a way as to guarantee ...the panic happen while the GC is ongoing? the panic happen at a particular part of the GC process? It's almost like they want a hook to execute as part of GC process, like a custom GC? It seems this is underspecified (is it OK if it just hits the GC process at some point?) it sounds like it's not.
로그인하여 이 대화에 참여
마일스톤 없음
담당자 없음
참여자 1명
로딩중...
취소
저장
아직 콘텐츠가 없습니다.