Anyone can make an rr recording of a bug and then submit it to Pernosco using our pernosco-submit script. (Users need to obtain pernosco-submit credentials; individual users can find those credentials in their account page.) There is a delay while Pernosco processes the recording. If successful, Pernosco sends an email to the submitter with a URL to the Pernosco debugger session. If Pernosco fails to process the recording (because of a bug, technical limitation or the recording is too large), it sends an email to the submitter explaining the error and users are not charged.
Pernosco processing takes some time, depending on the size of the recording — usually a matter of minutes — so it's helpful to schedule other work between submitting a recording and debugging it. In exchange, Pernosco provides a fast uninterrupted debugging experience.
Pernosco decouples the work of reproducing a bug from the work of debugging the bug. Therefore, instead of having developers work on reproducing bugs, QA staff can reproduce bugs, generate Pernsoco sessions and pass the Pernosco URLs to developers (e.g. via bug tracking systems). This can save developer time and eliminate the issue of developers being unable to reproduce bugs reported by QA.
This approach applies not just to manually reproduced bugs but also automated reproduction. Test infrastructure such as fuzzers can be augmented so that whenever they identify a bug, they automatically produce an rr recording of the bug, submit it to Pernosco, and forward the Pernosco debugger session URL to relevant developers. Developers can simply click on the link and immediately start inspecting the state of the failed program — effectively eliminating any excuse for not at least taking a look at the bug.