Bug 11194 - poppler 0.5.9 crash when selecting text with evince (0.9.0)
Summary: poppler 0.5.9 crash when selecting text with evince (0.9.0)
Status: RESOLVED NOTABUG
Alias: None
Product: poppler
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
Hardware: Other All
: high critical
Assignee: poppler-bugs
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-07 12:47 UTC by Pablo Rodríguez
Modified: 2007-06-10 12:25 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
pdf file that crashes poppler when selecting text (49.58 KB, application/binary)
2007-06-07 12:50 UTC, Pablo Rodríguez
Details
(x)dvipdfm(x) document that crashes poppler when selecting text from it (128.72 KB, application/binary)
2007-06-09 12:38 UTC, Pablo Rodríguez
Details

Description Pablo Rodríguez 2007-06-07 12:47:51 UTC
Using poppler-0.5.9 (with evince-0.9 and poppler-1.4.6) I get a segfault when I try to select text from the attached file.

I also don't know why poppler (or evince) needs much longer to open this file (I mean, the ones generated with Quartz), when xpdf is as fast as with any other file.

Congratulations for your excellent work,


Pablo
Comment 1 Pablo Rodríguez 2007-06-07 12:50:33 UTC
Created attachment 10223 [details]
pdf file that crashes poppler when selecting text

Sorry, I forgot the backtrace:

Memory status: size: 83533824 vsize: 0 resident: 83533824 share: 0 rss: 43651072 rss_rlim: 0
CPU usage: start_time: 1181245118 rtime: 0 utime: 1113 stime: 0 cutime:1032 cstime: 0 timeout: 81 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/evince'

Using host libthread_db library "/lib/i686/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1231702320 (LWP 6567)]
[New Thread -1232938080 (LWP 6568)]
0xbfffe410 in __kernel_vsyscall ()
#0  0xbfffe410 in __kernel_vsyscall ()
#1  0xb7a1c3eb in __waitpid_nocancel () from /lib/i686/libpthread.so.0
#2  0xb7f364e7 in gnome_gtk_module_info_get () from /usr/lib/libgnomeui-2.so.0
#3  <signal handler called>
#4  poppler_page_render_selection (page=0x84271b8, cairo=0x20000000, 
    selection=0x4000863d, old_selection=0x0, style=140098056, 
    glyph_color=0x8568108, background_color=0x0) at poppler-page.cc:657
#5  0x080a0d75 in pdf_selection_render_selection (selection=0x8427140, 
    rc=0x84270f0, pixbuf=0x856812c, points=0x8568108, old_points=0x0, 
    text=0x830fc84, base=0x830fcc0) at ev-poppler.cc:1632
#6  0x0809ff6d in ev_selection_render_selection (selection=0x8427140, 
    rc=0x84270f0, pixbuf=0x856812c, points=0x8568108, old_points=0x0, 
    text=0x830fc84, base=0x830fcc0) at ev-selection.c:70
#7  0x08070aa5 in ev_pixbuf_cache_get_selection_pixbuf (
    pixbuf_cache=0x842b0c0, page=0, scale=2.06554627, region=0xbf887510)
    at ev-pixbuf-cache.c:906
#8  0x0807b94d in selection_update_idle_cb (view=0x813f420) at ev-view.c:4555
#9  0xb6cc76a0 in g_idle_dispatch (source=0x859c198, 
    callback=0x807b5e0 <selection_update_idle_cb>, user_data=0x813f420)
    at gmain.c:3928
#10 0xb6cc9475 in IA__g_main_context_dispatch (context=0x8125630)
    at gmain.c:2045
#11 0xb6ccc492 in g_main_context_iterate (context=0x8125630, block=1, 
    dispatch=1, self=0x8106e00) at gmain.c:2677
#12 0xb6ccc804 in IA__g_main_loop_run (loop=0x8130480) at gmain.c:2881
#13 0xb738b9af in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x0808ee91 in main (argc=) at main.c:382

Thread 2 (Thread -1232938080 (LWP 6568)):
#0  0xbfffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7a18886 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i686/libpthread.so.0
No symbol table info available.
#2  0x08068c23 in ev_render_thread (data=0x0) at ev-job-queue.c:247
	job = (EvJob *) 0x84c1d20
#3  0xb6ce75d4 in g_thread_create_proxy (data=0x8139b58) at gthread.c:553
	__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#4  0xb7a15562 in start_thread () from /lib/i686/libpthread.so.0
No symbol table info available.
#5  0xb77b24de in clone () from /lib/i686/libc.so.6
No symbol table info available.

Thread 1 (Thread -1231702320 (LWP 6567)):
#0  0xbfffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7a1c3eb in __waitpid_nocancel () from /lib/i686/libpthread.so.0
No symbol table info available.
#2  0xb7f364e7 in gnome_gtk_module_info_get () from /usr/lib/libgnomeui-2.so.0
No symbol table info available.
#3  <signal handler called>
No symbol table info available.
#4  poppler_page_render_selection (page=0x84271b8, cairo=0x20000000, 
    selection=0x4000863d, old_selection=0x0, style=140098056, 
    glyph_color=0x8568108, background_color=0x0) at poppler-page.cc:657
	text_dev =
Comment 2 Pablo Rodríguez 2007-06-09 12:38:18 UTC
Created attachment 10240 [details]
(x)dvipdfm(x) document that crashes poppler when selecting text from it

I'm afraid that the problem is generated also by files generated with (x)dvipdfm(x), as the attachment shows. Backtrace bellow.

I hope it helps,


Pablo


Memory status: size: 82845696 vsize: 0 resident: 82845696 share: 0 rss: 42389504 rss_rlim: 0
CPU usage: start_time: 1181417958 rtime: 0 utime: 176 stime: 0 cutime:162 cstime: 0 timeout: 14 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/evince'

Using host libthread_db library "/lib/i686/libthread_db.so.1".
`shared object read from target memory' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1232025904 (LWP 7346)]
[New Thread -1233261664 (LWP 7347)]
0xbfffe410 in __kernel_vsyscall ()
#0  0xbfffe410 in __kernel_vsyscall ()
#1  0xb79cd3eb in __waitpid_nocancel () from /lib/i686/libpthread.so.0
#2  0xb7ee74e7 in gnome_gtk_module_info_get () from /usr/lib/libgnomeui-2.so.0
#3  <signal handler called>
#4  poppler_page_render_selection (page=0x855a228, cairo=0x60000000, 
    selection=0x40008d1f, old_selection=0x0, style=140959248, 
    glyph_color=0x8697250, background_color=0x0) at poppler-page.cc:657
#5  0x080a0d75 in pdf_selection_render_selection (selection=0x855a200, 
    rc=0x84ab650, pixbuf=0x8697274, points=0x8697250, old_points=0x0, 
    text=0x8311d0c, base=0x8311d48) at ev-poppler.cc:1632
#6  0x0809ff6d in ev_selection_render_selection (selection=0x855a200, 
    rc=0x84ab650, pixbuf=0x8697274, points=0x8697250, old_points=0x0, 
    text=0x8311d0c, base=0x8311d48) at ev-selection.c:70
#7  0x08070aa5 in ev_pixbuf_cache_get_selection_pixbuf (
    pixbuf_cache=0x842d200, page=1, scale=2.0689075, region=0xbfd7da70)
    at ev-pixbuf-cache.c:906
#8  0x0807b94d in selection_update_idle_cb (view=0x813e408) at ev-view.c:4555
#9  0xb6c786a0 in g_idle_dispatch (source=0x8666610, 
    callback=0x807b5e0 <selection_update_idle_cb>, user_data=0x813e408)
    at gmain.c:3928
#10 0xb6c7a475 in IA__g_main_context_dispatch (context=0x8125630)
    at gmain.c:2045
#11 0xb6c7d492 in g_main_context_iterate (context=0x8125630, block=1, 
    dispatch=1, self=0x8106e08) at gmain.c:2677
#12 0xb6c7d804 in IA__g_main_loop_run (loop=0x812f5e8) at gmain.c:2881
#13 0xb733c9af in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x0808ee91 in main (argc=) at main.c:382

Thread 2 (Thread -1233261664 (LWP 7347)):
#0  0xbfffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb79c9886 in pthread_cond_wait@@GLIBC_2.3.2 ()
   from /lib/i686/libpthread.so.0
No symbol table info available.
#2  0x08068c23 in ev_render_thread (data=0x0) at ev-job-queue.c:247
	job = (EvJob *) 0x84aae60
#3  0xb6c985d4 in g_thread_create_proxy (data=0x81380f0) at gthread.c:553
	__PRETTY_FUNCTION__ = "g_thread_create_proxy"
#4  0xb79c6562 in start_thread () from /lib/i686/libpthread.so.0
No symbol table info available.
#5  0xb77634de in clone () from /lib/i686/libc.so.6
No symbol table info available.

Thread 1 (Thread -1232025904 (LWP 7346)):
#0  0xbfffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb79cd3eb in __waitpid_nocancel () from /lib/i686/libpthread.so.0
No symbol table info available.
#2  0xb7ee74e7 in gnome_gtk_module_info_get () from /usr/lib/libgnomeui-2.so.0
No symbol table info available.
#3  <signal handler called>
No symbol table info available.
#4  poppler_page_render_selection (page=0x855a228, cairo=0x60000000, 
    selection=0x40008d1f, old_selection=0x0, style=140959248, 
    glyph_color=0x8697250, background_color=0x0) at poppler-page.cc:657
	text_dev =
Comment 3 Pablo Rodríguez 2007-06-10 03:21:40 UTC
I accidentally discovered that poppler (0.5.9 compiled with cairo-1.4.6) crashes evince-0.9.0 when selecting text from any pdf file.

I can send you backtraces from crashes with other PDF files.

It seems to be a critical bug.

Thanks for your help,


Pablo
Comment 4 Carlos Garcia Campos 2007-06-10 09:40:44 UTC
I can't reproduce it. poppler-glib API has changed. Please, recompile evince running configure (or autogen.sh if you have evince from svn) script and try again. 

Thanks for the report. 
Comment 5 Pablo Rodríguez 2007-06-10 10:13:24 UTC
Carlos,

I get the following error when trying to compile evince:

ev-poppler.cc:1632: error: cannot convert ‘gdouble’ to ‘cairo_t*’ for argument ‘2’ to ‘void poppler_page_render_selection(PopplerPage*, cairo_t*, PopplerRectangle*, PopplerRectangle*, PopplerSelectionStyle, GdkColor*, GdkColor*)’

I'm using cairo-1.4.6. Is there any way to avoid this?

Thanks,


Pablo
Comment 6 Carlos Garcia Campos 2007-06-10 12:18:47 UTC
(In reply to comment #5)
> Carlos,
> 
> I get the following error when trying to compile evince:
> 
> ev-poppler.cc:1632: error: cannot convert ‘gdouble’ to ‘cairo_t*’ for
> argument ‘2’ to ‘void poppler_page_render_selection(PopplerPage*,
> cairo_t*, PopplerRectangle*, PopplerRectangle*, PopplerSelectionStyle,
> GdkColor*, GdkColor*)’
>

oh!, of course, poppler-glib API has changed, so evince 0.9 doesn't compile against poppler 0.5.9 :-( In any case this is not a poppler bug, so I'm going to close it as not a bug.

> I'm using cairo-1.4.6. Is there any way to avoid this?

Cairo is not the problem. 

> Thanks,
>

We are going to release evince 0.9.1 in about a week, or you can also use evince from svn.

> 
> Pablo
> 

Thanks. 
Comment 7 Pablo Rodríguez 2007-06-10 12:25:42 UTC
(In reply to comment #6)
> oh!, of course, poppler-glib API has changed, so evince 0.9 doesn't compile
> against poppler 0.5.9 :-( In any case this is not a poppler bug, so I'm going
> to close it as not a bug.

Fine. I didn't realized that the new API required a new evince ;-).

> We are going to release evince 0.9.1 in about a week, or you can also use
> evince from svn.

I can wait. Thanks for your help and sorry for the problems,


Pablo


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.