Граф коммитов

54 Коммитов

Автор SHA1 Сообщение Дата
David Anderson 45fe47d352 Add a PCrashReporter alternative that uses shmem instead of IPDL. (bug 1278717 part 1, r=billm) 2016-10-11 14:25:17 -07:00
Bill McCloskey f478d1188c Bug 1306708 - Rename prio to nested in IPDL (r=dvander) 2016-10-04 20:34:54 -07:00
Bill McCloskey b83db28a45 Revert "Bug 1306708 - Rename prio to nested in IPDL (r=dvander)" on a CLOSED TREE
This reverts commit b1460c626078afbb9290e7d9ecaf3af605d5e893.
2016-10-04 15:55:19 -07:00
Bill McCloskey eddd80027c Bug 1306708 - Rename prio to nested in IPDL (r=dvander) 2016-10-04 15:28:14 -07:00
Nathan Froyd 9d05d5014b Bug 1299594 - part 3 - remove gProtocolMutex; r=billm
It no longer protects any global state, and is therefore pure overhead.
2016-09-02 16:13:50 -04:00
Nathan Froyd 29e8bfeb34 Bug 1299594 - part 2 - remove opened actor tracking from IToplevelProtocol; r=billm
The only thing we needed opened actor tracking for was the ability to
clone all the actors.  But now that we no longer have support for
cloning actors, we no longer need to track the actors that we've cloned,
which makes a number of things significantly simpler.
2016-09-02 16:13:50 -04:00
Nathan Froyd fff9bd3854 Bug 1299594 - part 1 - remove CloneManagees/CloneToplevel code from IPDL; r=billm
CloneOpenedToplevels, which is never called, is the only interesting
caller of CloneToplevel.  And CloneToplevel, in turn, is the only
interesting caller of CloneManagees.  Which means we can ditch all this
code for a decent amount of space savings, both in code and writable
static data (no more useless virtual function entries in vtables).
2016-09-02 16:13:50 -04:00
Nathan Froyd a8474a5f11 Bug 1297801 - part 1 - commonize the managee->array functions in IPDL generated code; r=billm
There's no reason to generate identical code for every kind of managed
protocol; we can have a single instance that operates on void* and cast
our way to victory.  This change saves ~60K of text on x86-64 Linux.
2016-08-29 20:41:22 -04:00
David Anderson a8c8bf4196 Add crash-report instrumentation to diagnose bug 1293580. r=billm 2016-08-22 22:52:04 -07:00
Cervantes Yu ade760040e Bug 1295544 - Typo fix of MOZ_CRASHREPORTER build config. r=krizsa
MozReview-Commit-ID: 73DSJTef14E

--HG--
extra : rebase_source : 9d96e86754c455d8cda9d6042d4536f06a676c3a
2016-08-16 19:32:30 +08:00
Kyle Huey cf5845e98a Bug 1274431: Fix some non-unified build issues. r=jld 2016-08-05 12:00:19 -07:00
Cervantes Yu 8a084acd4c Bug 1266440 - Remove diagnostic funciton mozilla::ipc::AnnotateProcessInformation() that contains PII. r=krizsa
MozReview-Commit-ID: AJyNT68zJlF
2016-08-01 18:41:09 +08:00
David Anderson e6a98dc91b Clean up Transport memory management in IPDL. (bug 1283744, r=billm) 2016-07-06 18:51:20 -07:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Andrew McCreight 5848fe3b73 Bug 1276318, part 2 - Fix mode lines in ipc/glue. r=billm
MessageChannel.{h,cpp}, MessageLink.{h,cpp}, and ProtocolUtils.h are
using 4-space indent so I left those alone.
2016-05-27 14:54:31 -07:00
Bill McCloskey 291c555f34 Bug 1262671 - void** -> PickleIterator (r=froydnj) 2016-05-27 09:57:38 -07:00
Nathan Froyd a5f42fc63a Bug 1262937 - part 8 - factor out array length deserialization errors; r=jld 2016-05-21 04:07:56 -04:00
Nathan Froyd 647562c2d2 Bug 1262937 - part 7 - factor out union type deserialization errors; r=jld 2016-05-21 04:07:56 -04:00
Nathan Froyd dcc74a62c9 Bug 1262937 - part 5 - factor out actor reading code to a common base class; r=jld
Actor reading from IPC message is codegen'd with a lot of repeated code.
We can improve that by moving the core actor reading code out of
subclasses into IProtocolmanager.  While we still need to codegen a bit
of code to cast the read actor to the proper type, the code overall is
smaller.  The lone downside is that if we do encounter an error reading
the actor id out of the message, the precision of our crash messages is
reduced somewhat: we no longer have the protocol name doing the reading,
nor do we get crash report annotations, since we can't tell whether
we're in the parent or child process.
2016-05-21 04:07:56 -04:00
Cervantes Yu f3f969af61 Bug 1258317 - Part 2: Remove unused privilege in mozilla::ipc::TransferHandleTorProcess(). r=krizsa
Also fix a handle leak in mozilla::ipc::AnnotateProcessInformation().

MozReview-Commit-ID: DuepDytfoD2

--HG--
extra : rebase_source : 0b0dd05a3728e64962a774a2dcc35dc7646aa4dc
2016-05-06 19:01:29 +08:00
Jacek Caban 2ef6ade2c4 Bug 1258317 - cross compilation fixup. 2016-04-23 13:04:59 +02:00
Cervantes Yu a7ec2e32a7 Bug 1258317 - Part 1: Annotate the crash report with process information on failure to transfer an IPC transport to another process. r=krizsa
MozReview-Commit-ID: LE2FnrQgzze

--HG--
extra : rebase_source : ff891052985ae8411725f7df7c21eaacae84732f
2016-04-19 19:08:55 +08:00
Nathan Froyd 8d0d4b9bbd Bug 1262463 - part 3 - out-of-line NS_RUNTIMEABORT calls in IPDL-generated code; r=jld
We do this for the same reasons outlined in part 1: calls to
NS_RUNTIMEABORT are rather large and we generate a lot of them (~1000
left after part 1).  This patch reduces .text size by ~20K on x86-64
Linux.
2016-04-06 10:53:06 -04:00
Nathan Froyd a21ccf2f8e Bug 1262463 - part 2 - don't pass the other process pid into FatalError; r=jld
We don't do anything with it in terms of error reporting, we pass in 0
in the child process, and if you're in a debugger, presumably you can
figure out the other process's PID yourself.
2016-04-06 10:31:21 -04:00
Nathan Froyd 63fe89bd2e Bug 1259428 - part 1 - don't call Log methods of generated method classes; r=jld
The first step to eliminating all the generated Message subclasses the
IPDL compiler spits out is to move the functionality of their Log
methods someplace else.  In addition to eliminating the need for the Log
methods, this change has the welcome effect of moving a bunch of code
that would be generated hundreds of times into a single place, which
should reduce code size a bit (debug builds only).  We don't actually
remove the generation of the Log methods; that change will be done for a
future patch.
2016-03-25 17:02:38 -04:00
Cervantes Yu f77c0e8c25 Bug 1258663 - Crash annotate system call failures in the IPC transport. r=gabor 2016-04-01 14:33:52 +08:00
Mike Conley 322c7d8d00 Bug 1191976 - Intentionally crash if we hit an IPC FatalError in the parent process. r=billm
When the parent process has trouble deserializing an IPC message from the content
process, it originally killed that content process. This doesn't result in us
creating a crash report (and doing so is difficult if the FatalError is hit
off main thread). We now crash the parent process if we hit such a FatalError
in the parent process. This will hopefully give us an idea of how frequent
these FatalErrors are, since up until now we've been getting no crash data
for them.

--HG--
extra : commitid : J1E7vnGmvOa
extra : rebase_source : 66a4cfc599bc6f5ce113dd49439e247a474c48a4
extra : amend_source : 1d6f5f26455dd810c3c3ffb4b807e734c74d87a7
2015-08-18 15:28:01 -04:00
Jim Mathies 9a5c8328b9 Bug 1128454 - Add crash report annotations for plugin bridge operation failures. r=billm 2015-07-09 19:07:49 -05:00
Phil Ringnalda 166cfe8460 Back out 12 changesets (bug 1177013) on suspicion of causing b2g emulator debug test bustage
CLOSED TREE

Backed out changeset 912aae0815f8 (bug 1177013)
Backed out changeset 3b6448172e50 (bug 1177013)
Backed out changeset 2af18bef5703 (bug 1177013)
Backed out changeset e6bf35115c11 (bug 1177013)
Backed out changeset 4d7f5205b60b (bug 1177013)
Backed out changeset f7de893911bc (bug 1177013)
Backed out changeset de79eba232f0 (bug 1177013)
Backed out changeset 978a77b60f2a (bug 1177013)
Backed out changeset f5b52fa19511 (bug 1177013)
Backed out changeset e14a7b70b6fa (bug 1177013)
Backed out changeset d0f5a3474659 (bug 1177013)
Backed out changeset bff9f07dad52 (bug 1177013)
2015-07-02 22:08:54 -07:00
Bill McCloskey af8a362eba Bug 1177013 - Fix IPDL tests for not allowing CPOWs during sync (r=dvander) 2015-07-02 17:18:11 -07:00
Michael Layzell 4dc87f0a9b Bug 1167396 - Make ProtocolCloneContext::mContentParent a smart pointer. r=bent 2015-05-22 10:10:00 -04:00
Bill McCloskey a6a01e04db Bug 1121676 - Use static mutex to protect top-level protocols (r=bent) 2015-04-07 13:53:50 -07:00
Bob Owen 283c8df550 Bug 1149971 Part 2: Cet rid of kCurrentProcessId as it makes lots of static initializers. r=dvander 2015-04-01 13:59:20 +01:00
Bob Owen e4f543bb58 Bug 1119878 Part 2: Change IPC code to hold ProcessID instead of ProcessHandle. r=billm, r=dvander, r=aklotz, r=cpearce 2015-04-01 09:40:35 +01:00
Bill McCloskey e26a687773 Bug 1121676 - Use a lock to protect the list of top-level actors (r=bent) 2015-03-20 12:02:41 -07:00
Botond Ballo 847508c681 Bug 1132153 - Replace 'using namespace base' with specific using-declarations. r=dholbert 2015-02-11 15:01:26 -05:00
Bill McCloskey 51b3cbac31 Bug 1109883 - Use urgent messages for protocol bridging (r=bent) 2014-12-18 17:35:48 -08:00
Bill McCloskey 4cedc603cb Bug 1050604 - Get IPDL tests passing again (r=bent) 2014-08-20 12:49:11 -07:00
Benoit Jacob fed8dee123 Bug 1028383 - Make ITopLevelProtocol assert to enforce its assumptions that things happen on the main thread - r=bent 2014-07-04 14:04:13 -04:00
Benoit Jacob 15eb88c866 back out bug 774388 and bug 1028383 for intermittent e10s mochitest-2 crashes 2014-07-04 21:24:32 -04:00
Benoit Jacob cf08ba484c Bug 1028383 - Make ITopLevelProtocol assert to enforce its assumptions that things happen on the main thread - r=bent 2014-07-04 14:04:13 -04:00
Ryan VanderMeulen 6d9424856d Backed out 10 changesets (bug 1033358, bug 774388, bug 1028383) for causing frequent shutdown crashes on a CLOSED TREE.
Backed out changeset a54b05c9e4a1 (bug 1028383)
Backed out changeset 37985f79e0c2 (bug 774388)
Backed out changeset d07521729077 (bug 774388)
Backed out changeset 9f14b17f358c (bug 774388)
Backed out changeset 2d347d6aa9bc (bug 774388)
Backed out changeset 99581dfb5ec4 (bug 774388)
Backed out changeset 2532e22d6135 (bug 774388)
Backed out changeset 719844108f1a (bug 774388)
Backed out changeset 7829c78348a4 (bug 1033358)
Backed out changeset c571df9a85de (bug 1033358)
2014-07-03 20:37:05 -04:00
Benoit Jacob 2e685fd274 Bug 1028383 - Make ITopLevelProtocol assert to enforce its assumptions that things happen on the main thread - r=bent 2014-07-03 14:53:35 -04:00
Ben Turner b6f0894382 Bug 988878, r=bsmedberg. 2014-04-04 19:45:20 -07:00
Thinker Lee ext:(%2C%20Cervantes%20Yu%20%3Ccyu%40mozilla.com%3E) 42fe4d9b7d Bug 771765 - Support template content process, part 3: IPC glue and IPDL codegen to support protocol cloning. r=bent 2013-05-31 21:16:57 +08:00
David Anderson fd2cf49aa1 Combine AsyncChannel, SyncChannel, and RPCChannel into one class (bug 901789, r=cjones,bent).
--HG--
rename : ipc/glue/RPCChannel.cpp => ipc/glue/MessageChannel.cpp
rename : ipc/glue/RPCChannel.h => ipc/glue/MessageChannel.h
2013-09-27 18:42:08 -07:00
Nathan Froyd 05b3cb417a Bug 908208 - part 3 - move guts of FatalError out-of-line to ProtocolUtils.cpp; r=bent 2013-08-22 10:39:32 -04:00
David Zbarsky 9117aef526 Bug 879475 - Rename the MsgStart messages to MsgStartChild for child protocols r=jlebar 2013-08-20 15:46:41 -04:00
Nathan Froyd dbc0a775d9 Bug 897539 - uninline ProtocolErrorBreakpoint to avoid code and string bloat; r=bent 2013-07-24 12:38:24 -04:00
Ms2ger 711f1fd480 Bug 787933 - Stop using stdin types in IPC code; r=bsmedberg+cjones sr=cjones 2012-09-17 10:37:20 +02:00