Skip to content

Conversation

@jefflee-figma
Copy link

This change allows Speedscope to tolerate Chrome profile chunks where args.data is undefined. It's unclear whether this is a Chrome bug, but we are noticing recent profiles that crash Speedscope without this tweak. FWIW, it also appears that Firefox seems to die on a similar issue.

Happy to provide an example trace that repros, but out of an abundance of caution I'd prefer to email rather than post publicly. Feel free to shoot me an email: [email protected]

const id = event.id || pidTid

if (event.args.data == null) {
console.log('Ignoring CpuProfile event with no data', event)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These logs may be noisy, or not descriptive enough. Let me know!

@jlfwong
Copy link
Owner

jlfwong commented Oct 22, 2025

@jefflee-figma Okay, this seems pretty harmless to me

Can you add a minimal test to this (file should be as small as possible) to prevent this from regressing in the future?

@coveralls
Copy link

coveralls commented Oct 22, 2025

Coverage Status

coverage: 43.509% (+0.06%) from 43.454%
when pulling ac3b0c7 on jefflee-figma:jefflee/fix
into fc76932 on jlfwong:main.

@jefflee-figma
Copy link
Author

jefflee-figma commented Oct 23, 2025

Can you add a minimal test to this (file should be as small as possible) to prevent this from regressing in the future?

Addressed in e180d4e. This is a real-world trace with lots of irrelevant content trimmed out, and some URLs changed to protect the innocent. 🙂

I also added c03112f which removes the log spam. It didn't seem that helpful.

@jlfwong
Copy link
Owner

jlfwong commented Oct 23, 2025

This is almost ready to go -- can you move the test file into the appropriate directory in samples/profiles/Chrome/{whatever version}, and similarly move the test to chrome.test.ts?

Thanks!

@jefflee-figma
Copy link
Author

can you move the test file into the appropriate directory in samples/profiles/Chrome/{whatever version}, and similarly move the test to chrome.test.ts

Yep, thanks for clarifying that. This is addressed in ac3b0c7. I assumed that the directory name should be the major version listed under "About Chrome", but let me know if that is supposed to be something else.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants