Skip to content

Commit 60cb702

Browse files
committed
Revert "Better module backtraces for panics and whatnot (#577)"
This reverts commit d5c1738.
1 parent 5b47440 commit 60cb702

21 files changed

Lines changed: 148 additions & 611 deletions

File tree

crates/bindings-cpp/include/spacetimedb/internal/runtime_registration.h

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
#ifndef SPACETIMEDB_RUNTIME_REGISTRATION_H
22
#define SPACETIMEDB_RUNTIME_REGISTRATION_H
33

4-
#include <atomic>
54
#include <functional>
65
#include <optional>
76
#include <string>
8-
#include <type_traits>
9-
#include <utility>
107
#include <vector>
118
#include "../abi/opaque_types.h"
129
#include "autogen/Lifecycle.g.h"
@@ -36,18 +33,6 @@ std::vector<uint8_t> ConsumeBytes(BytesSource source);
3633
void SetMultiplePrimaryKeyError(const std::string& table_name);
3734
void SetConstraintRegistrationError(const std::string& code, const std::string& details);
3835

39-
template <typename F>
40-
__attribute__((noinline)) decltype(auto) __spacetimedb_begin_short_backtrace(F&& f) {
41-
if constexpr (std::is_void_v<std::invoke_result_t<F>>) {
42-
std::forward<F>(f)();
43-
std::atomic_signal_fence(std::memory_order_seq_cst);
44-
} else {
45-
decltype(auto) result = std::forward<F>(f)();
46-
std::atomic_signal_fence(std::memory_order_seq_cst);
47-
return result;
48-
}
49-
}
50-
5136
} // namespace Internal
5237
} // namespace SpacetimeDB
5338

crates/bindings-cpp/include/spacetimedb/internal/v10_builder.h

Lines changed: 10 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -337,9 +337,7 @@ class V10Builder {
337337
std::function<void(ReducerContext&, BytesSource)> handler;
338338
if constexpr (traits::arity == 1) {
339339
handler = [func](ReducerContext& ctx, BytesSource) {
340-
auto result = __spacetimedb_begin_short_backtrace([&] {
341-
return func(ctx);
342-
});
340+
auto result = func(ctx);
343341
if (result.is_err()) {
344342
::SpacetimeDB::fail_reducer(result.error());
345343
}
@@ -351,9 +349,7 @@ class V10Builder {
351349
bsatn::Reader reader(bytes.data(), bytes.size());
352350
auto args = std::make_tuple(bsatn::deserialize<typename traits::template arg_t<Js + 1>>(reader)...);
353351
std::apply([&ctx_inner, fn](auto&&... unpacked) {
354-
auto result = __spacetimedb_begin_short_backtrace([&] {
355-
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
356-
});
352+
auto result = fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
357353
if (result.is_err()) {
358354
::SpacetimeDB::fail_reducer(result.error());
359355
}
@@ -410,9 +406,7 @@ class V10Builder {
410406
std::function<void(ReducerContext&, BytesSource)> handler;
411407
if constexpr (traits::arity == 1) {
412408
handler = [func](ReducerContext& ctx, BytesSource) {
413-
auto result = __spacetimedb_begin_short_backtrace([&] {
414-
return func(ctx);
415-
});
409+
auto result = func(ctx);
416410
if (result.is_err()) {
417411
::SpacetimeDB::fail_reducer(result.error());
418412
}
@@ -424,9 +418,7 @@ class V10Builder {
424418
bsatn::Reader reader(bytes.data(), bytes.size());
425419
auto args = std::make_tuple(bsatn::deserialize<typename traits::template arg_t<Js + 1>>(reader)...);
426420
std::apply([&ctx_inner, fn](auto&&... unpacked) {
427-
auto result = __spacetimedb_begin_short_backtrace([&] {
428-
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
429-
});
421+
auto result = fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
430422
if (result.is_err()) {
431423
::SpacetimeDB::fail_reducer(result.error());
432424
}
@@ -469,9 +461,7 @@ class V10Builder {
469461
std::function<std::vector<uint8_t>(ViewContext&, BytesSource)> handler =
470462
[func](ViewContext& ctx, BytesSource args_source) -> std::vector<uint8_t> {
471463
(void)args_source;
472-
auto result = __spacetimedb_begin_short_backtrace([&] {
473-
return func(ctx);
474-
});
464+
auto result = func(ctx);
475465
auto result_vec = view_result_to_vec(std::move(result));
476466
IterBuf buf = IterBuf::take();
477467
{
@@ -485,9 +475,7 @@ class V10Builder {
485475
std::function<std::vector<uint8_t>(AnonymousViewContext&, BytesSource)> handler =
486476
[func](AnonymousViewContext& ctx, BytesSource args_source) -> std::vector<uint8_t> {
487477
(void)args_source;
488-
auto result = __spacetimedb_begin_short_backtrace([&] {
489-
return func(ctx);
490-
});
478+
auto result = func(ctx);
491479
auto result_vec = view_result_to_vec(std::move(result));
492480
IterBuf buf = IterBuf::take();
493481
{
@@ -537,9 +525,7 @@ class V10Builder {
537525
std::function<std::vector<uint8_t>(ProcedureContext&, BytesSource)> handler;
538526
if constexpr (traits::arity == 1) {
539527
handler = [func](ProcedureContext& ctx, BytesSource) -> std::vector<uint8_t> {
540-
auto result = __spacetimedb_begin_short_backtrace([&] {
541-
return func(ctx);
542-
});
528+
auto result = func(ctx);
543529
IterBuf buf = IterBuf::take();
544530
{
545531
bsatn::Writer writer(buf.get());
@@ -553,11 +539,9 @@ class V10Builder {
553539
return []<std::size_t... Js>(std::index_sequence<Js...>, Func fn, ProcedureContext& ctx_inner, const std::vector<uint8_t>& bytes) -> std::vector<uint8_t> {
554540
bsatn::Reader reader(bytes.data(), bytes.size());
555541
auto args = std::make_tuple(bsatn::deserialize<typename traits::template arg_t<Js + 1>>(reader)...);
556-
auto result = __spacetimedb_begin_short_backtrace([&] {
557-
return std::apply([&ctx_inner, fn](auto&&... unpacked) {
558-
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
559-
}, args);
560-
});
542+
auto result = std::apply([&ctx_inner, fn](auto&&... unpacked) {
543+
return fn(ctx_inner, std::forward<decltype(unpacked)>(unpacked)...);
544+
}, args);
561545
IterBuf buf = IterBuf::take();
562546
{
563547
bsatn::Writer writer(buf.get());

0 commit comments

Comments
 (0)