Closed Bug 1283132 Opened 8 years ago Closed 7 years ago

Intermittent modules/libpref/test/unit_ipc/test_update_prefs.js | application crashed [@ mozalloc_abort(char const*)] and a bunch of other intermittents on mac with a crash under _pthread_tsd_cleanup

Categories

(Core :: General, defect, P3)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: bulk-close-intermittents, intermittent-failure)

Unlikely to be a libpref bug. We're late in shutdown and on the main thread we're tearing down c++ destructors. We appear to be running a TLS cleanup function on some other thread, but it's really hard to tell what thread that is, or what the cleanup function is. We're also missing a critical piece of debug spew, which should have been printed to stderr. Philor, do you know whether the stderr log from that test is available somewhere?

See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58142 says _pthread_tsd_cleanup is called before c++ destructors on mac.

23:44:42     INFO -   0  libmozglue.dylib!mozalloc_abort(char const*) [mozalloc_abort.cpp:8896a11ad540 : 33 + 0x0]
23:44:42     INFO -      rax = 0x0000000000000000   rdx = 0x00007fff7231b1f8
23:44:42     INFO -      rcx = 0x0000000000000000   rbx = 0x00007fff7231bc50
23:44:42     INFO -      rsi = 0x0000190000001900   rdi = 0x0000180000001903
23:44:42     INFO -      rbp = 0x00000001175dbe20   rsp = 0x00000001175dbe10
23:44:42     INFO -       r8 = 0x00000001175dbdc0    r9 = 0x00000001175dc000
23:44:42     INFO -      r10 = 0x0000000000000000   r11 = 0x0000000000000246
23:44:42     INFO -      r12 = 0x000000010e80d77d   r13 = 0x00007fff7231bc50
23:44:42     INFO -      r14 = 0x0000000000000366   r15 = 0x000000010e8118c0
23:44:42     INFO -      rip = 0x0000000115047d41
23:44:42     INFO -      Found by: given as instruction pointer in context
23:44:42     INFO -   1  libmozglue.dylib!abort [mozalloc_abort.cpp:8896a11ad540 : 80 + 0xc]
23:44:42     INFO -      rbx = 0x000000010e80dec0   rbp = 0x00000001175dbe30
23:44:42     INFO -      rsp = 0x00000001175dbe30   r12 = 0x000000010e80d77d
23:44:42     INFO -      r13 = 0x00007fff7231bc50   r14 = 0x0000000000000366
23:44:42     INFO -      r15 = 0x000000010e8118c0   rip = 0x0000000115047d70
23:44:42     INFO -      Found by: call frame info
23:44:42     INFO -   2  libnss3.dylib!PR_Assert [prlog.c:8896a11ad540 : 553 + 0x5]
23:44:42     INFO -      rbx = 0x000000010e80dec0   rbp = 0x00000001175dbe70
23:44:42     INFO -      rsp = 0x00000001175dbe40   r12 = 0x000000010e80d77d
23:44:42     INFO -      r13 = 0x00007fff7231bc50   r14 = 0x0000000000000366
23:44:42     INFO -      r15 = 0x000000010e8118c0   rip = 0x000000010e7ad27d
23:44:42     INFO -      Found by: call frame info
23:44:42     INFO -   3  libsystem_pthread.dylib!_pthread_tsd_cleanup + 0x56
23:44:42     INFO -      rbx = 0x0000000000000103   rbp = 0x00000001175dbea0
23:44:42     INFO -      rsp = 0x00000001175dbe80   r12 = 0x00000001175dc000
23:44:42     INFO -      r13 = 0x00000000000008ff   r14 = 0x00007fff72d93c40
23:44:42     INFO -      r15 = 0x0000000000000000   rip = 0x00007fff88e09739
23:44:42     INFO -      Found by: call frame info
23:44:42     INFO -   4  libsystem_pthread.dylib!_pthread_exit + 0x75
23:44:42     INFO -      rbp = 0x00000001175dbef0   rsp = 0x00000001175dbeb0
23:44:42     INFO -      rip = 0x00007fff88e09460
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   5  libsystem_pthread.dylib!_pthread_body + 0x8e
23:44:42     INFO -      rbp = 0x00000001175dbf10   rsp = 0x00000001175dbf00
23:44:42     INFO -      rip = 0x00007fff88e0a065
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   6  libsystem_pthread.dylib!_pthread_start + 0xb0
23:44:42     INFO -      rbp = 0x00000001175dbf50   rsp = 0x00000001175dbf20
23:44:42     INFO -      rip = 0x00007fff88e09fd7
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   7  libsystem_pthread.dylib!thread_start + 0xd
23:44:42     INFO -      rbp = 0x00000001175dbf78   rsp = 0x00000001175dbf60
23:44:42     INFO -      rip = 0x00007fff88e073ed
23:44:42     INFO -      Found by: previous frame's frame pointer

23:44:42     INFO -  Thread 0
23:44:42     INFO -   0  libsystem_kernel.dylib!__write_nocancel + 0xa
23:44:42     INFO -      rax = 0x0000000000000020   rdx = 0x0000000000000000
23:44:42     INFO -      rcx = 0x00007fff51745da8   rbx = 0x00007fff51745e28
23:44:42     INFO -      rsi = 0x00007fff51745f00   rdi = 0x0000000000000001
23:44:42     INFO -      rbp = 0x00007fff51745dd0   rsp = 0x00007fff51745da8
23:44:42     INFO -       r8 = 0x0000000000000000    r9 = 0x00007fff858a7d60
23:44:42     INFO -      r10 = 0x0000000000000000   r11 = 0x0000000000000246
23:44:42     INFO -      r12 = 0x0000000000000000   r13 = 0x0000000000000000
23:44:42     INFO -      r14 = 0x0000000000000020   r15 = 0x00007fff51745f00
23:44:42     INFO -      rip = 0x00007fff8a63997a
23:44:42     INFO -      Found by: given as instruction pointer in context
23:44:42     INFO -   1  libsystem_c.dylib!__sflush + 0x65
23:44:42     INFO -      rbp = 0x00007fff51745e00   rsp = 0x00007fff51745de0
23:44:42     INFO -      rip = 0x00007fff8585c307
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   2  libsystem_c.dylib!__xvprintf + 0x22a
23:44:42     INFO -      rbp = 0x00007fff51746400   rsp = 0x00007fff51745e10
23:44:42     INFO -      rip = 0x00007fff8588eab6
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   3  libsystem_c.dylib!vfprintf_l + 0x36
23:44:42     INFO -      rbp = 0x00007fff51746430   rsp = 0x00007fff51746410
23:44:42     INFO -      rip = 0x00007fff858649d2
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   4  libsystem_c.dylib!printf + 0xc8
23:44:42     INFO -      rbp = 0x00007fff51746530   rsp = 0x00007fff51746440
23:44:42     INFO -      rip = 0x00007fff85862838
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   5  XUL!nsStringStats::~nsStringStats() [nsSubstring.cpp:8896a11ad540 : 82 + 0xe]
23:44:42     INFO -      rbp = 0x00007fff51746550   rsp = 0x00007fff51746540
23:44:42     INFO -      rip = 0x000000010e8f6573
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   6  libsystem_c.dylib!__cxa_finalize_ranges + 0x142
23:44:42     INFO -      rbx = 0x0000000000000000   rbp = 0x00007fff51746590
23:44:42     INFO -      rsp = 0x00007fff51746560   rip = 0x00007fff8587e72d
23:44:42     INFO -      Found by: call frame info
23:44:42     INFO -   7  libsystem_c.dylib!exit + 0x37
23:44:42     INFO -      rbp = 0x00007fff517465b0   rsp = 0x00007fff517465a0
23:44:42     INFO -      rip = 0x00007fff8587ea30
23:44:42     INFO -      Found by: previous frame's frame pointer
23:44:42     INFO -   8  plugin-container!start + 0x3b
23:44:42     INFO -      rbp = 0x00007fff517465c0   rsp = 0x00007fff517465c0
23:44:42     INFO -      rip = 0x000000010e4ba8eb
23:44:42     INFO -      Found by: previous frame's frame pointer
Component: Preferences: Backend → General
Flags: needinfo?(philringnalda)
Everything that's uploaded is listed in the "Job details" pane of https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=8896a11ad5400f828b8db883848970bd4892201c&selectedJob=30856806
Flags: needinfo?(philringnalda)
Summary: Intermittent modules/libpref/test/unit_ipc/test_update_prefs.js | application crashed [@ mozalloc_abort(char const*)] → Intermittent modules/libpref/test/unit_ipc/test_update_prefs.js | application crashed [@ mozalloc_abort(char const*)] and a bunch of other intermittents on mac with a crash under _pthread_tsd_cleanup
Bulk assigning P3 to all open intermittent bugs without a priority set in Firefox components per bug 1298978.
Priority: -- → P3
All these failure happened when run_test_in_child() in xpcshell test in OS X debug build.
See Also: → 1282862
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.