#23 reliably trigger "(scan)" output

オープン
5 年 前themusicgod1 によって開かれました · 1 コメント
Jeff Cliff5 年 前 にコメントしました

// - 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 Cliff5 年 前 にコメントしました
オーナー

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 参加者
読み込み中…
キャンセル
保存
まだコンテンツがありません