Closed Bug 669112 Opened 13 years ago Closed 13 years ago

Intermittent test_partial.js | test failed (with xpcshell return code: 1) from "###!!! ASSERTION: op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0" or "###!!! ASSERTION: RECURSION_LEVEL(table_) > 0"

Categories

(Toolkit :: Safe Browsing, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: philor, Assigned: khuey)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file, 1 obsolete file)

http://tinderbox.mozilla.org/showlog.cgi?log=Mozilla-Inbound/1309740255.1309742023.17538.gz
Rev3 Fedora 12x64 mozilla-inbound debug test xpcshell on 2011/07/03 17:44:15
s: talos-r3-fed64-022

TEST-UNEXPECTED-FAIL | /home/cltbld/talos-slave/test/build/xpcshell/tests/toolkit/components/url-classifier/tests/unit/test_partial.js | test failed (with xpcshell return code: 1), see following log:
>>>>>>>
...
TEST-PASS | /home/cltbld/talos-slave/test/build/xpcshell/tests/toolkit/components/url-classifier/tests/unit/test_partial.js | [null : 95] 1 == 1
###!!! ASSERTION: op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0: 'op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0', file /builds/slave/m-in-lnx64-dbg/build/obj-firefox/xpcom/build/pldhash.c, line 612
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x01E18D23]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x009881EB]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x009872C5]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x00982749]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x0098A12B]
NS_InvokeByIndex_P+0x00000256 [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x01EAEEA1]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x0170A220]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x01707ED3]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x01707D7E]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x01715B46]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x02321D91]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x0231EBC4]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x025949BE]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x0231E96A]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x0231ED3C]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x0229F87A]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x0231F300]
JS_CallFunctionValue+0x00000179 [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x02280E18]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x016FD4B2]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x016F3C76]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x01EAFD52]
UNKNOWN [/home/cltbld/talos-slave/test/build/firefox/libxul.so +0x01EAEF0F]
###!!! ASSERTION: op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0: 'op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0', file /builds/slave/m-in-lnx64-dbg/build/obj-firefox/xpcom/build/pldhash.c, line 612
<<<<<<<
PROCESS-CRASH | /home/cltbld/talos-slave/test/build/xpcshell/tests/toolkit/components/url-classifier/tests/unit/test_partial.js | application crashed (minidump found)

Crash reason:  SIGABRT
Crash address: 0x1f400003488

Thread 0 (crashed)
 0  libc-2.11.so + 0x326b5
    rbx = 0x00000028   r12 = 0xe422c200   r13 = 0x00000000   r14 = 0xe4262500
    r15 = 0x01c20470   rip = 0xd2e326b5   rsp = 0xb3e022b8   rbp = 0xb3e02400
    Found by: given as instruction pointer in context
 1  libc-2.11.so + 0x33e94
    rip = 0xd2e33e95   rsp = 0xb3e022c0
    Found by: stack scanning
 2  libc-2.11.so + 0x6b07
    rip = 0xd2e06b08   rsp = 0xb3e022f8
    Found by: stack scanning
 3  ld-2.11.so + 0xdb7f
    rip = 0xd280db80   rsp = 0xb3e02350
    Found by: stack scanning
So, am I right in thinking that this is off-main-thread pref service initialization, and that the safebrowsing service needs to initialize prefs on the main thread?
Sounds reasonable to me.
Summary: Intermittent test_partial.js | test failed (with xpcshell return code: 1) from ###!!! ASSERTION: op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0: 'op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0' → Intermittent test_partial.js | test failed (with xpcshell return code: 1) from "###!!! ASSERTION: op == PL_DHASH_LOOKUP || RECURSION_LEVEL(table) == 0" or "###!!! ASSERTION: RECURSION_LEVEL(table_) > 0"
Assignee: nobody → khuey
Attached patch Patch (obsolete) — Splinter Review
Attachment #543978 - Flags: review?(josh)
Attached patch PatchSplinter Review
Er, I'm an idiot, I put this in the wrong method.
Attachment #543978 - Attachment is obsolete: true
Attachment #543986 - Flags: review?(josh)
Attachment #543978 - Flags: review?(josh)
Comment on attachment 543986 [details] [diff] [review]
Patch

As established on IRC, we need to avoid prefservice usage on non-main threads.
Attachment #543986 - Flags: review?(josh) → review-
Should be fixed on central by backout.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Whiteboard: [orange]
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: