react-native-create-thumbnail icon indicating copy to clipboard operation
react-native-create-thumbnail copied to clipboard

createThumbnail function makes a crash about the remote video url in only android platform

Open balya7777 opened this issue 7 months ago • 8 comments

The error message is

I dgc_arg: 8192KB,32MB,0.5 2025-09-03 17:08:35.931 23406-27736 MediaMetad...trieverJNI org.neurobodygym E getFrameAtTime: videoFrame is a NULL pointer 2025-09-03 17:08:35.932 23406-26910 System.err org.neurobodygym W java.net.SocketException: Socket closed 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at java.net.SocketInputStream.socketRead0(Native Method) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at java.net.SocketInputStream.socketRead(SocketInputStream.java:118) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at java.net.SocketInputStream.read(SocketInputStream.java:173) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at java.net.SocketInputStream.read(SocketInputStream.java:143) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:983) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:947) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:862) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:835) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.okhttp.okio.Okio$2.read(Okio.java:138) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:213) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.okhttp.okio.RealBufferedSource.read(RealBufferedSource.java:51) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.okhttp.internal.http.Http1xStream$FixedLengthSource.read(Http1xStream.java:395) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:372) 2025-09-03 17:08:35.933 23406-26910 System.err org.neurobodygym W at java.io.BufferedInputStream.read1(BufferedInputStream.java:277) 2025-09-03 17:08:35.934 23406-26910 System.err org.neurobodygym W at java.io.BufferedInputStream.read(BufferedInputStream.java:338) 2025-09-03 17:08:35.934 23406-26910 System.err org.neurobodygym W at android.media.MediaHTTPConnection.readAt(MediaHTTPConnection.java:432) 2025-09-03 17:08:35.934 23406-26910 System.err org.neurobodygym W at android.media.MediaHTTPConnection.native_readAt(Native Method) 2025-09-03 17:08:35.934 23406-26910 System.err org.neurobodygym W at android.media.MediaHTTPConnection.readAt(MediaHTTPConnection.java:418) 2025-09-03 17:08:35.934 23406-26910 System.err org.neurobodygym W at android.media.IMediaHTTPConnection$Stub.onTransact(IMediaHTTPConnection.java:146) 2025-09-03 17:08:35.934 23406-26910 System.err org.neurobodygym W at android.os.Binder.execTransactInternal(Binder.java:1566) 2025-09-03 17:08:35.934 23406-26910 System.err org.neurobodygym W at android.os.Binder.execTransact(Binder.java:1505) 2025-09-03 17:08:35.934 23406-26910 MediaHTTPConnection org.neurobodygym W IOException readAt 213524 / 32768 => -1 2025-09-03 17:08:35.936 23406-27736 AndroidRuntime org.neurobodygym E FATAL EXCEPTION: pool-13-thread-1 Process: org.neurobodygym, PID: 23406 java.lang.IllegalStateException: File doesn't exist or not supported at com.reactlibrary.createthumbnail.CreateThumbnailModule.getBitmapAtTime(CreateThumbnailModule.java:200) at com.reactlibrary.createthumbnail.CreateThumbnailModule.processData(CreateThumbnailModule.java:100) at com.reactlibrary.createthumbnail.CreateThumbnailModule.lambda$create$2(CreateThumbnailModule.java:57) at com.reactlibrary.createthumbnail.CreateThumbnailModule.$r8$lambda$ImvhqcRFMM_6M9lQYF1nnbLEFyU(Unknown Source:0) at com.reactlibrary.createthumbnail.CreateThumbnailModule$$ExternalSyntheticLambda2.run(Unknown Source:6)

balya7777 avatar Sep 03 '25 09:09 balya7777

+1

maneesh-techversant avatar Sep 09 '25 07:09 maneesh-techversant

+1

AjayFrancisTechversant avatar Sep 09 '25 08:09 AjayFrancisTechversant

Any workarounds ?

dprajapati1179 avatar Oct 13 '25 12:10 dprajapati1179

+1

o-baranova avatar Oct 21 '25 14:10 o-baranova

+1

danleinie avatar Oct 24 '25 08:10 danleinie

+1

beyzanurmakara avatar Nov 11 '25 06:11 beyzanurmakara

this is the fix . In node_modules/.../CreateThumbnailModule.java replace create() function with this public void create(ReadableMap options, Promise promise) { executor.execute(() -> { try { ReadableMap data = processData(options); handler.post(() -> { promise.resolve(data); }); } catch (IOException | IllegalStateException e) { handler.post(() -> { promise.reject("CreateThumbnail_ERROR", e); }); } }); }

The only change is adding "| IllegalStateException" in order to catch the error and avoid the app crash. Then npx patch-package react-native-create-thumbnail and you are good to go.

DeyanDanailov avatar Nov 24 '25 09:11 DeyanDanailov

+1

matteolucinip avatar Nov 24 '25 16:11 matteolucinip

any updates?

LuanNguyen-HnL avatar Jan 08 '26 02:01 LuanNguyen-HnL

public void create(ReadableMap options, Promise promise) { executor.execute(() -> { try { ReadableMap data = processData(options); handler.post(() -> { promise.resolve(data); }); } catch (IOException | IllegalStateException e) { handler.post(() -> { promise.reject("CreateThumbnail_ERROR", e); }); } }); }

The changes are already in the latest version, but the crash happened again anyway

fergoverchat avatar Jan 09 '26 09:01 fergoverchat