#23 reliably trigger "(scan)" output

Otevřený
otevřeno před 6 roky uživatelem themusicgod1 · 1 komentářů
Jeff Cliff okomentoval před 6 roky

// - 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 okomentoval před 5 roky
Vlastník

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.
Přihlaste se pro zapojení do konverzace.
Bez milníku
Bez zpracovatele
1 účastníků
Načítání...
Zrušit
Uložit
Není zde žádný obsah.