Open Bug 1049797 Opened 10 years ago Updated 2 months ago

Investigate why bug 992670's improved assertion condition is failing on xpcshell & mochitest-bc

Categories

(Toolkit :: Places, defect, P3)

defect

Tracking

()

People

(Reporter: dholbert, Unassigned)

References

Details

Attachments

(2 files)

This is a followup to investigate the failure of an improved assertion from bug 992670.

Some history:
* Bug 992670 was filed about an assertion whose condition was trivially satisfied (checking that an unsigned expression >= 0).  So, the assertion was originally useless.

* That bug's first patch corrects the assertion to actually check something more useful.

* BUT, the more-useful assertion is apparently not satisfied 100% of the time; it failed during mochitest-bc and xpcshell, per bug 992670 comment 8.  I'm not sure if that's a bug in the assertion, or if it's the assertion catching an actual bug in the code.

* Someone needs to dig in and see what's going wrong.

I'm filing this bug on doing that digging in, so that we can close out bug 992670 and get rid of the current useless (and build-warning-triggering) assertion.
The assertion-failure can be seen here (for as long as the Try run is up, anyway), in the orange bc1 and X jobs: https://tbpl.mozilla.org/?tree=Try&rev=33a80a12115a
Here's the gzipped mochitest-bc1 failure log.

The failure is in browser_410196_paste_into_tags.js, and it looks like:
{
13:26:25     INFO -  24243 INFO Assertion failure: mAccessCount >= mChildren[aIndex]->mAccessCount (Invalid access count while updating!), at /builds/slave/try-lx-d-000000000000000000000/build/toolkit/components/places/nsNavHistoryResult.cpp:1443
13:26:25     INFO -  24244 INFO nsNavHistoryContainerResultNode::RemoveChildAt(int) [toolkit/components/places/nsNavHistoryResult.cpp:1442]
13:26:25     INFO -  24245 INFO nsNavHistoryFolderResultNode::OnItemRemoved(long long, long long, int, unsigned short, nsIURI*, nsACString_internal const&, nsACString_internal const&) [toolkit/components/places/nsNavHistoryResult.cpp:3669]
13:26:25     INFO -  24246 INFO nsNavHistoryResult::OnItemRemoved(long long, long long, int, unsigned short, nsIURI*, nsACString_internal const&, nsACString_internal const&) [toolkit/components/places/nsNavHistoryResult.cpp:4458]
13:26:25     INFO -  24247 INFO nsNavBookmarks::RemoveFolderChildren(long long) [toolkit/components/places/nsNavBookmarks.cpp:1247]
13:26:25     INFO -  24248 INFO NS_DestroyXPTCallStub [xpcom/reflect/xptcall/xptcall.cpp:68]
13:26:25     INFO -  24249 INFO CallMethodHelper::Call() [js/xpconnect/src/XPCWrappedNative.cpp:1736]
[...]
13:26:26     INFO -  24298 INFO TEST-PASS | chrome://mochitests/content/browser/browser/components/places/tests/browser/browser_410196_paste_into_tags.js | tags are gone - tags are gone
13:26:26  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/places/tests/browser/browser_410196_paste_into_tags.js | application terminated with exit code 11
}
Here's the gzipped xpcshell-tests log. The failure there looks like:
{
13:58:51     INFO -  TEST-INFO | /builds/slave/test/build/tests/xpcshell/tests/toolkit/components/places/tests/bookmarks/test_savedsearches.js | running test ...
13:58:52  WARNING -  TEST-UNEXPECTED-FAIL | /builds/slave/test/build/tests/xpcshell/tests/toolkit/components/places/tests/bookmarks/test_savedsearches.js | test failed (with xpcshell return code: -11), see following log:
13:58:52     INFO -  >>>>>>>
[...]
13:58:52     INFO -  TEST-PASS | /builds/slave/test/build/tests/xpcshell/tests/toolkit/components/places/tests/bookmarks/test_savedsearches.js | [test_savedsearches_history : 166] "http://about.com/" == "http://about.com/"
13:58:52     INFO -  TEST-PASS | /builds/slave/test/build/tests/xpcshell/tests/toolkit/components/places/tests/bookmarks/test_savedsearches.js | [test_savedsearches_history : 173] 2 == 2
13:58:52     INFO -  TEST-PASS | /builds/slave/test/build/tests/xpcshell/tests/toolkit/components/places/tests/bookmarks/test_savedsearches.js | [test_savedsearches_history : 177] 1 == 1
13:58:52     INFO -  Assertion failure: mAccessCount >= mChildren[aIndex]->mAccessCount (Invalid access count while updating!), at /builds/slave/try-lx-d-000000000000000000000/build/toolkit/components/places/nsNavHistoryResult.cpp:1443
[...]
13:59:03  WARNING -  PROCESS-CRASH | /builds/slave/test/build/tests/xpcshell/tests/toolkit/components/places/tests/bookmarks/test_savedsearches.js | application crashed [@ nsNavHistoryContainerResultNode::RemoveChildAt(int)]
13:59:03     INFO -  Crash dump filename: /tmp/tmpOaawtb/4a7293d2-b988-82a6-13f24c0c-580161a5.dmp
13:59:03     INFO -  Operating system: Linux
13:59:03     INFO -                    0.0.0 Linux 3.2.0-23-generic-pae #36-Ubuntu SMP Tue Apr 10 22:19:09 UTC 2012 i686
13:59:03     INFO -  CPU: x86
13:59:03     INFO -       GenuineIntel family 6 model 44 stepping 2
13:59:03     INFO -       1 CPU
13:59:03     INFO -  Crash reason:  SIGSEGV
13:59:03     INFO -  Crash address: 0x0
13:59:03     INFO -  Thread 0 (crashed)
13:59:03     INFO -   0  libxul.so!nsNavHistoryContainerResultNode::RemoveChildAt(int) [nsNavHistoryResult.cpp:33a80a12115a : 1442 + 0x19]
13:59:03     INFO -      eip = 0xb4be28ac   esp = 0xbfe9cf20   ebp = 0xbfe9cf68   ebx = 0xb7565c80
13:59:03     INFO -      esi = 0xaf6a7b60   edi = 0xaf6a7c0c   eax = 0x00000000   ecx = 0xb2c698ac
13:59:03     INFO -      edx = 0x00000000   efl = 0x00210282
13:59:03     INFO -      Found by: given as instruction pointer in context
13:59:03     INFO -   1  libxul.so!nsNavHistoryFolderResultNode::OnItemRemoved(long long, long long, int, unsigned short, nsIURI*, nsACString_internal const&, nsACString_internal const&) [nsNavHistoryResult.cpp:33a80a12115a : 3669 + 0xa]
13:59:03     INFO -      eip = 0xb4be2c04   esp = 0xbfe9cf70   ebp = 0xbfe9cfb8   ebx = 0xb7565c80
13:59:03     INFO -      esi = 0xaf6a7b60   edi = 0xaf6a7b60
13:59:03     INFO -      Found by: call frame info
13:59:03     INFO -   2  libxul.so!nsNavHistoryFolderResultNode::OnItemMoved(long long, long long, int, long long, int, unsigned short, nsACString_internal const&, nsACString_internal const&, nsACString_internal const&) [nsNavHistoryResult.cpp:33a80a12115a : 3924 + 0x2e]
13:59:03     INFO -      eip = 0xb4be74d4   esp = 0xbfe9cfc0   ebp = 0xbfe9d098   ebx = 0xb7565c80
13:59:03     INFO -      esi = 0xaf6a7b60   edi = 0x00000000
13:59:03     INFO -      Found by: call frame info
13:59:03     INFO -   3  libxul.so!nsNavHistoryResult::OnItemMoved(long long, long long, int, long long, int, unsigned short, nsACString_internal const&, nsACString_internal const&, nsACString_internal const&) [nsNavHistoryResult.cpp:33a80a12115a : 4559 + 0x3b]
13:59:03     INFO -      eip = 0xb4be0233   esp = 0xbfe9d0a0   ebp = 0xbfe9d118   ebx = 0xb7565c80
13:59:03     INFO -      esi = 0xbfe9d10c   edi = 0x00000000
13:59:03     INFO -      Found by: call frame info
13:59:03     INFO -   4  libxul.so!nsNavBookmarks::MoveItem(long long, long long, int) [nsNavBookmarks.cpp:33a80a12115a : 1413 + 0x4b]
13:59:03     INFO -      eip = 0xb4bc195a   esp = 0xbfe9d120   ebp = 0xbfe9d2a8   ebx = 0xb7565c80
13:59:03     INFO -      esi = 0x00000000   edi = 0xaf687a38
13:59:03     INFO -      Found by: call frame info
13:59:03     INFO -   5  libxul.so + 0x3b8493
13:59:03     INFO -      eip = 0xb31ab494   esp = 0xbfe9d2b0   ebp = 0xbfe9d2d8   ebx = 0xb7565c80
13:59:03     INFO -      esi = 0xbfe9d350   edi = 0xbfe9d300
13:59:03     INFO -      Found by: call frame info
13:59:03     INFO -   6  libxul.so!CallMethodHelper::Call() [XPCWrappedNative.cpp:33a80a12115a : 2375 + 0xf]
13:59:03     INFO -      eip = 0xb366e54d   esp = 0xbfe9d2e0   ebp = 0xbfe9d328
13:59:03     INFO -      Found by: previous frame's frame pointer
}
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: