-
-
Notifications
You must be signed in to change notification settings - Fork 2
Add basic gamepad support for console testing #10
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
Conversation
* Re-introduce changes to upload debug symbols. Run demo every 2 hours * Run demo every 50 minutes * Forward environment to docker run * Change Dsn to point to demos
* Extend tracing capabilities of the demo game * Fix mac build * Create a span for checkout and checkout response * Add log statement about SENTRY_DSN * Run demo with DSN
Updated Unreal Engine Version from 5.5 to 5.6 as that's the new required version.
Added steps on where to start for running the demo locally.
* Change chekout endpoint to flask * Build dummy request payload * Temp hack to bind spans/transactions to current scope * Bump sdk version to 1.1.1 * Bind spans to scope * Clean up dsn config
* Bump SDK and enable Structured Logs
|
|
||
| HttpRequest->OnProcessRequestComplete().BindLambda([=](FHttpRequestPtr Request, FHttpResponsePtr Response, bool bWasSuccessful) | ||
| { | ||
| CheckoutSpan->Finish(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Potential bug: Local UObjects are captured by raw pointer in an async lambda and can be garbage collected before the lambda executes, causing a use-after-free.
-
Description: Local
UObjectinstances, specificallyUSentryTransactionandUSentrySpan, are created without being rooted or stored in aUPROPERTY. An asynchronous lambda captures raw pointers to these objects. When the function they are declared in returns, these objects become eligible for garbage collection. If the garbage collector runs before the async HTTP callback completes, the lambda will attempt to access freed memory when calling methods likeCheckoutSpan->Finish()orCheckoutTransaction->Finish(), leading to a non-deterministic crash. -
Suggested fix: To prevent the
UObjectinstances from being garbage collected prematurely, either store them asUPROPERTYmembers of the game instance, or manually manage their lifetime usingAddToRoot()when created andRemoveFromRoot()after the asynchronous operation completes.
severity: 0.95, confidence: 0.98
Did we get this right? 👍 / 👎 to inform future reviews.
No description provided.