wonday / react-native-pdf

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

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

Open LJW123 opened 6 months ago

LJW123 commented 6 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 6 months ago

I'm facing the same issue, any suggestion?

dipteshdx commented 6 months ago

I am facing the same issue any solution?

tsalama commented 5 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 5 months ago

same issue here.

huanguolin commented 5 months ago

my workaround: downgrade from 6.7.5 to 6.6.2.

nguyentitan commented 5 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 5 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 5 months ago

my workaround: downgrade from 6.7.5 to 6.6.2.

tested, working on my project

TraFost commented 4 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 3 months 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 2 months 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 2 months ago

downgrade to 6.6.2 works for me

irmakcosarsahna commented 1 month 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 month ago

Hi @tsalama are you able to solve the issue

tsalama commented 1 month ago

@jay4008 Yes but only by downgrading to 6.7.3

jay4008 commented 1 month 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

radiorapstech commented 2 weeks ago

Same error (Android), fixed on 6.6.2

steffenkleinle commented 1 week ago

Can also reproduce this if opening and closing pdfs quickly multiple times on v6.7.5.

pavel-roj commented 3 days ago

Can also reproduce this while using this library in conjunction with react navigation material-top-tabs, where I have a single PDF for each of the tabs. Quickly switching between the tabs crashes the application with the same fatal exception.

using react-native-pdf: 6.7.5 react-native: 0.73.6 react: 18.2.0

jay4008 commented 2 days ago

the pdf viewer is good to use but some issues are here from native side .