- Posts: 6
- Thank you received: 0
Microsoft Windows Phone 8.1 support ends (13 Jul 2017)
Microsoft has ended support for Windows Phone 8.1
Questions about iOS development and PDF
Crash on PDFVPage Render
- davidengler
- Topic Author
- Offline
- New Member
-
Less
More
IP: 192.168.0.71
11 years 11 months ago #6381
by davidengler
Crash on PDFVPage Render was created by davidengler
We have submitted the iOS version, and we are getting crash reports on daily basis for this code in PDFVPage.m
-(void)Render
{
if( m_status == 2 ) return;
if( !m_page )
m_page = [m_doc page:m_pageno]; // this is line 79 . most crashes in this line <
if( m_dib == 0 )
{
PDFDIB *dib = [[PDFDIB alloc] init:m_dibw: m_dibh];
[m_page renderPrepare:dib];
m_dib = dib;
}
else
[m_page renderPrepare:m_dib];
if( m_status == 2 ) return;
PDFMatrix *mat = [[PDFMatrix alloc] init:m_scale: -m_scale: 0: m_dibh];
[m_page render:m_dib :mat :renderQuality]; // this is line 90 . some crashes on this line <
[self RenderFinish];
}
Here are example crash reports:
14
Crashed: com.apple.root.default-overcommit-priority
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x80000004
raw
0
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
1
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
2
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
3
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
4
KReader
CPDFDoc::DocGetPage(int)
5
KReader
Document_getPage
6
KReader
PDFObjc.m line 1053
-[PDFDoc page:]
7
KReader
PDFVPage.m line 79
-[PDFVCache Render]
8
KReader
PDFVThread.m line 26
thread_route
9
libsystem_pthread.dylib
_pthread_body + 140
10
libsystem_pthread.dylib
_pthread_start + 102
2nd example:
Crashed: com.apple.root.default-overcommit-priority
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0xe5d08384
raw
0
KReader
CPDFGProcessor::process(PDF_GPROCESS_PARA const*)
1
KReader
CPDFGProcessor::process(PDF_GPROCESS_PARA const*)
2
KReader
CPDFPage::render_page(CPDFGRender*, _RDMATRIX const&, int, CPDFPageSession&)
3
KReader
CPDFDoc::Page_Render(void*, CPDFGRender*, _RDMATRIX const&, int, CPDFPageSession&)
4
KReader
Page_render
5
KReader
PDFVPage.m line 90
-[PDFVCache Render]
6
KReader
PDFVThread.m line 26
thread_route
7
libsystem_pthread.dylib
_pthread_body + 140
8
libsystem_pthread.dylib
_pthread_start + 102
Thank you
-(void)Render
{
if( m_status == 2 ) return;
if( !m_page )
m_page = [m_doc page:m_pageno]; // this is line 79 . most crashes in this line <
if( m_dib == 0 )
{
PDFDIB *dib = [[PDFDIB alloc] init:m_dibw: m_dibh];
[m_page renderPrepare:dib];
m_dib = dib;
}
else
[m_page renderPrepare:m_dib];
if( m_status == 2 ) return;
PDFMatrix *mat = [[PDFMatrix alloc] init:m_scale: -m_scale: 0: m_dibh];
[m_page render:m_dib :mat :renderQuality]; // this is line 90 . some crashes on this line <
[self RenderFinish];
}
Here are example crash reports:
14
Crashed: com.apple.root.default-overcommit-priority
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x80000004
raw
0
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
1
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
2
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
3
KReader
CPDFPageTree::pro_get_page(int&, CRDLocker&)
4
KReader
CPDFDoc::DocGetPage(int)
5
KReader
Document_getPage
6
KReader
PDFObjc.m line 1053
-[PDFDoc page:]
7
KReader
PDFVPage.m line 79
-[PDFVCache Render]
8
KReader
PDFVThread.m line 26
thread_route
9
libsystem_pthread.dylib
_pthread_body + 140
10
libsystem_pthread.dylib
_pthread_start + 102
2nd example:
Crashed: com.apple.root.default-overcommit-priority
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0xe5d08384
raw
0
KReader
CPDFGProcessor::process(PDF_GPROCESS_PARA const*)
1
KReader
CPDFGProcessor::process(PDF_GPROCESS_PARA const*)
2
KReader
CPDFPage::render_page(CPDFGRender*, _RDMATRIX const&, int, CPDFPageSession&)
3
KReader
CPDFDoc::Page_Render(void*, CPDFGRender*, _RDMATRIX const&, int, CPDFPageSession&)
4
KReader
Page_render
5
KReader
PDFVPage.m line 90
-[PDFVCache Render]
6
KReader
PDFVThread.m line 26
thread_route
7
libsystem_pthread.dylib
_pthread_body + 140
8
libsystem_pthread.dylib
_pthread_start + 102
Thank you
IP: 192.168.0.71
11 years 11 months ago #6382
by radaee
Replied by radaee on topic Crash on PDFVPage Render
it seems you closed document first and close PDFView later.
you shall close PDFView first by invoke [PDFVThumb vClose], [PDFView vClose];
and then close Document object.
you shall close PDFView first by invoke [PDFVThumb vClose], [PDFView vClose];
and then close Document object.
- davidengler
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 6
- Thank you received: 0
IP: 192.168.0.71
11 years 11 months ago #6384
by davidengler
Replied by davidengler on topic Crash on PDFVPage Render
Works now
- davidengler
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 6
- Thank you received: 0
IP: 192.168.0.71
11 years 11 months ago #6410
by davidengler
Replied by davidengler on topic Crash on PDFVPage Render
Is it a problem to process 2 PDFView objects with the same document simultaneously?
Or do I have to create a new PDFDoc object for each?
Or do I have to create a new PDFDoc object for each?
IP: 192.168.0.71
11 years 11 months ago #6413
by radaee
Replied by radaee on topic Crash on PDFVPage Render
1 document object is OK.
and close all view before document object destroyed.
and close all view before document object destroyed.
Time to create page: 0.526 seconds