Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build: adding an disable_exceptions (which does not yet work) #27811

Merged
merged 5 commits into from
Jun 7, 2023

Conversation

alyssawilk
Copy link
Contributor

@alyssawilk alyssawilk commented Jun 5, 2023

The new build option simply compiles out all try/catch code, while leaving in the exceptions. This can not yet be successfully used as it turns up fno-exceptions which chokes on throw statements. This is by design as if we compiled out throw as well, config failures would be fatal instead of gracefully handled.

Risk Level: low
Testing: manual testing
Docs Changes: n/a
Release Notes: n/a
Part of #27412

@repokitteh-read-only
Copy link

As a reminder, PRs marked as draft will not be automatically assigned reviewers,
or be handled by maintainer-oncall triage.

Please mark your PR as ready when you want it to be reviewed!

🐱

Caused by: #27811 was opened by alyssawilk.

see: more, trace.

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk changed the title build: adding an disable_exceptions which does not yet work build: adding an disable_exceptions (which does not yet work) Jun 5, 2023
@alyssawilk alyssawilk marked this pull request as ready for review June 5, 2023 20:05
@alyssawilk
Copy link
Contributor Author

raven I seem to remember the parity of build options sometimes biting y'all. This is a no-op by default which I think is what you need but throwing it your way to confirm :-)

@ravenblackx
Copy link
Contributor

I think this is unproblematic, because it's both defaulting to disabled and also behaving disabled if the config value is entirely unset (which is where we were bitten before). Thanks for thinking of me. :)

@alyssawilk alyssawilk enabled auto-merge (squash) June 5, 2023 20:41
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk
Copy link
Contributor Author

/wait I think format is broken =P

RyanTheOptimist
RyanTheOptimist previously approved these changes Jun 5, 2023
Copy link
Contributor

@RyanTheOptimist RyanTheOptimist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very exciting!

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk
Copy link
Contributor Author

/wait again

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@@ -105,41 +105,41 @@ InstanceImpl::InstanceImpl(
router_context_(store.symbolTable()), process_context_(std::move(process_context)),
hooks_(hooks), quic_stat_names_(store.symbolTable()), server_contexts_(*this),
enable_reuse_port_default_(true), stats_flush_in_progress_(false) {
std::function set_up_logger = [&] {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix format and clang could not handle nested macros so I had to avoid it with std::functions :-/

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk alyssawilk merged commit a216acd into envoyproxy:main Jun 7, 2023
asheryerm pushed a commit to asheryerm/envoy that referenced this pull request Jul 5, 2023
…roxy#27811)

The new build option simply compiles out all try/catch code, while leaving in the exceptions. This can not yet be successfully used as it turns up fno-exceptions which chokes on throw statements. This is by design as if we compiled out throw as well, config failures would be fatal instead of gracefully handled.

Risk Level: low
Testing: manual testing
Docs Changes: n/a
Release Notes: n/a
Part of envoyproxy#27412

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: asheryer <asheryer@amazon.com>
reskin89 pushed a commit to reskin89/envoy that referenced this pull request Jul 11, 2023
…roxy#27811)

The new build option simply compiles out all try/catch code, while leaving in the exceptions. This can not yet be successfully used as it turns up fno-exceptions which chokes on throw statements. This is by design as if we compiled out throw as well, config failures would be fatal instead of gracefully handled.

Risk Level: low
Testing: manual testing
Docs Changes: n/a
Release Notes: n/a
Part of envoyproxy#27412

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Ryan Eskin <ryan.eskin89@protonmail.com>
@alyssawilk alyssawilk deleted the cach branch March 19, 2024 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants