Closed
Bug 1166126
Opened 10 years ago
Closed 10 years ago
Frame parsing issues with giant URLs
Categories
(DevTools :: Performance Tools (Profiler/Timeline), defect)
Tracking
(firefox41 fixed)
RESOLVED
FIXED
Firefox 41
| Tracking | Status | |
|---|---|---|
| firefox41 | --- | fixed |
People
(Reporter: jsantell, Unassigned)
References
Details
Attachments
(2 files)
|
408.05 KB,
image/png
|
Details | |
|
3.86 KB,
patch
|
mstange
:
review+
|
Details | Diff | Splinter Review |
When location does not contain a function, like a long URL, the following becomes its "functionName", meaning we print this in the call tree:
https://www.yahoo.com/sy/zz/combo?nn/lib/metro/g/uicontrib/rapid_2.9.11.js&nn/lib/metro/g/yui/oop_3.8.3.js&nn/lib/metro/g/yui/event-custom-base_3.8.3.js&nn/lib/metro/g/yui/event-base_3.8.3.js&nn/lib/metro/g/yui/io-base_3.8.3.js&nn/lib/metro/g/yui/json-parse_3.8.3.js&nn/lib/metro/g/yui/json-stringify_3.8.3.js&nn/lib/metro/g/yui/cookie_3.8.3.js&nn/lib/metro/g/yui/dom-core_3.8.3.js&nn/lib/metro/g/yui/dom-base_3.8.3.js&nn/lib/metro/g/yui/dom-style_3.8.3.js&nn/lib/metro/g/yui/dom-screen_3.8.3.js&nn/lib/metro/g/
Sometimes giant URLs can also have a function, but we do not parse it out correctly, resulting in another giant URL, I believe the last parentheses is not making its way from the profiler, and it's getting cut off.
g (https://www.yahoo.com/sy/zz/combo?nn/lib/metro/g/uicontrib/rapid_2.9.11.js&nn/lib/metro/g/yui/oop_3.8.3.js&nn/lib/metro/g/yui/event-custom-base_3.8.3.js&nn/lib/metro/g/yui/event-base_3.8.3.js&nn/lib/metro/g/yui/io-base_3.8.3.js&nn/lib/metro/g/yui/json-parse_3.8.3.js&nn/lib/metro/g/yui/json-stringify_3.8.3.js&nn/lib/metro/g/yui/cookie_3.8.3.js&nn/lib/metro/g/yui/dom-core_3.8.3.js&nn/lib/metro/g/yui/dom-base_3.8.3.js&nn/lib/metro/g/yui/dom-style_3.8.3.js&nn/lib/metro/g/yui/dom-screen_3.8.3.js&nn/lib/metro
| Reporter | ||
Comment 1•10 years ago
|
||
Hopefully removing the queries from the URLs cleans this up a bit in bug 1049865, but I think we'll need to do some more magic so these giant strings never appear anywhere.
Depends on: 1049865
| Reporter | ||
Updated•10 years ago
|
Blocks: perf-tool-papercuts
| Reporter | ||
Comment 2•10 years ago
|
||
Yap, profiler only contains 512 characters for the location, which means when we parse, we're going to get an ugly response either way
| Reporter | ||
Comment 3•10 years ago
|
||
Example of what gets rendered.
Comment 4•10 years ago
|
||
(In reply to Jordan Santell [:jsantell] [@jsantell] from comment #2)
> Yap, profiler only contains 512 characters for the location, which means
> when we parse, we're going to get an ugly response either way
oh god
Comment 5•10 years ago
|
||
Can we just not bake in those strings in the profile json? AFAIK, we have those strings separate in the first place, but weld them together at some point, then breaking them apart in the frontend. This is terrible.
Comment 7•10 years ago
|
||
Do you have a raw JSON I could look at?
Comment 8•10 years ago
|
||
Updated•10 years ago
|
Attachment #8607322 -
Flags: review?(mstange)
Updated•10 years ago
|
Flags: needinfo?(shu)
Comment 9•10 years ago
|
||
Comment on attachment 8607322 [details] [diff] [review]
Increase the size of the tag buffer in the profiler.
Review of attachment 8607322 [details] [diff] [review]:
-----------------------------------------------------------------
Are we still using dynamic tags for JS frame URLs? I thought we "symbolicated" JS frame when we save the profile? Or did that all just happen in my head?
Attachment #8607322 -
Flags: review?(mstange) → review+
Comment 10•10 years ago
|
||
(In reply to Markus Stange [:mstange] from comment #9)
> Comment on attachment 8607322 [details] [diff] [review]
> Increase the size of the tag buffer in the profiler.
>
> Review of attachment 8607322 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> Are we still using dynamic tags for JS frame URLs? I thought we
> "symbolicated" JS frame when we save the profile? Or did that all just
> happen in my head?
For JIT frames, since we save the instruction pointers for those and "symbolicate" them at streaming time. Interpreter frames (which is what's hitting this limit) is still using the pseudo stack, unfortunately.
Comment 11•10 years ago
|
||
Oh, I see. That is unfortunate.
Updated•10 years ago
|
Keywords: checkin-needed
Comment 12•10 years ago
|
||
Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 41
| Reporter | ||
Comment 14•10 years ago
|
||
Profiler patch landed, but unsure if anything else needs to be done on the client, reopening
| Reporter | ||
Comment 15•10 years ago
|
||
This looks good -- parsing giant URLs. Closing.
Status: REOPENED → RESOLVED
Closed: 10 years ago → 10 years ago
Resolution: --- → FIXED
Comment 16•8 years ago
|
||
Removing leave-open keyword from resolved bugs, per :sylvestre.
Keywords: leave-open
Updated•7 years ago
|
Product: Firefox → DevTools
You need to log in
before you can comment on or make changes to this bug.
Description
•