Commit Graph

190 Commits

Author SHA1 Message Date
Jeff Walden
d8ae565f50 Bug 711799 - Fix a few implicit-declaration warnings in trace-malloc. r=dbaron
--HG--
extra : rebase_source : 16fe9eb68d2db1488d89af4001e7d316cb110330
2011-12-17 22:56:55 -05:00
Matt Brubeck
62cc037b2e Back out bcf9ce858829 and a3bade82ac92 (bug 711799) for build failures 2011-12-19 10:43:08 -08:00
Jeff Walden
6094c94827 Bug 711799 - Fix a few implicit-declaration warnings in trace-malloc. r=dbaron
--HG--
extra : rebase_source : 67dc7295b8a2022e02f892f7eac74414e61b1c86
2011-12-17 22:56:55 -05:00
Jeff Walden
ec238d2c71 Bug 711799 - Fix a bunch of unused-variable warnings. r=dholbert
--HG--
extra : rebase_source : 91fc77dca316018652d4d99f6d4cc8d0f7195e6e
2011-12-18 01:00:42 -05:00
Jeff Walden
87d3f92e61 Bug 708735 - Use <stdint.h> types in JSAPI and throughout SpiderMonkey. Continue to provide the {u,}int{8,16,32,64} and JS{Uint,Int}{8,16,32,64} integer types through a single header, however, for a simpler backout strategy -- and also to ease the transition for embedders. r=timeless on switching the jsd API to use the <stdint.h> types, r=luke, r=dmandelin 2011-12-08 22:54:10 -05:00
Rafael Ávila de Espíndola
561bf65f37 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.

--HG--
extra : rebase_source : bba4ac9e3378c88f7037aa884511e473a57121f6
2011-12-02 19:26:04 -05:00
Chris Lord
cbca29d21a 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
b573c23826 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
360e18547c 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.

--HG--
extra : rebase_source : 4c0a75892e30a6e522ed981a1ff12df99d2a0464
2011-11-04 09:49:48 -04:00
Rafael Ávila de Espíndola
82bf6d0e6b 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
2a602a5685 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
d8e503c38b Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Michael Wu
cb03114f5c Bug 675485 - Fix PRBool misuses found in a debug build, r=bz,taras 2011-08-01 18:20:52 -07:00
Mike Hommey
95fbb011b5 Bug 658995 part 2 - Use static destructors instead of atexit(). r=bsmedberg 2011-06-15 07:32:03 +02:00
Matt Brubeck
28a99ad4d4 Back out 6b23b52e68d6 - e92f98e8a335 (bug 632404, 552864, 658995) because of Tp4 regression. 2011-06-15 09:00:28 -07:00
Mike Hommey
899e31b0e1 Bug 658995 part 2 - Use static destructors instead of atexit(). r=bsmedberg 2011-06-15 07:32:03 +02:00
Ed Morley
223c46b36b 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
35f86c76ad Bug 648911 - Remove support for non-libxul builds. r=ted,joedrew 2011-05-23 18:54:47 +02:00
L. David Baron
5595712db2 Make leaksoup not print static ctor/dtor warnings. 2011-04-22 18:36:23 -07:00
Jan Küchler
5ef6bf26cf Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
Mike Hommey
0659550873 Bug 602245 - Don't build SIMPLE_PROGRAMS during MOZ_PROFILE_GENERATE pass. r=ted 2011-04-14 11:23:13 +02:00
Chris Jones ext:(%20and%20Kyle%20Huey%20%3Ckhuey%40kylehuey.com%3E)
0bb511a3d7 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
a75fb12531 Backed out changeset 4beec31b9ea9 for increasing frequency of intermittent orange bug 618052 2011-03-31 18:57:38 -05:00
Chris Jones ext:(%20and%20Kyle%20Huey%20%3Ckhuey%40kylehuey.com%3E)
cc8b4c9c6c 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
488055346f Initialize the out param from backtrace(). (Bug 549561) r=bsmedberg a2.0=tests 2010-09-21 19:32:48 -07:00
Phil Ringnalda
b8985c3c4c Bug 591727 - Remove remnant makefile.win in trace-malloc, r=dbaron, a=NPOTB
--HG--
extra : rebase_source : 1643431d84ab0e255315b261a1f0bcd86dbfaa42
2010-08-29 18:21:12 -07:00
L. David Baron
b04b6fac7d 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
301610bb9d 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
e5d4a986ff 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
d7f05f6657 Bug 574311 - Build failure with trace malloc when using GCC visibility pragma. r=doug.turner
--HG--
extra : rebase_source : 37f6f66319327197e01fc7cac8126a672c873935
2010-07-17 09:52:30 +03:00
L. David Baron
ccaa0e2983 Make trace-malloc work again on Linux following mozalloc landing. (Bug 576776) r=cjones 2010-07-16 22:36:34 -07:00
Kyle Huey
16c927f68b Bug 578565: Remove nsIXBLDocumentInfo. r=jst
--HG--
extra : rebase_source : 4d36ecc23ea302563a7b7f84846d8d5e23b29647
2010-07-14 18:53:11 -07:00
Ehren Metcalfe
40edafab25 Remove dead code in intl. Bug 559489, r=smontagu 2010-07-04 15:42:04 +03:00
Makoto Kato
3202600c4c Bug 568467 - trace-malloc support for Windows x64. r=dbaron 2010-06-04 16:53:02 +09:00
Mats Palmgren
b448c1c133 Output the unknown value as a number not a character. b=474800 r=dbaron 2010-04-27 18:15:02 +02:00
Chris Jones
e732815453 Bug 560969: Teach trace-malloc about VC10. r=dbaron 2010-04-27 00:43:04 -05:00
L. David Baron
228ef7bfc2 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
7c959e67d7 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
54ad0fb73a Bug 494117: Mechanically change 'ReParent' to 'Reparent' throughout the tree. r=bzbarsky 2010-04-01 23:07:43 -07:00
Jae-Seong Lee-Russo
513e9cf886 Bug 517553: Remove '=='/'!=' 'PR_FALSE'/'PR_TRUE' 2010-02-07 10:52:43 -05:00
Chris Jones
2050fcae22 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
e62c83fdc6 Bug 495228 - Remove checks for mac MOZ_WIDGET_TOOLKIT, r=ted 2009-09-18 19:59:53 -07:00
Benjamin Smedberg
2e9438fd2f 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
6c441f55f7 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
--HG--
rename : gfx/src/shared/gfxImageFrame.cpp => modules/libpr0n/src/imgFrame.cpp
rename : gfx/src/shared/gfxImageFrame.h => modules/libpr0n/src/imgFrame.h
2009-07-20 18:50:15 -07:00
L. David Baron
f69c0d0ad5 Don't rely on NS_TraceMallocStartupArgs to initialize TLS index. (Bug 442192) r=brendan 2009-03-11 07:51:30 -07:00
Ben Turner
ba731dee87 Bustage fix for bug 478195. 2009-02-17 21:51:50 -08:00
Robert O'Callahan
9d8186e0e0 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
2a7d88e05a 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
8759b06c00 Bug 466622. Replace nsCStringArray with nsTArray<nsCString> for more consistent code and fewer heap allocations. r+sr=roc,r=bsmedberg
--HG--
extra : rebase_source : b963bf5de9d9c445b14620479691482512e0faf2
2009-01-22 17:15:34 +13:00
Taras Glek
5c08797a3f Bug 471087. Kill nsIDKey. r=bsmedberg
--HG--
extra : rebase_source : 9d60a541863c545101417cf00a11cb9ceda70a09
2009-01-08 21:43:07 +13:00
Arpad Borsos
8b11d938d2 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
72c410a648 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
de0ede1dc2 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
5ff950ec54 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
dbaron@dbaron.org
d40696aaf6 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
dbaron@dbaron.org
84ec4d87d0 Expose trace-malloc stack tracing. b=422847 r=brendan a=NPOTDB 2008-03-14 17:11:37 -07:00
dbaron@dbaron.org
c861e5a715 And actually get the right bug number. b=415426 (which is what the previous checkin was for as well) 2008-02-03 11:59:07 -08:00
dbaron@dbaron.org
3896f75022 Switch back to evil casts, which are the only solution that works across SDK version. b=415252 2008-02-03 11:51:14 -08:00
dbaron@dbaron.org
4425004b4d Match new (more-const) signature for PENUMLOADED_MODULES_CALLBACK and PENUMLOADED_MODULES_CALLBACK64. b=415426 Fixing bustage on Windows tinderbox from SDK upgrade. 2008-02-03 11:34:31 -08:00
dbaron@dbaron.org
761ae96f72 Fix race saving/restoring malloc hooks by going back to overriding malloc, etc., plus some additional cleanup. b=392009 r+a1.9=brendan 2007-09-28 15:39:59 -07:00
dbaron@dbaron.org
da4d6cf178 Address brendan's review comments on bug 391141. r=brendan a=not part of release builds 2007-09-27 09:27:12 -07:00
dbaron@dbaron.org
3ceebe55ad Suppress tracing around calls into original allocators, in case they recur back into our hooks. Fixes most of leak *stats* regression from bug 392009. r+a1.9=brendan 2007-09-25 13:33:37 -07:00
brendan@mozilla.org
5796722d5b Reduce code duplication among platforms, support hooking and unhooking (392009, r=dbaron). 2007-09-24 18:13:17 -07:00
jwalden@mit.edu
17d98a4054 Bug 348748 - Remove cast macros from trace-malloc. r=bsmedberg on the script, a=NPOTDB+no-functionality-change 2007-09-05 15:14:17 -07:00
dbaron@dbaron.org
6998fc642c Link readers against libxul when trace-malloc is part of libxul (fixing tinderbox bustage). 2007-08-19 18:30:04 -07:00
dbaron@dbaron.org
a966e89ed8 Revert previous checkin. 2007-08-19 17:59:57 -07:00
dbaron@dbaron.org
3281511c0d Attempt to fix trace-malloc bustage in libxul builds by removing LIBXUL_LIBRARY=1 (fixing tinderbox bustage for newly-enabled test). 2007-08-19 17:50:01 -07:00
dbaron@dbaron.org
94e8f8765d Force linking with the C++ compiler rather than the C compiler (since we're using SIMPLECPPSRCS rather than CPPSRCS). b=392118 r=bsmedberg a=bzbarsky 2007-08-19 17:00:40 -07:00
dbaron@dbaron.org
881a6d3689 Port trace-malloc to Mac OS X. b=392118 r+a=brendan 2007-08-14 09:35:46 -07:00
dbaron@dbaron.org
2166d7227d Don't count frees of things whose allocations weren't counted because they were before we overrode malloc, etc. b=391950 r+a=brendan 2007-08-12 15:20:36 -07:00
dbaron@dbaron.org
bcfba5e648 Make void signatures match header. b=391766 r+a=brendan 2007-08-10 17:53:28 -07:00
dbaron@dbaron.org
a991022e1d Lock around NS_TraceMallocDumpAllocations. b=391766 r+a=brendan 2007-08-10 17:53:02 -07:00
dbaron@dbaron.org
37da47df11 Stop using strncpy unnecessarily. b=391766 r+a=brendan 2007-08-10 17:52:35 -07:00
dbaron@dbaron.org
83b6e937d9 Add suppression code around calls to original allocation functions to handle things like new[] calling new. b=391491 r+a=brendan 2007-08-10 15:22:07 -07:00
dbaron@dbaron.org
594a81ecec Hook new[] and delete[] too, since (with VC8 anyway) we're picking up new[] through new, but not picking up delete[]. b=391491 r+a=brendan 2007-08-10 15:21:37 -07:00
dbaron@dbaron.org
9ea1648f72 Define the __libc_* on Windows to something that does automatic suppression, like on Linux. b=391477 r+a=brendan 2007-08-10 15:21:13 -07:00
dbaron@dbaron.org
9afc343b9e Convert trace-malloc to using XPCOM stack walking API. b=374829 r+a=brendan 2007-08-10 15:20:48 -07:00
dbaron@dbaron.org
3e7b4a367c Start reducing the scope of locking in trace-malloc, and convert the PRMonitor to a PRLock. b=376874 r+a=brendan 2007-08-10 15:19:32 -07:00
dbaron@dbaron.org
f15bcfa55a Use thread-local storage for tracing suppression. b=376874 r+a=brendan 2007-08-10 15:19:14 -07:00
dbaron@dbaron.org
083928ec06 Fix bustage on VC8. b=391141 r=brendan a=DEBUG-only 2007-08-10 14:26:03 -07:00
dbaron@dbaron.org
ee01e951f8 Improve performance when trace-malloc is built but not used by adding a fast-path around the locking. b=150015 r=brendan a=bzbarsky 2007-08-10 14:24:32 -07:00
dbaron@dbaron.org
2ffac68147 Add code to automatically uncompress .gz and .bz2 files that are given as arguments. 2007-06-20 14:59:33 -07:00
dbaron@dbaron.org
d58a422120 Replace printf that fires all the time with an assertion for what I really want to check. 2007-04-03 18:35:35 -07:00
dbaron@dbaron.org
181b2fd18f The tinderbox problem was due to insufficient STARTUP_TMBUFSIZE, so re-increase the buffer size to 64K (from 16K) and comment out my debugging code. 2007-04-03 18:06:34 -07:00
dbaron@dbaron.org
10500e0071 Back out startup buffer size change (but leave diagnostic). 2007-04-03 17:53:26 -07:00
dbaron@dbaron.org
ea58fd5bbd Make previous change print to stderr. 2007-04-03 17:45:07 -07:00
dbaron@dbaron.org
c1fb6c0847 Try increasing startup buffer size to see if it fixes tinderbox orange. 2007-04-03 17:39:56 -07:00
dbaron@dbaron.org
e5e779e4c7 Add some debugging code to tmreader and temporarily turn it on to debug tinderbox orange. 2007-04-03 16:46:45 -07:00
dbaron@dbaron.org
01afaaf3b3 Fix deadlock in trace-malloc by exiting monitor around call to dladdr. b=363334 r=brendan 2007-04-03 15:14:01 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00