Commit Graph

312 Commits

Author SHA1 Message Date
Rafael Ávila de Espíndola
59b41e200e Bug 696376 - Change how we find critical ranges so that it works on 10.6 too. r=dbaron.
Currently we use dlsym on pthread_cond_wait$UNIX2003 to find a
function that indicates that new_sem_from_pool is on the stack. This
works on 10.5, but on 10.6 I could not find a single reliable
indicator that would work with dlsym.

The good news is that dladdr works with any symbol, not just exported
ones. To find the address of new_sem_from_pool, we set up a malloc logger
and force a call to new_sem_from_pool. From the logger callback we walk
the stack trying dladdr on every address.

To force a call to new_sem_from_pool, the initialization code has to be the
first to use semaphores, so it is now run from NS_LogInit.

This works on 10.6 and 10.5 (but we have to look for
"pthread_cond_wait$UNIX2003"). In 10.7 the call to malloc is gone, so we don't
have to worry about critical addresses on it anymore.
2011-12-02 19:26:04 -05:00
Chris Lord
a73ea11cf3 Backout bug 696376
This broke building on android due to requiring a newer version of unwind.h.
2011-12-02 18:00:58 +00:00
Rafael Ávila de Espíndola
b644e77f68 Bug 696376 - Change how we find critical ranges so that it works on 10.6 too. r=dbaron.
Currently we use dlsym on pthread_cond_wait$UNIX2003 to find a
function that indicates that new_sem_from_pool is on the stack. This
works on 10.5, but on 10.6 I could not find a single reliable
indicator that would work with dlsym.

The good news is that dladdr works with any symbol, not just exported
ones. To find the address of new_sem_from_pool, we set up a malloc logger
and force a call to new_sem_from_pool. From the logger callback we walk
the stack trying dladdr on every address.

To for a call to new_sem_from_pool, the initialization code has to be the
first to use semaphores, so it is now run from NS_LogInit.

This works on 10.6 and 10.5 (but we have to look for
"pthread_cond_wait$UNIX2003"). In 10.7 the call to malloc is gone, so we don't
have to worry about critical addresses on it anymore.
2011-12-01 18:22:00 -05:00
Rafael Ávila de Espíndola
2ec84dccb2 Bug 696376 - If stacks_enabled is false, only walk the stack on OS X 32 bits. r=
dbaron.
The 64 bit stack walks lack the InCriticalRange functionality and it looks like
the extra walks are causing an orange on leaktest on the bot.
2011-11-04 09:49:48 -04:00
Rafael Ávila de Espíndola
5fe934d3ba Bug 696281 - disable trace malloc stacks on OS X too. r=dbaron.
This patch disables trace malloc stacks on OS X too. To make this work,
we still have to look on the stack to decide if we must set immediate_abort,
but we can avoid other work like decoding the addresses.
2011-10-28 18:43:49 -04:00
Ehsan Akhgari
478ad1a412 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Michael Wu
0fe7772ece Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones 2011-09-28 23:19:26 -07:00
Michael Wu
54f74f37c0 Bug 675485 - Fix PRBool misuses found in a debug build, r=bz,taras 2011-08-01 18:20:52 -07:00
Mike Hommey
18cd2850ec Bug 658995 part 2 - Use static destructors instead of atexit(). r=bsmedberg 2011-06-15 07:32:03 +02:00
Matt Brubeck
542052b358 Back out 6b23b52e68d6 - e92f98e8a335 (bug 632404, 552864, 658995) because of Tp4 regression. 2011-06-15 09:00:28 -07:00
Mike Hommey
fccd5731e6 Bug 658995 part 2 - Use static destructors instead of atexit(). r=bsmedberg 2011-06-15 07:32:03 +02:00
Ed Morley
d60e3b9e7b Bug 659621 - Remove EXTRA_DSO_LIBS, EXTRA_DSO_LDOPTS, OS_LIBS from makefiles containing LIBXUL_LIBRARY = 1, now that libxul is always built; r=ted 2011-06-12 03:49:00 -04:00
Matheus Kerschbaum
370eb55bf7 Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
L. David Baron
dd0f5aa45a Make leaksoup not print static ctor/dtor warnings. 2011-04-22 18:36:23 -07:00
Jan Küchler
8774547613 Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>. 2011-04-07 18:04:40 -07:00
Mike Hommey
2b1a2f3670 Bug 602245 - Don't build SIMPLE_PROGRAMS during MOZ_PROFILE_GENERATE pass. r=ted 2011-04-14 11:23:13 +02:00
Chris Jones
9ae6458637 Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 23:29:02 -05:00
Chris Jones
ecb9597975 Backed out changeset 4beec31b9ea9 for increasing frequency of intermittent orange bug 618052 2011-03-31 18:57:38 -05:00
Chris Jones
5dece3352a Rollup of bug 645263 and bug 646259: Switch to mozilla:: sync primitives. r=cjones,dbaron,doublec,ehsan src=bsmedberg
Bug 645263, part 0: Count sync primitive ctor/dtors. r=dbaron
Bug 645263, part 1: Migrate content/media to mozilla:: sync primitives. r=doublec
Bug 645263, part 2: Migrate modules/plugin to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 3: Migrate nsComponentManagerImpl to mozilla:: sync primitives. sr=bsmedberg
Bug 645263, part 4: Migrate everything else to mozilla:: sync primitives. r=dbaron
Bug 645263, part 5: Remove nsAutoLock.*. sr=bsmedberg
Bug 645263, part 6: Make editor test be nicer to deadlock detector. r=ehsan
Bug 645263, part 7: Disable tracemalloc backtraces for xpcshell tests. r=dbaron
Bug 646259: Fix nsCacheService to use a CondVar for notifying. r=cjones
2011-03-31 14:51:19 -05:00
L. David Baron
6c715ff5ec Initialize the out param from backtrace(). (Bug 549561) r=bsmedberg a2.0=tests 2010-09-21 19:32:48 -07:00
Phil Ringnalda
1187ffc711 Bug 591727 - Remove remnant makefile.win in trace-malloc, r=dbaron, a=NPOTB 2010-08-29 18:21:12 -07:00
L. David Baron
bae6ccebf1 Add environment variable NS_TRACE_MALLOC_DISABLE_STACKS for disabling the stack-walking part of trace-malloc to improve performance of tinderbox test machines. (Bug 549561) r=bsmedberg a2.0=tests 2010-08-19 09:37:59 -04:00
L. David Baron
db7505cc9b Avoid a lock/unlock pair for each call to |calltree|. (Bug 549561) r=bsmedberg a2.0=tests 2010-08-19 09:37:59 -04:00
Pirkka Kärenlampi
7f66d4ca23 Bug 586944. Make 'backtrace' static to fix issues with the symbol being overriden by system libraries. r=dbaron,a=bsmedberg 2010-08-19 21:35:08 +12:00
James Cook
a05841263f Bug 574311 - Build failure with trace malloc when using GCC visibility pragma. r=doug.turner 2010-07-17 09:52:30 +03:00
L. David Baron
5198409a6e Make trace-malloc work again on Linux following mozalloc landing. (Bug 576776) r=cjones 2010-07-16 22:36:34 -07:00
Kyle Huey
f76088ad9b Bug 578565: Remove nsIXBLDocumentInfo. r=jst 2010-07-14 18:53:11 -07:00
Ehren Metcalfe
4431ff1c03 Remove dead code in intl. Bug 559489, r=smontagu 2010-07-04 15:42:04 +03:00
Makoto Kato
71040747da Bug 568467 - trace-malloc support for Windows x64. r=dbaron 2010-06-04 16:53:02 +09:00
Mats Palmgren
8c0c4c79f8 Output the unknown value as a number not a character. b=474800 r=dbaron 2010-04-27 18:15:02 +02:00
Chris Jones
637131f559 Bug 560969: Teach trace-malloc about VC10. r=dbaron 2010-04-27 00:43:04 -05:00
L. David Baron
4a7c7eab32 Make trace-malloc malloc hooks work with 64-bit Mac OS X by adjusting types. (Bug 558097, maybe) 2010-04-08 17:21:03 -07:00
Chris Jones
63705b4cb8 Bug 551254: Allow reviewed+approved STL headers to be included through <foo>. (<algorithm> and <vector> are provisionally in the list because of their use in libpr0n, but need to be reviewed in followup bug 556700 and bug 556701). r=ehsan,ted,zwol 2010-04-02 12:58:11 -05:00
Zack Weinberg
9819bef9dc Bug 494117: Mechanically change 'ReParent' to 'Reparent' throughout the tree. r=bzbarsky 2010-04-01 23:07:43 -07:00
Jae-Seong Lee-Russo
f1dbba608c Bug 517553: Remove '=='/'!=' 'PR_FALSE'/'PR_TRUE' 2010-02-07 10:52:43 -05:00
Chris Jones
76a23485f7 Bug 529134: Initialize tracemalloc in NS_LogInit() to ensure that tracemalloc is always thread safe. r=bsmedberg r=dbaron 2009-12-29 16:45:59 -06:00
Phil Ringnalda
99af5c5c2f Bug 495228 - Remove checks for mac MOZ_WIDGET_TOOLKIT, r=ted 2009-09-18 19:59:53 -07:00
Benjamin Smedberg
4ec69e1eff Followup to bug 398573 - remove REQUIRES from the tree since it is no longer used... automatically generated patch, rs=ted 2009-08-25 08:59:31 -07:00
Joe Drew
2919d8a083 Bug 753 - Remove nsIImage, gfxIImageFrame, and their implementations, and expose an equivalent api on imgIContainer. r=roc,josh,bz,longsonr,vlad,karlt,jimm,bsmedberg,mfinkle,peterw,peterv sr=vlad,roc 2009-07-20 18:50:15 -07:00
L. David Baron
250d1527f9 Don't rely on NS_TraceMallocStartupArgs to initialize TLS index. (Bug 442192) r=brendan 2009-03-11 07:51:30 -07:00
Ben Turner
47baa0fa73 Bustage fix for bug 478195. 2009-02-17 21:51:50 -08:00
Robert O'Callahan
a7eacba780 Bug 478195 - '[Mac] Same-thread deadlock with trace-malloc (causing random red on OS X 10.5.2 mozilla-central leak test build)'. r=dbaron. 2009-02-17 21:11:29 -08:00
Daniel Holbert
37cf5be52d Bug 473236 - Remove executable bit from files that don't need it. (Only changes file mode -- no code changes.) r=bsmedberg 2009-01-21 22:55:08 -08:00
Fred Jendrzejewski
cbc6639bab Bug 466622. Replace nsCStringArray with nsTArray<nsCString> for more consistent code and fewer heap allocations. r+sr=roc,r=bsmedberg 2009-01-22 17:15:34 +13:00
Taras Glek
c55a483d6f Bug 471087. Kill nsIDKey. r=bsmedberg 2009-01-08 21:43:07 +13:00
Arpad Borsos
1b55360c07 Bug 456388 - Remove PR_STATIC_CALLBACK and PR_CALLBACK(_DECL) from the tree; r+sr=brendan 2008-10-10 17:04:34 +02:00
Daniel Holbert
8992d625af Bug 458167 - (comments-only changes) Grammar Nazi Vol1: s/it's/its/ for the posessive version of the word, and a few other misc comment-typos, in these directories: accessible browser config profile rdf toolkit tools xpcom xpfe 2008-10-01 23:49:45 -07:00
Ben Turner
a0b19f70de Bug 435122 - "Use TraceMalloc to get stack traces of potential deadlocks". r=bsmedberg+dbaron. 2008-06-26 10:12:42 -07:00
L. David Baron
05245c83af Fix broken --shutdown-leaks argument handling on Windows by copying the argument out of argv rather than holding a pointer to it. b=433708 r=pavlov 2008-05-14 11:57:32 -07:00
b769f96e26 Allow diffbloatdump to read its own input back in (so that we can run fix-*-stack over its output (which is much faster than running it over a whole log) and still diff that output against different output. Not part of the build. 2008-05-05 21:47:23 -07:00