2012-09-11 3 views
0

com.artifex.mupdf.MuPDFCore.getText2Internal (네이티브 메소드) 에서 런타임시 Java Native에서 오류가 발생합니다. 여기에 로그가 있습니다. 문제를 식별 할 수없는 것 같습니다. Mupdf 위에 래퍼를 쓰려고합니다. 나에게 필요한 코드가 있으면 알려줘.안드로이드에서의 Java 네이티브 오류

09-11 11:19:43.039: W/dalvikvm(3131): threadid=4: spin on suspend #1 threadid=10 (pcf=0) 
09-11 11:19:43.789: W/dalvikvm(3131): threadid=4: spin on suspend #2 threadid=10 (pcf=3) 
09-11 11:19:43.789: I/dalvikvm(3131): "Signal Catcher" daemon prio=5 tid=4 RUNNABLE 
09-11 11:19:43.789: I/dalvikvm(3131): | group="system" sCount=0 dsCount=0 obj=0x40510b68 self=0x173a38 
09-11 11:19:43.789: I/dalvikvm(3131): | sysTid=3136 nice=0 sched=0/0 cgrp=default handle=1207328 
09-11 11:19:43.789: I/dalvikvm(3131): at dalvik.system.NativeStart.run(Native Method) 
09-11 11:19:43.789: I/dalvikvm(3131): "AsyncTask #2" prio=5 tid=10 RUNNABLE 
09-11 11:19:43.789: I/dalvikvm(3131): | group="main" sCount=1 dsCount=0 obj=0x40511508 self=0x1d3338 
09-11 11:19:43.789: I/dalvikvm(3131): | sysTid=3207 nice=0 sched=0/0 cgrp=default handle=1913968 
09-11 11:19:43.859: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2Internal(Native Method) 
09-11 11:19:43.859: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2(MuPDFCore.java:155) 
09-11 11:19:43.859: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.gotoPage(MuPDFCore.java:77) 
09-11 11:19:43.859: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getPageSize(MuPDFCore.java:84) 
09-11 11:19:43.859: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:54) 
09-11 11:19:43.859: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:1) 
09-11 11:19:43.859: I/dalvikvm(3131): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
09-11 11:19:43.859: I/dalvikvm(3131): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
09-11 11:19:43.859: I/dalvikvm(3131): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
09-11 11:19:43.859: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
09-11 11:19:43.869: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
09-11 11:19:43.869: I/dalvikvm(3131): at java.lang.Thread.run(Thread.java:1019) 
09-11 11:19:44.619: W/dalvikvm(3131): threadid=4: spin on suspend #3 threadid=10 (pcf=3) 
09-11 11:19:44.619: I/dalvikvm(3131): "Signal Catcher" daemon prio=5 tid=4 RUNNABLE 
09-11 11:19:44.619: I/dalvikvm(3131): | group="system" sCount=0 dsCount=0 obj=0x40510b68 self=0x173a38 
09-11 11:19:44.619: I/dalvikvm(3131): | sysTid=3136 nice=0 sched=0/0 cgrp=default handle=1207328 
09-11 11:19:44.619: I/dalvikvm(3131): at dalvik.system.NativeStart.run(Native Method) 
09-11 11:19:44.619: I/dalvikvm(3131): "AsyncTask #2" prio=5 tid=10 RUNNABLE 
09-11 11:19:44.619: I/dalvikvm(3131): | group="main" sCount=1 dsCount=0 obj=0x40511508 self=0x1d3338 
09-11 11:19:44.619: I/dalvikvm(3131): | sysTid=3207 nice=0 sched=0/0 cgrp=default handle=1913968 
09-11 11:19:46.549: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2Internal(Native Method) 
09-11 11:19:46.549: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2(MuPDFCore.java:155) 
09-11 11:19:46.549: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.gotoPage(MuPDFCore.java:77) 
09-11 11:19:46.549: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getPageSize(MuPDFCore.java:84) 
09-11 11:19:46.549: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:54) 
09-11 11:19:46.549: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:1) 
09-11 11:19:46.549: I/dalvikvm(3131): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
09-11 11:19:46.549: I/dalvikvm(3131): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
09-11 11:19:46.549: I/dalvikvm(3131): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
09-11 11:19:46.549: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
09-11 11:19:46.549: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
09-11 11:19:46.549: I/dalvikvm(3131): at java.lang.Thread.run(Thread.java:1019) 
09-11 11:19:47.299: W/dalvikvm(3131): threadid=4: spin on suspend #4 threadid=10 (pcf=3) 
09-11 11:19:47.299: I/dalvikvm(3131): "Signal Catcher" daemon prio=5 tid=4 RUNNABLE 
09-11 11:19:47.299: I/dalvikvm(3131): | group="system" sCount=0 dsCount=0 obj=0x40510b68 self=0x173a38 
09-11 11:19:47.299: I/dalvikvm(3131): | sysTid=3136 nice=0 sched=0/0 cgrp=default handle=1207328 
09-11 11:19:47.299: I/dalvikvm(3131): at dalvik.system.NativeStart.run(Native Method) 
09-11 11:19:47.299: I/dalvikvm(3131): "AsyncTask #2" prio=5 tid=10 RUNNABLE 
09-11 11:19:47.299: I/dalvikvm(3131): | group="main" sCount=1 dsCount=0 obj=0x40511508 self=0x1d3338 
09-11 11:19:47.299: I/dalvikvm(3131): | sysTid=3207 nice=0 sched=0/0 cgrp=default handle=1913968 
09-11 11:19:47.319: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2Internal(Native Method) 
09-11 11:19:47.319: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2(MuPDFCore.java:155) 
09-11 11:19:47.319: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.gotoPage(MuPDFCore.java:77) 
09-11 11:19:47.319: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getPageSize(MuPDFCore.java:84) 
09-11 11:19:47.319: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:54) 
09-11 11:19:47.319: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:1) 
09-11 11:19:47.319: I/dalvikvm(3131): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
09-11 11:19:47.319: I/dalvikvm(3131): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
09-11 11:19:47.319: I/dalvikvm(3131): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
09-11 11:19:47.319: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
09-11 11:19:47.319: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
09-11 11:19:47.319: I/dalvikvm(3131): at java.lang.Thread.run(Thread.java:1019) 
09-11 11:19:48.069: W/dalvikvm(3131): threadid=4: spin on suspend #5 threadid=10 (pcf=3) 
09-11 11:19:48.069: I/dalvikvm(3131): "Signal Catcher" daemon prio=5 tid=4 RUNNABLE 
09-11 11:19:48.069: I/dalvikvm(3131): | group="system" sCount=0 dsCount=0 obj=0x40510b68 self=0x173a38 
09-11 11:19:48.069: I/dalvikvm(3131): | sysTid=3136 nice=0 sched=0/0 cgrp=default handle=1207328 
09-11 11:19:48.069: I/dalvikvm(3131): at dalvik.system.NativeStart.run(Native Method) 
09-11 11:19:48.069: I/dalvikvm(3131): "AsyncTask #2" prio=5 tid=10 RUNNABLE 
09-11 11:19:48.069: I/dalvikvm(3131): | group="main" sCount=1 dsCount=0 obj=0x40511508 self=0x1d3338 
09-11 11:19:48.069: I/dalvikvm(3131): | sysTid=3207 nice=0 sched=0/0 cgrp=default handle=1913968 
09-11 11:19:48.069: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2Internal(Native Method) 
09-11 11:19:48.069: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2(MuPDFCore.java:155) 
09-11 11:19:48.069: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.gotoPage(MuPDFCore.java:77) 
09-11 11:19:48.069: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getPageSize(MuPDFCore.java:84) 
09-11 11:19:48.069: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:54) 
09-11 11:19:48.069: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:1) 
09-11 11:19:48.069: I/dalvikvm(3131): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
09-11 11:19:48.069: I/dalvikvm(3131): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
09-11 11:19:48.069: I/dalvikvm(3131): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
09-11 11:19:48.069: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
09-11 11:19:48.069: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
09-11 11:19:48.069: I/dalvikvm(3131): at java.lang.Thread.run(Thread.java:1019) 
09-11 11:19:48.819: W/dalvikvm(3131): threadid=4: spin on suspend #6 threadid=10 (pcf=3) 
09-11 11:19:48.819: I/dalvikvm(3131): "Signal Catcher" daemon prio=5 tid=4 RUNNABLE 
09-11 11:19:48.819: I/dalvikvm(3131): | group="system" sCount=0 dsCount=0 obj=0x40510b68 self=0x173a38 
09-11 11:19:48.819: I/dalvikvm(3131): | sysTid=3136 nice=0 sched=0/0 cgrp=default handle=1207328 
09-11 11:19:48.819: I/dalvikvm(3131): at dalvik.system.NativeStart.run(Native Method) 
09-11 11:19:48.819: I/dalvikvm(3131): "AsyncTask #2" prio=5 tid=10 RUNNABLE 
09-11 11:19:48.819: I/dalvikvm(3131): | group="main" sCount=1 dsCount=0 obj=0x40511508 self=0x1d3338 
09-11 11:19:48.819: I/dalvikvm(3131): | sysTid=3207 nice=0 sched=0/0 cgrp=default handle=1913968 
09-11 11:19:48.829: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2Internal(Native Method) 
09-11 11:19:48.829: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getText2(MuPDFCore.java:155) 
09-11 11:19:48.829: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.gotoPage(MuPDFCore.java:77) 
09-11 11:19:48.829: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFCore.getPageSize(MuPDFCore.java:84) 
09-11 11:19:48.829: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:54) 
09-11 11:19:48.829: I/dalvikvm(3131): at com.artifex.mupdf.MuPDFPageAdapter$1.doInBackground(MuPDFPageAdapter.java:1) 
09-11 11:19:48.829: I/dalvikvm(3131): at android.os.AsyncTask$2.call(AsyncTask.java:185) 
09-11 11:19:48.829: I/dalvikvm(3131): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
09-11 11:19:48.829: I/dalvikvm(3131): at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
09-11 11:19:48.829: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
09-11 11:19:48.829: I/dalvikvm(3131): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
09-11 11:19:48.829: I/dalvikvm(3131): at java.lang.Thread.run(Thread.java:1019) 
+1

이 예외로 인해 눈의 손상을 입었습니다. – CloudyMarble

+0

크래시의 원인을 찾았습니다. 조치. 많은 메모리를 할당하고 아무 것도 할당 해제하고있었습니다. 이것에 대한 회피책은, 메소드를 사용해 네이티브 형의 값을 java에 건네 주거나, JNI로는 메모리를 할당하지 말아주세요. – asloob

답변

0

나는 추락의 원인을 발견했다. 그것은 잘못된 메모리 관리 때문이었다. 많은 메모리를 할당하고 아무 것도 할당 해제하고있었습니다. 이 문제를 해결하기위한 방법은 메서드를 사용하여 네이티브 형식의 값을 전달하고 JNI에서 메모리를 할당하지 않는 것입니다.

관련 문제