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"

RESOLVED FIXED

Status

()

Toolkit
Safe Browsing
RESOLVED FIXED
6 years ago
3 years ago

People

(Reporter: philor, Assigned: khuey)

Tracking

({intermittent-failure})

Trunk
intermittent-failure
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Reporter)

Description

6 years ago
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?

Comment 2

6 years ago
Sounds reasonable to me.
Comment hidden (Treeherder Robot)
(Reporter)

Updated

6 years ago
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
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Created attachment 543978 [details] [diff] [review]
Patch
Attachment #543978 - Flags: review?(josh)
Created attachment 543986 [details] [diff] [review]
Patch

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-
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Should be fixed on central by backout.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Keywords: intermittent-failure
Whiteboard: [orange]
Component: Phishing Protection → Phishing Protection
Product: Firefox → Toolkit
You need to log in before you can comment on or make changes to this bug.