wonday / react-native-pdf

A <Pdf /> component for react-native
MIT License
1.59k stars 546 forks source link

When sliding through the PDF file, closing the current page causes the app to crash. #830

Open LJW123 opened 5 months ago

LJW123 commented 5 months ago

What react-native version are you using? 0.72.4 What react-native-pdf version are you using? 6.7.5 What platform does your issue occur on? (android/ios/both) android Describe your issue as precisely as possible : 1) When sliding through the PDF file, closing the current page causes the app to crash. The crash details are as follows: 2) E FATAL EXCEPTION: PDF renderer Process: com.sssss, PID: 12594 java.lang.IllegalStateException: Already closed at io.legere.pdfiumandroid.util.ConfigKt.handleAlreadyClosed(Config.kt:20) at io.legere.pdfiumandroid.PdfPage.close(PdfPage.kt:582) at kotlin.io.CloseableKt.closeFinally(Closeable.kt:56) at io.legere.pdfiumandroid.PdfiumCore.renderPageBitmap(PdfiumCore.kt:406) at com.github.barteksc.pdfviewer.PdfFile.renderPageBitmap(PdfFile.java:301) at com.github.barteksc.pdfviewer.RenderingHandler.proceed(RenderingHandler.java:109) at com.github.barteksc.pdfviewer.RenderingHandler.handleMessage(RenderingHandler.java:66) at android.os.Handler.dispatchMessage(Handler.java:117) at android.os.Looper.loopOnce(Looper.java:205) at android.os.Looper.loop(Looper.java:293) at android.os.HandlerThread.run(HandlerThread.java:110)

image

Show us the code you are using? return (

{fileUri && ( { console.log(`Number of pages: ${numberOfPages}`); }} onPageChanged={(page, numberOfPages) => { console.log(`Current page: ${page}`); }} onError={error => { console.error(error); }} /> )}

);

nguyentitan commented 4 months ago

I'm facing the same issue, any suggestion?

dipteshdx commented 4 months ago

I am facing the same issue any solution?

tsalama commented 4 months ago

Also facing this, but a different error:

java.lang.RuntimeException: Loaded page is null
  io.legere.pdfiumandroid.PdfDocument.nativeLoadPage(Native Method)
  io.legere.pdfiumandroid.PdfDocument.openPage(PdfDocument.kt:83)
  io.legere.pdfiumandroid.PdfiumCore.renderPageBitmap(PdfiumCore.kt:406)
  com.github.barteksc.pdfviewer.PdfFile.renderPageBitmap(PdfFile.java:301)
  com.github.barteksc.pdfviewer.RenderingHandler.proceed(RenderingHandler.java:109)
  com.github.barteksc.pdfviewer.RenderingHandler.handleMessage(RenderingHandler.java:66)
  android.os.Handler.dispatchMessage(Handler.java:106)
  android.os.Looper.loopOnce(Looper.java:201)
  android.os.Looper.loop(Looper.java:288)
  android.os.HandlerThread.run(HandlerThread.java:67)
huanguolin commented 4 months ago

same issue here.

huanguolin commented 4 months ago

my workaround: downgrade from 6.7.5 to 6.6.2.

nguyentitan commented 4 months ago

I have temporary solution to fix it, hope this issue will be fixed ASAP.

  1. Downgrade to 6.7.4
  2. Create patch file from our project and apply the fix from this PR: https://github.com/wonday/react-native-pdf/pull/827
  3. re-run npm install to apply the patch, crash issue resolved.
jlopezdominguez commented 4 months ago

Having the same problem here, and also this one :

Fatal Exception: java.lang.RuntimeException: Get page pdf document null at io.legere.pdfiumandroid.PdfDocument.nativeLoadPage(PdfDocument.kt) at io.legere.pdfiumandroid.PdfDocument.openPage(PdfDocument.kt:83) at io.legere.pdfiumandroid.PdfiumCore.renderPageBitmap(PdfiumCore.kt:406) at com.github.barteksc.pdfviewer.PdfFile.renderPageBitmap(PdfFile.java:301) at com.github.barteksc.pdfviewer.RenderingHandler.proceed(RenderingHandler.java:109) at com.github.barteksc.pdfviewer.RenderingHandler.handleMessage(RenderingHandler.java:66) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:65)

Any clue on how to fix this ?

agungjk commented 4 months ago

my workaround: downgrade from 6.7.5 to 6.6.2.

tested, working on my project

TraFost commented 3 months ago

does u guys facing an error while the component finished loading and then the app suddenly crashed? i've been searching for this and got no answer

EwaGuziejko commented 1 month ago

Any idea how to fix this one? For me the "already closed" issue is raised when user enters pdf screen and then goes to other place in the app - when he comes back to pdf the app crashes with this error.

basit-nbs commented 1 month ago

Is their any solution available for this? I cannot see any potential fix to this currently. Also, downgrading the version does not seems like a fix to this error.

Dzmitry-Klokau commented 4 weeks ago

downgrade to 6.6.2 works for me

irmakcosarsahna commented 1 week ago

I have the same problem. It started happening on Android devices after updating the React Native version and the package.

"react-native": "^0.75.2", "react-native-pdf": "^6.7.5",

jay4008 commented 1 week ago

Hi @tsalama are you able to solve the issue

tsalama commented 6 days ago

@jay4008 Yes but only by downgrading to 6.7.3

jay4008 commented 6 days ago

@tsalama actually i am using react-native 0.73 and react native pdf as 6.7.5 , and the main problem is that i am getting both io.legere.pdfiumandroid.util.ConfigKt.handleAlreadyClosed and io.legere.pdfiumandroid.PdfDocument.nativeLoadPage,

Will i change with 6.6.2 or 6.7.3