Skip to content

Rive MalformedFileException #327

Description

@manishtrivedi994
### Description

App is crashing in production when trying to render a Rive animation from a remote `.riv` file.

Crash logs point to a native failure after loading the remote Rive URL:
```
https://cdn.jsdelivr.net/gh/shubham-k2/assets@main/Updated%20surprise_sale_banner.riv
```

The crash happens inside this stack trace:
```
Thread Name: app.rive.runtime.kotlin.core.errors.MalformedFileException
  app.rive.runtime.kotlin.core.File.import (Native Method:0)
  app.rive.runtime.kotlin.core.File. (File.kt:30)
  app.rive.runtime.kotlin.RiveAnimationView.loadFileFromResource (RiveAnimationView.kt:385)
  app.rive.runtime.kotlin.RiveAnimationView.onAttachedToWindow (RiveAnimationView.kt:880)
  android.view.View.dispatchAttachedToWindow (View.java:21976)
  android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:4302)
  android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:4302)
  android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:4302)
  android.view.ViewGroup.dispatchAttachedToWindow (ViewGroup.java:4302)
  android.view.ViewGroup.addViewInner (ViewGroup.java:6127)
  android.view.ViewGroup.addView (ViewGroup.java:5903)
  com.facebook.react.views.view.ReactViewGroup.addView (ReactViewGroup.java:543)
  android.view.ViewGroup.addView (ViewGroup.java:5843)
  com.facebook.react.views.view.ReactClippingViewManager.addView (ReactClippingViewManager.java:40)
  com.facebook.react.views.view.ReactClippingViewManager.addView (ReactClippingViewManager.java:20)
  com.facebook.react.uimanager.NativeViewHierarchyManager.manageChildren (NativeViewHierarchyManager.java:533)
  com.swmansion.reanimated.layoutReanimation.ReanimatedNativeHierarchyManager.manageChildren (ReanimatedNativeHierarchyManager.java:409)
  com.facebook.react.uimanager.UIViewOperationQueue$ManageChildrenOperation.execute (UIViewOperationQueue.java:183)
  com.facebook.react.uimanager.UIViewOperationQueue$1.run (UIViewOperationQueue.java:910)
  com.facebook.react.uimanager.UIViewOperationQueue.flushPendingBatches (UIViewOperationQueue.java:1023)
  com.facebook.react.uimanager.UIViewOperationQueue.-$$Nest$mflushPendingBatches (Unknown Source:0)
  com.facebook.react.uimanager.UIViewOperationQueue$DispatchUIFrameCallback.doFrameGuarded (UIViewOperationQueue.java:1083)
  com.facebook.react.uimanager.GuardedFrameCallback.doFrame (GuardedFrameCallback.java:29)
  com.facebook.react.modules.core.ReactChoreographer$1.doFrame (ReactChoreographer.java:89)
  android.view.Choreographer$CallbackRecord.run (Choreographer.java:1106)
  android.view.Choreographer.doCallbacks (Choreographer.java:866)
  android.view.Choreographer.doFrame (Choreographer.java:792)
  android.view.Choreographer$FrameDisplayEventReceiver.run (Choreographer.java:1092)
  android.os.Handler.handleCallback (Handler.java:938)
  android.os.Handler.dispatchMessage (Handler.java:99)
  android.os.Looper.loopOnce (Looper.java:226)
  android.os.Looper.loop (Looper.java:313)
  android.app.ActivityThread.main (ActivityThread.java:8751)
  java.lang.reflect.Method.invoke (Native Method:0)
  com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
  com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1135)
```

We are using `rive-react-native` 9.2.1 with React Native 0.74.7.

### Provide a Repro

Minimal component that crashes in production when `sourceUrl` is remote:

```tsx
 {
    console.error('Rive file load failed');
  }}
  url="https://cdn.jsdelivr.net/gh/shubham-k2/assets@main/Updated%20surprise_sale_banner.riv"
/>
```

This happens **only** with remote `.riv` URLs; local assets load correctly.

#### Source `.riv`/`.rev` file

You can test this with:
[https://cdn.jsdelivr.net/gh/shubham-k2/assets@main/Updated%20surprise_sale_banner.riv]

We can share the `.rev` file privately if needed.

### Expected behavior

Rive animation should load and play from the remote URL without crashing.

#### Screenshots

_No screenshots available since this is a native crash._

### Device & Versions (please complete the following information)

- Device: Android (various production devices)
- OS: Android 10–14
- React Native: 0.74.7
- rive-react-native: 9.2.1

#### Additional context

- App uses Reanimated and other common animation libraries.
- Local `.riv` assets work perfectly.
- Crashes only occur on remote file loading.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions