The first emit would reset the "start time" to `null`, and the second `emitChange` would fail at `nullthrows(eventStartTimestamp)`, because `eventStartTimestamp` is only set *before* `_processFile` starts (and only if already `null`). The problem occurred when an emit interval fell such that a non-empty `emitChange` occurred *during* the async `_processFile` step of a subsequent change. The instrumentation attempted to record the time of the first event in a given batch, and then "reset the clock" when the batch is emitted to the consumer. `metro-file-map` batches changes using `setInterval(emitChange, 30)`. The problem logic is in some instrumentation code introduced in D40346848. Fix "unexpected null" handling overlapping file changes ( #1083 ) Summary:įixes a crash where a race in overlapping file change processing could occasionally throw "unexpected null".
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |