I'm noticing that all the failure cases here have: ``` [task 2023-01-16T22:37:48.219Z] 22:37:48 INFO - GECKO(5509) | [Child 793, Main Thread] WARNING: NS_ENSURE_TRUE(JS_Stringify(aCx, &value, nullptr, JS::NullHandleValue, JSONCreator, &serializedValue)) failed: file /builds/worker/checkouts/gecko/dom/base/nsContentUtils.cpp:10595 ``` in the output *after* the JS is ended and *before* fluent becomes upset and MOZ_CRASH's. Is it possible that the JSON.stringify gives up because we're trying to terminate script or something, and so the variables are all correct and present but because we're ending the process, we stop allowing the stringify to happen? What could consumer code do to address this?
Bug 1801716 Comment 42 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
I'm noticing that all the failure cases here have: ``` [Child 793, Main Thread] WARNING: NS_ENSURE_TRUE(JS_Stringify(aCx, &value, nullptr, JS::NullHandleValue, JSONCreator, &serializedValue)) failed: file /builds/worker/checkouts/gecko/dom/base/nsContentUtils.cpp:10595 ``` in the output *after* the JS is ended and *before* fluent becomes upset and MOZ_CRASH's. Is it possible that the JSON.stringify gives up because we're trying to terminate script or something, and so the variables are all correct and present but because we're ending the process, we stop allowing the stringify to happen? What could consumer code do to address this?
I'm noticing that all the failure cases here have: ``` [Child 793, Main Thread] WARNING: NS_ENSURE_TRUE(JS_Stringify(aCx, &value, nullptr, JS::NullHandleValue, JSONCreator, &serializedValue)) failed: file /builds/worker/checkouts/gecko/dom/base/nsContentUtils.cpp:10595 ``` in the output *after* the JS is ended and *before* fluent becomes upset and MOZ_CRASH's. Is it possible that the C++ equivalent of JSON.stringify invoked by fluent code gives up because we're trying to terminate script or something, and so the variables are all correct and present but because we're ending the process, we stop allowing the stringify to happen? What could consumer code do to address this?