Closed
Bug 1353451
Opened 7 years ago
Closed 7 years ago
"crash" ping creationDate fails to validate against our schema
Categories
(Toolkit :: Telemetry, defect, P2)
Toolkit
Telemetry
Tracking
()
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
firefox55 | --- | affected |
People
(Reporter: Dexter, Unassigned)
References
Details
(Whiteboard: [measurement:client])
Attachments
(1 file)
302.58 KB,
text/plain
|
Details |
While doing QA on bug 1345153, Abe found that the "creationDate" field fails to validate against the schema that we use. This is not blocking the uplift of bug 1345153, as the problem also happens with older Nightlies. It seems to fail because the creationDate string should be something like: > '2017-04-03T15:44:02.000Z' rather than > '2017-04-03T15:44:02Z' We should fix this in the ping generation code or fix the schema. (In reply to Abe - QA (:Abe_LV) from bug 1345153 comment #36) > We have tested this on latest Nightly. > The only concern we have is: when the crash ping is validated against the > schema [1] using an online tool [2], validation fails on creation date. > The error is " String '2017-04-03T15:44:02Z' does not match regex pattern > '^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}Z$'" > > Screen capture: https://testing-1.tinytake.com/sf/MTQ2ODE5NV81MTg5NTc5 > Test cases are here: https://public.etherpad-mozilla.org/p/1345153 > > It is also reproducible on nightly builds of 2017-03-01. > > [1] > https://github.com/mozilla-services/mozilla-pipeline-schemas/blob/master/ > telemetry/crash.schema.json > [2] http://www.jsonschemavalidator.net/
Reporter | ||
Updated•7 years ago
|
Comment 1•7 years ago
|
||
While running the Ping Sender tests for pre-Beta sign-off, I noticed that the creationDate has always a fixed hour, the minutes are not register. On the other hand, for me, creationDate does validate against the schema: "creationDate": "2017-04-06T15:00:00.000Z" Any thoughts? Thanks!
Reporter | ||
Comment 2•7 years ago
|
||
(In reply to Petruta Rasa [QA] [:petruta] from comment #1) > While running the Ping Sender tests for pre-Beta sign-off, I noticed that > the creationDate has always a fixed hour, the minutes are not register. On > the other hand, for me, creationDate does validate against the schema: > > "creationDate": "2017-04-06T15:00:00.000Z" > > Any thoughts? Thanks! The "creationDate" is expected to always have hourly precision, as you noticed, for privacy reasons (the change landed in bug 1345108). Does that answer your question?
Comment 3•7 years ago
|
||
Yes, thank you! No issue in this case.
Comment 4•7 years ago
|
||
Gabriele, Alessio, this might be fixed. Is there anything left to do here?
Flags: needinfo?(gsvelto)
Flags: needinfo?(alessio.placitelli)
Reporter | ||
Comment 5•7 years ago
|
||
(In reply to Georg Fritzsche [:gfritzsche] from comment #4) > Gabriele, Alessio, this might be fixed. > Is there anything left to do here? I think we should, at the very least, verify that this isn't happening anymore. Abe, since you found this, would you be able to verify if it's still happening?
Flags: needinfo?(alessio.placitelli) → needinfo?(amasresha)
Comment 6•7 years ago
|
||
I can still reproduce the issue. The ping does not validate against the schema[1] on an online tool [2]. But it is valid on most other online tools. I am not sure if this is the issue of the validator itself. Screen capture: https://testing-1.tinytake.com/sf/MTQ2ODE5NV81MTg5NTc5 [1] https://github.com/mozilla-services/mozilla-pipeline-schemas/blob/master/telemetry/crash.schema.json [2] http://www.jsonschemavalidator.net/
Flags: needinfo?(amasresha)
Reporter | ||
Comment 7•7 years ago
|
||
(In reply to Abe - QA (:Abe_LV) from comment #6) > I can still reproduce the issue. > The ping does not validate against the schema[1] on an online tool [2]. But > it is valid on most other online tools. > > I am not sure if this is the issue of the validator itself. Do you mean that you're still able generate these pings that don't validate or that the validator still doesn't validate the data that you had gathered before? We need to know if these pings can still be generated with the odd dates :)
Flags: needinfo?(amasresha)
Comment 8•7 years ago
|
||
(In reply to Alessio Placitelli [:Dexter] from comment #7) > Do you mean that you're still able generate these pings that don't validate I am using online tools to validate the ping. The ping is not valid on one of them [1]. This is just the same as it was reported, reproducible. It says it does not match regex pattern error for creationDate. But the same ping is valid in other tools[2][3]. [1] http://www.jsonschemavalidator.net/ [2] https://json-schema-validator.herokuapp.com/ [3] https://jsonschemalint.com/#/version/draft-04/markup/json > or that the validator still doesn't validate the data that you had gathered > before? No
Flags: needinfo?(amasresha)
Comment 9•7 years ago
|
||
Is this for crash pings sent via the pingsender? The relevant code seems to be adding the '.000Z' correctly: https://dxr.mozilla.org/mozilla-central/rev/0b255199db9d6a6f189b89b7906f99155bde3726/toolkit/crashreporter/client/ping.cpp#232 Or maybe is this for other crash pings?
Flags: needinfo?(gsvelto)
Reporter | ||
Comment 10•7 years ago
|
||
(In reply to Gabriele Svelto [:gsvelto] from comment #9) > Is this for crash pings sent via the pingsender? The relevant code seems to > be adding the '.000Z' correctly: > > https://dxr.mozilla.org/mozilla-central/rev/ > 0b255199db9d6a6f189b89b7906f99155bde3726/toolkit/crashreporter/client/ping. > cpp#232 > > Or maybe is this for other crash pings? I think this is for other pings, as it happened with versions without the pingsender too.
Comment 11•7 years ago
|
||
I wonder where this is coming from; for main crash pings the ping is assembled in the crashreporter client and the code looks fine. Then there's content crash pings but those are sent with submitExternalPing() so "creationDate" should be identical to any other ping in the system. I'll do a few tests and see if I can reproduce.
Comment 12•7 years ago
|
||
I've just tested both content and main crashes and both report a value of "creationDate" with the trailing dot, millisecond digits and 'Z' letter. Abe, can you describe exactly how you obtained the ping that failed validation?
Flags: needinfo?(amasresha)
Comment 13•7 years ago
|
||
Screen capture: https://testing-1.tinytake.com/sf/MTU3ODI4Ml81NDA4NzU0 After running few times, I am pretty sure that this is the error of the online validator: http://www.jsonschemavalidator.net/ Steps to Reproduce: 1. Open firefox from clean profile 2. Start the gzipServer 3. set toolkit.telemetry.server to http://127.0.0.1:8080/ 4. Crash the browser using the addon: https://addons.mozilla.org/en-US/firefox/addon/crash-me-now-simple/ 5. Validate your crash ping from gzipServer directory against the schema[1] using an online tool: http://www.jsonschemavalidator.net/ [1] https://raw.githubusercontent.com/mozilla-services/mozilla-pipeline-schemas/master/schemas/telemetry/crash/crash.4.schema.json
Flags: needinfo?(amasresha)
Comment 14•7 years ago
|
||
Yeah, the creationDate field looks correct. I think we can close this safely.
Reporter | ||
Updated•7 years ago
|
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•