Repository navigation
Crash on iPhone #272
Description
Activity
I'm not sure yet what it could be, what kind of WebGPU code this is running?
typegpu confetti. i updated to the latest version and for me it happened only once, so i don't know the exact reason
Just flagging that we've also recently introduced the library (v 0.2.10) to our app via
typegpu-confettiand have experienced crashes on app start sporadically (about 2% of sessions) on production. The logs come from Datadog, unfortunately I couldn't get anything more concrete.4 Metal MTLReportFailure 5 AGXMetalA11 -[AGXA11FamilyCommandBuffer blitCommandEncoderCommon:] 6 AppName dawn::native::metal::CommandRecordingContext::EnsureBlit() 7 AppName dawn::native::metal::Device::CopyFromStagingToBuffer(dawn::native::BufferBase*, unsigned long long, dawn::native::BufferBase*, unsigned long long, unsigned long long) 8 AppName dawn::native::BufferBase::UploadData(unsigned long long, void const*, unsigned long) 9 AppName dawn::native::QueueBase::WriteBuffer(dawn::native::BufferBase*, unsigned long long, void const*, unsigned long) 10 AppName dawn::native::QueueBase::APIWriteBuffer(dawn::native::BufferBase*, unsigned long long, void const*, unsigned long) 11 AppName dawn::native::NativeQueueWriteBuffer(WGPUQueueImpl*, WGPUBufferImpl*, unsigned long long, void const*, unsigned long) 12 AppName wgpu::Buffer::~Buffer() (webgpu/webgpu_cpp.h:1621) 13 AppName wgpu::Buffer::~Buffer() (webgpu/webgpu_cpp.h:1621) 14 AppName rnwgpu::GPUQueue::writeBuffer(std::__1::shared_ptr<rnwgpu::GPUBuffer>, unsigned long long, std::__1::shared_ptr<rnwgpu::ArrayBuffer>, std::__1::optional<unsigned long long>, std::__1::optional<unsigned long>) (api/GPUQueue.cpp:79) 15 AppName std::__1::shared_ptr<rnwgpu::ArrayBuffer>::~shared_ptr[abi:ne200100]() (__memory/shared_ptr.h:557) 16 AppName std::__1::shared_ptr<rnwgpu::ArrayBuffer>::~shared_ptr[abi:ne200100]() (__memory/shared_ptr.h:556) 17 AppName margelo::HybridObject::callMethod<rnwgpu::GPUQueue, void, std::__1::shared_ptr<rnwgpu::GPUBuffer>, unsigned long long, std::__1::shared_ptr<rnwgpu::ArrayBuffer>, std::__1::optional<unsigned long long>, std::__1::optional<unsigned long>, (unsigned long)0, (unsigned long)1, (unsigned long)2, (unsigned long)3, (unsigned long)4>(rnwgpu::GPUQueue*, void (rnwgpu::GPUQueue::*)(std::__1::shared_ptr<rnwgpu::GPUBuffer>, unsigned long long, std::__1::shared_ptr<rnwgpu::ArrayBuffer>, std::__1::optional<unsigned long long>, std::__1::optional<unsigned long>), facebook::jsi::Runtime&, facebook::jsi::Value const*, std::__1::integer_sequence<unsigned long, ((unsigned long)0, (unsigned long)1, (unsigned long)2, (unsigned long)3, (unsigned long)4)...>, unsigned long) (jsi/RNFHybridObject.h:106)New error: TypeError: 0, _$$_REQUIRE(_dependencyMap[10(...)ct-native-wgpu").useCanvasEffect is not a function (it is undefined)
@zispidd yes you can just use
useLayoutEffectnow (oruseEffect). Isn't that cool? :)@zispidd yes you can just use
useLayoutEffectnow (oruseEffect). Isn't that cool? :)ah okay, i use typegpu-confetti, i guess it's problem on their side
@zispidd Thank You for being an early adopter of this module, it was in a really shaky state at the beginning but now it's starting to get there :) And we are investing more work into it.
@zispidd Thank You for being an early adopter of this module, it was in a really shaky state at the beginning but now it's starting to get there :) And we are investing more work into it.
thank you for your contribution to open source :)
@zispidd yes you can just use
useLayoutEffectnow (oruseEffect). Isn't that cool? :)Looking at the confetti implementation, they store a ref like such
const ref = useCanvasEffect(() => { ... });, but useEffect and useLayoutEffect don't return a ref.Isn't it this library's responsibility for making sure the
useCanvasEffectexport works without intermittently being undefined, @wcandillon?@jcarioti we where finally able to remove useCanvasEffect. Our goal is to have the example as close as possible as you would write it on the web, once we drop support for the legacy architecture, we where able to remove the very unstable useCanvasEffect which made us very happy. I hope it makes sense?
Reacted by jcariotiYes, makes perfect sense. I'd be willing to test out the newest version when it's ready!
it's released already!
Reacted by jcarioti
At a random moment, a crash occurred, and only once, but I logged it through TestFlight. Maybe this will help find the problem.