commit | 40d6527814ec2328ae3e56de7411542e20e0541a | [log] [tgz] |
---|---|---|
author | Carlos Pizano <cpu@chromium.org> | Tue Jul 07 20:58:00 2020 +0000 |
committer | CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> | Tue Jul 07 20:58:00 2020 +0000 |
tree | 329acbf9a591f6c81a980e4a5a4157fa1465148f | |
parent | a5175c6e5f94c0ea6fe4b408c2392390b5122b3c [diff] |
[zircon] Port ipc limit exception This change - Aligns port with channel when the ipc limit is exceeded which is to raise an exception, not a return code in this case it was ZX_ERR_SHOULD_WAIT - Ups the packet limit per port (and systemwide) to 4096 expecting that the dart flake goes away, see bug below - Adds documentation about the limit and why we don't want to return "retry" codes. - Updates the existing syscalls to point to the limit - Minor cleanup of crasher tool - Removes tests that expect ZX_ERR_SHOULD_WAIT BUG: 53762 BUG: 55375 TEST The custom with these changes like https://fuchsia-review.googlesource.com/c/fuchsia/+/369103 Is to not create an automated test because it can create futher OOM flakes, instead to enhance `crasher` with a manual test. In this case new 'portq', when run the terminal should display: $ crasher portq =@ crasher @= doing : overflow a port with packets ............. > KERN: port (67314) has 4097 packets (crasher). Raising exception crashsvc: exception received, processing <== fatal : process crasher[67247] thread initial-thread[67249] <== policy error, PC at 0x41a74a477e27 CS: 0 RIP: 0x41a74a477e27 EFL: 0x202 RAX: 0xffffffffffffffea RBX: 0x1001 RCX: 0x41a74a477e27 RSI: 0 RDI: 0 RBP: 0x3ebd066df80 R8: 0 R9: 0 R10: 0 R12: 0x1d66fe48f40 R13: 0xbe1f91937be2a866 R14: 0x1d66fe48f08 fs.base: 0x2e758d0ab28 gs.base: 0 errc: 0 bottom of user stack: 0x000003ebd066df48: 10d11b20 00000217 6fe48f38 000001d6 | .......8..o....| 0x000003ebd066df58: 10d13120 00000217 6c0d9f68 000040a8 | 1......h..l.@..| 0x000003ebd066df68: 00000002 00000000 6c0d9e8c 000040a8 |...........l.@..| 0x000003ebd066df78: 5f9dfeb8 00004199 d066dfa0 000003eb |..._.A....f.....| 0x000003ebd066df88: 10d11c78 00000217 6fe48f40 000001d6 |x.......@..o....| 0x000003ebd066df98: 6fe48fa0 000001d6 d066dff0 000003eb |...o......f.....| 0x000003ebd066dfa8: 5f9942cb 00004199 00000002 00000000 |.B._.A..........| 0x000003ebd066dfb8: 00000000 2b76e1e3 0000000b 00000000 |......v+........| 0x000003ebd066dfc8: 6c0d9dc0 000040a8 6c0d9fa0 000040a8 |...l.@.....l.@..| 0x000003ebd066dfd8: 00000000 00000000 2a36e0e3 00000000 |..........6*....| 0x000003ebd066dfe8: 6c0d9f10 000040a8 6c0d9fd0 000040a8 |...l.@.....l.@..| 0x000003ebd066dff8: 00000000 00000000 |................| arch: x86_64 dso: id=bf64c9f2cd0879f8 base=0x41a74a470000 name=<vDSO> dso: id=066b8d4cbb1b1f0d base=0x41995f932000 name=libc.so dso: id=a5f4709b440b951e base=0x353ae0a1000 name=libc++abi.so.1 dso: id=f0859e1ce39d0113 base=0x322646e0000 name=libc++.so.2 dso: id=dc66c3d80e22e1eb base=0x2b941453000 name=libunwind.so.1 dso: id=de8a4f904c3e2fde base=0x266cf273000 name=libfdio.so dso: id=01ed3cd5dd757c7a base=0x21710d0f000 name=app:crasher {{{reset}}} Change-Id: Ic3576a6ab27de2a5ed9c33119d326f1902833980 Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/403494 Commit-Queue: Carlos Pizano <cpu@google.com> Reviewed-by: Carlos Pizano <cpu@google.com> Reviewed-by: George Kulakowski <kulakowski@google.com> Reviewed-by: Ian McKellar <ianloic@google.com> Testability-Review: George Kulakowski <kulakowski@google.com>
Pink + Purple == Fuchsia (a new operating system)
Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.
Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.
See Getting Started.
See fuchsia.dev.