Open Bug 1527736 Opened 6 years ago Updated 2 years ago

ProfilerIOInterposeObserver cannot be re-enabled when restarting the profiler

Categories

(Core :: Gecko Profiler, defect, P2)

62 Branch
defect

Tracking

()

People

(Reporter: gregtatum, Unassigned)

References

(Blocks 2 open bugs)

Details

The function ProfilerIOInterposeObserver::Observe does not run when re-enabled.

Steps to reproduce:

  • Start the profiler with the "mainthreadio" feature turned on.
  • Do some DiskIO
  • Capture profile.
  • The profiler has DiskIO markers.
  • Fully stop the profiler with Services.profiler.StopProfiler()
  • Start the profiler with the "mainthreadio" feature turned on.
  • Do some DiskIO
  • Capture profile.

Expected behavior:

  • There are DiskIO markers

Actual behavior:

  • There are no disk IO markers, and the ProfilerIOInterposeObserver::Observe function is never run.

I was doing some debugging and found that the interposer was being re-created correctly, and the Observe function was being added to the ObserverLists. I believe the poisoned file io functions were still valid, but I suspect for some reason the ObserverList wasn't being updated to use the new one.

Assignee: nobody → gtatum
Priority: -- → P2
Blocks: 1527023
Blocks: 1527741
Assignee: gtatum → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.