Closed Bug 700302 Opened 13 years ago Closed 13 years ago

trunk crash in strlen coming from jsds_FilterHook (via nsDependentCString::nsDependentCString?)

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla11
Tracking Status
firefox10 + verified

People

(Reporter: kairo, Assigned: sfink)

References

Details

(Keywords: crash, verified-beta, Whiteboard: [qa+][qa!:10])

Crash Data

Attachments

(1 file, 1 obsolete file)

This bug was filed from the Socorro interface and is report bp-54edbd3d-1a2e-4665-ada3-697052111106 . ============================================================= This crash might be related to bug 631113 but I couldn't see nsJSContext::EvaluateString in the stacks, so I'm fining a new one. The report linked above seems to be the signature seen on 64bit, more reports with that are at https://crash-stats.mozilla.com/report/list?signature=strlen%20|%20jsds_FilterHook%28JSDContext*%2C%20JSDThreadState*%29 - the 32bit variant seems to be e.g. bp-45e0579d-b571-41fa-8c60-c7cd02111107 and https://crash-stats.mozilla.com/report/list?signature=strlen%20|%20nsDependentCString%3A%3AnsDependentCString%28char%20const*%29 lists more of those. As JSD is involved, Firebug is installed in all the reports I looked at. Top stack frames from the 64bit variant: 0 msvcr90.dll strlen f:\\dd\\vctools\\crt_bld\\SELF_64_amd64\\crt\\src\\amd64\\strlen.asm:70 1 xul.dll jsds_FilterHook js/jsd/jsd_xpc.cpp:381 2 mozutils.dll je_malloc memory/jemalloc/jemalloc.c:6220 3 nspr4.dll MD_CURRENT_THREAD nsprpub/pr/src/md/windows/w95thred.c:308 4 xul.dll jsdValue::jsdValue js/jsd/jsd_xpc.cpp:2157 5 nspr4.dll PR_Unlock nsprpub/pr/src/threads/combined/prulock.c:347 6 xul.dll jsdValue::FromPtr js/jsd/jsd_xpc.cpp:2147 7 xul.dll jsds_ExecutionHookProc js/jsd/jsd_xpc.cpp:684 8 xul.dll jsd_NewThreadState js/jsd/jsd_stak.c:169 9 xul.dll xul.dll@0x8d6d63 10 xul.dll xul.dll@0x8d6d63 11 xul.dll xul.dll@0x8d6d63 12 xul.dll jsd_CallExecutionHook js/jsd/jsd_hook.c:177 13 xul.dll jsd_ThrowHandler js/jsd/jsd_hook.c:149 14 xul.dll xul.dll@0x8d6d63 15 xul.dll js::Interpret js/src/jsinterp.cpp:5950 [...] 43 xul.dll js::Invoke js/src/jsinterp.cpp:679 44 xul.dll nsCxPusher::~nsCxPusher content/base/src/nsContentUtils.cpp:2508 45 xul.dll JS_CallFunctionValue js/src/jsapi.cpp:5168 46 xul.dll nsXBLProtoImplAnonymousMethod::Execute content/xbl/src/nsXBLProtoImplMethod.cpp:367 [...] (those frames in the 40s are just included to see that in both 64bit and 32bit we're going from XBL into JS) Top frames on 32bit: 0 msvcr80.dll strlen F:\\dd\\vctools\\crt_bld\\SELF_X86\\crt\\src\\intel\\strlen.asm:81 1 xul.dll nsDependentCString::nsDependentCString obj-firefox/dist/include/nsTDependentString.h:90 2 xul.dll jsds_FilterHook js/jsd/jsd_xpc.cpp:381 3 xul.dll jsds_ExecutionHookProc js/jsd/jsd_xpc.cpp:684 4 xul.dll jsd_CallExecutionHook js/jsd/jsd_hook.c:177 5 xul.dll jsd_ThrowHandler js/jsd/jsd_hook.c:149 6 mozjs.dll js::Interpret js/src/jsinterp.cpp:5950 7 mozjs.dll JSScript::makeTypes js/src/jsinfer.cpp:5443 8 mozjs.dll js::RunScript js/src/jsinterp.cpp:584 9 mozjs.dll js::InvokeKernel js/src/jsinterp.cpp:647 10 mozjs.dll js::Invoke js/src/jsinterp.cpp:679 11 mozjs.dll JS_CallFunctionValue js/src/jsapi.cpp:5168 12 xul.dll nsXBLProtoImplAnonymousMethod::Execute content/xbl/src/nsXBLProtoImplMethod.cpp:367 [...] While the 32bit signature seems to be present in older versions as well, both have been not happening on trunk in the last few days before, but suddenly came to existence with the 10.0a1 Nightly builds from 2001-11-05 are have been #2 (64bit) and #5 (32bit) topcrashes on 10 yesterday.
It looks like bp-f2aaa844-2a19-4abd-ba64-1d16f2111106 is a Linux example, see https://crash-stats.mozilla.com/report/list?signature=jsds_FilterHook for more Linux reports with the jsds_FilterHook signature.
Crash Signature: [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] → [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] [@ jsds_FilterHook ]
I see crashes in Windows that started using the 2011110500 build. I will get the pushlog regression range.
OS: Linux → All
Hardware: x86_64 → All
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=3491b2f021bf&tochange=ae9e5bf847fc is the pushlog regression range according to what it is in crash stats. Some of the comments mention that they are crashing every time they close the browser.
(In reply to Marcia Knous [:marcia] from comment #2) > I see crashes in Windows that started using the 2011110500 build. Oh, I filed this for the Windows reports anyhow originally, I just forgot to correct the fields from my platform to that... ;-)
Occurs to me (Ubuntu 11.10 64 bits), after most of times I close the browser Firefox won't launch again (keeps crashing) unless I extract the .tar.bz2 nightly archive into firefox directory again.
Adding the Mac signature - the Mac spike started on the trunk the same time as the Windows crash and seems to be only happening on 10.7.
Crash Signature: [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] [@ jsds_FilterHook ] → [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] [@ jsds_FilterHook ] [@ libsystem_c.dylib@0xa24f0 ]
I hit a crash on restart [@ strlen | jsds_FilterHook ] on Mac OS X 10.5 after my session hit > 1G memory usage and I couldn't shutdown and was forced to kill the process. On restarting I got in a crash on restart loop that only terminated when I removed the most recent window (a bugzilla query that had not completed). bp-13a15cdb-c741-45db-813d-5c5f52111108 bp-d6a0977c-2dc3-423d-8325-9ed5e2111108 bp-29ea163c-640f-42e5-84f6-d30a82111108 bp-cae1b545-33c4-43b2-92b5-0603d2111108
Got into another crash+crash on restart cycle on Mac OS X 10.5. Was probably related to Firebug 1.9.0a5 which I have disabled.
Crash Signature: [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] [@ jsds_FilterHook ] [@ libsystem_c.dylib@0xa24f0 ] → [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] [@ jsds_FilterHook ] [@ libsystem_c.dylib@0xa24f0 ] [@ strlen | jsds_FilterHook]
I'm the one who filed bug 701121, and I got the crash on restart cycle too. I have Firebug 1.8.4 installed (I disabled addon compatibility), so that might be related.
from the jsd_xpc side, the code expects a null but uses a Dependent string which objects. however, this code worked fine for nearly 3 years, so js seems to have changed something.
Blocks: 136292
Attached patch Handle null script filenames (obsolete) — Splinter Review
timeless popped up on IRC because he ran into this, and gave the simple solution. Apparently, the JS engine is now returning null from JS_GetScriptFilename where it wasn't before. (That function hasn't changed, but apparently our policy on script->filename being NULL has?)
Assignee: general → sphink
Status: NEW → ASSIGNED
write user: timeless@mozdev.org and use r=sfink
Attachment #573866 - Attachment is obsolete: true
Attachment #573871 - Flags: review+
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla11
This happens in 10.0a2 Aurora as well.
This is definitely fixed. FYI
I can confirm both: - I don't see the problem on Nightly any more - Aurora crashes (waiting for the patch, which is only in Nightly so far, I guess) Honza
Comment on attachment 573871 [details] [diff] [review] Handle null script filenames If I am interpreting https://crash-stats.mozilla.com/report/list?signature=msvcr80.dll%400x14500 , then this is crashing on Aurora. That doesn't seem like a good thing. Simple, safe fix. Requesting approval.
Attachment #573871 - Flags: approval-mozilla-aurora?
Oh, sorry. This appears to be causing bug 700311.
"causing"? you mean "fixes", right? bug 700311 comment 7
(In reply to Daniel Veditz from comment #22) > "causing"? you mean "fixes", right? bug 700311 comment 7 Sorry. It's all a matter of perspective and ambiguous referents. I'll try to be more clear. The fix attached to this bug should also fix bug 700311. I'll go dupe it.
It's the bug report that just keeps on giving. Every update is like a fresh bird dropping on my upturned innocent face. I'm pretty sure if I were a developer I'd apply a filter-to-****-trash on all bugzilla emails almost immediately.
Triagers - we need to get this approved for Aurora.
Crash Signature: [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] [@ jsds_FilterHook ] [@ libsystem_c.dylib@0xa24f0 ] [@ strlen | jsds_FilterHook] → [@ strlen | jsds_FilterHook(JSDContext*, JSDThreadState*)] [@ strlen | nsDependentCString::nsDependentCString(char const*)] [@ jsds_FilterHook ] [@ libsystem_c.dylib@0xa24f0 ] [@ strlen | jsds_FilterHook] [@ msvcr80.dll@0x14500 ]
There are over 800 of these in the past 2 weeks. I only checked one of the signatures. It looks like it was introduced in 10 on the trunk.
Attachment #573871 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Depends on: 711953
What are the steps to reproduce this bug so QA can verify the fix?
Whiteboard: [qa?]
(In reply to Anthony Hughes, Mozilla QA (irc: ashughes) from comment #30) > What are the steps to reproduce this bug so QA can verify the fix? You can use my STR here: https://bugzilla.mozilla.org/show_bug.cgi?id=700311#c1 Honza
qa+ for verification using the following steps: 1) Install Firebug from here: http://getfirebug.com/releases/firebug/1.9/firebug-1.9.0a5.xpi 2) Restart Firefox, load www.google.com and set it as the home page 3) Open Firebug and enable the Script panel 4) Restart, Firebug should be enabled by default > Crash (you might need to restart several times) NOTE: Sometimes the crash happens when shutdowning Firefox, sometimes when it's starting.
Whiteboard: [qa?] → [qa+]
Verified as fixed using the steps from Comment 32 on: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0) Gecko/20100101 Firefox/10.0 Mozilla/5.0 (Windows NT 6.1; rv:10.0) Gecko/20100101 Firefox/10.0 Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0 Firefox does not crash when shutting down or starting.
Keywords: verified-beta
Whiteboard: [qa+] → [qa+][qa!:10]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: