Ticket #32 (closed defect: fixed)

Opened 2 years ago

Last modified 22 months ago

epdfview crashes when trying to load a file from the commandline

Reported by: anonymous Owned by: jordi
Priority: blocker Version: SVN
Keywords: Cc:

Description

this seems to happen randomly, but i had this problem quite often now, that's why i finally open a ticket for it.. when i try to open a file from thunar or from a shell, i sometimes get this:

(epdfview:11958): GLib-GObject-WARNING **: cannot register existing type `PopplerPage'

(epdfview:11958): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
Segmentation fault

sometimes the documents loads fine with no output in the terminal.

Change History

Changed 2 years ago by baze

btw, i use gtk 2.8.18 and these crashes appeared after the update to 0.1.4. the update from poppler 0.5.1 to 0.5.3 didn't solve anything either.

0.1.3 worked fine and never crashed for me in that way.

Changed 2 years ago by jordi

Well... up until now I'm unable to reproduce it in three machines, two x86 and one AMD64. I tried poppler versions 0.5.0, 0.5.1 and 0.5.2 but I guess from your comment that it's not a Poppler version issue. I also use Gtk+ 2.8.x in all machines.

I'm still looking for the problem, but currently I'm clueless...

Changed 2 years ago by baze

strange. it seems to work on my parents' pc without the crash too, with almost the same arch setup as my own, but still with older package versions though. i'm trying to find out which newer packages could cause this problem.

Changed 2 years ago by baze

  • status changed from new to closed
  • resolution set to worksforme

i couldn't reproduce the crashes on this pc and since you can't reproduce them either, i'm pretty sure it must be something wrong with my setup at home. i'm closing this ticket now and when i get home, i'll try to find out what is wrong.

Changed 2 years ago by baze

  • status changed from closed to reopened
  • resolution worksforme deleted

i just can't get it to work all the time on my pc :/ i even reinstalled gtk2, poppler and glib, glib2 and glibc packages and rebuilt epdfview but it just keeps crashing in about 60% i try to open a file. even when using the open dialog, btw. i tried 0.1.3 (which only builds with poppler 0.5.1 here) and this version works 100% correct and doesn't crash. 0.1.4 or 0.1.5 don't work with poppler 0.5.1 or .3 or latest svn (243)

i never had any problems like this with other programs and i just can't figure out what could cause these crashes :( i tried with other gtk engines and themes and removed the config file, but nothing helped solve this problem.

i'm sorry to reopen...

Changed 2 years ago by baze

i just had another thing while trying around: epdfview started, didn't crash, but the dokument inside epdfview kind of crashed. i had no dokument page shown in the program, and got this output:

(epdfview:24151): Poppler-CRITICAL **: void poppler_page_get_size(PopplerPage*, double*, double*): assertion `POPPLER_IS_PAGE (page)' failed

(epdfview:24151): GLib-GObject-WARNING **: invalid cast from `PopplerPage' to `PopplerPage'

but the old crash followed some tries after that again :/

btw, i use the following versions of tools: epdfview svn 243 gtk2 2.8.18 poppler 0.5.3 gcc 4.1.1 glib 1.2.10 glibc 2.4 glib2 2.10.3

Changed 2 years ago by baze

rebuilding with gcc 4.0.3 didn't help.

however, i ran epdfview from gdb and got the following bt after the crash:

(no debugging symbols found)
[New Thread -1223234656 (LWP 29087)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

(epdfview:29086): GLib-GObject-WARNING **: cannot register existing type `Popple rPage'

(epdfview:29086): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_O BJECT (object_type)' failed

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1221949776 (LWP 29086)]
0xb79f72f2 in _poppler_page_new () from /usr/lib/libpoppler-glib.so.1
(gdb) bt
#0  0xb79f72f2 in _poppler_page_new () from /usr/lib/libpoppler-glib.so.1
#1  0xb79f562d in poppler_document_get_page ()
   from /usr/lib/libpoppler-glib.so.1
#2  0x08054b98 in ?? ()
#3  0x0805072e in ?? ()
#4  0x08053d7c in ?? ()
#5  0x08053f57 in ?? ()
#6  0x0805143a in ?? ()
#7  0x0805195a in ?? ()
#8  0xb7e73421 in g_idle_dispatch () from /usr/lib/libglib-2.0.so.0
#9  0xb7e74dfc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#10 0xb7e7812f in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#11 0xb7e784e7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#12 0xb7c94e51 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x0804e8ed in ?? ()
#14 0xb7699808 in __libc_start_main () from /lib/libc.so.6
#15 0x0804e6f1 in ?? ()
(gdb)

Changed 2 years ago by baze

after the upgrade of glib to 2.12 and gtk to 2.10 this even got worse. i just had to try 25 times to get epdfview running. everytime it segfaulted. this makes this pretty nice program almost impossible to use here :/

Changed 2 years ago by baze

oh btw, i also upgraded cairo to 1.2.0

Changed 2 years ago by baze

and another one: i just tried evince and i got not a single crash there, so poppler works fine here.

Changed 2 years ago by baze

another bt:

#0  0xb7a182f2 in _poppler_page_new () from /usr/lib/libpoppler-glib.so.1
#1  0xb7a1662d in poppler_document_get_page ()
   from /usr/lib/libpoppler-glib.so.1
#2  0x08054548 in ePDFView::PDFDocument::getPageSizeForPage ()
#3  0x08050a5e in ePDFView::IDocument::getEmptyPage ()
#4  0x08053dcc in ePDFView::PagePter::refreshPage ()
#5  0x08053fa7 in ePDFView::PagePter::notifyLoad ()
#6  0x08050a1a in ePDFView::IDocument::notifyLoad ()
#7  0x080519fa in job_load_done ()
#8  0xb7f16a51 in g_idle_dispatch () from /usr/lib/libglib-2.0.so.0
#9  0xb7f187d1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#10 0xb7f1b82f in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#11 0xb7f1bbe7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#12 0xb7cdd7a1 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#13 0x0804e94d in main ()

do you have any configure switch such as --enable-debug to get more information where the crash happened?

Changed 2 years ago by baze

  • priority changed from critical to blocker

weird, sometimes i don't even get to the bt:

(no debugging symbols found)
Xlib: sequence lost (0x1011d > 0x1b3) in reply type 0x0!
Xlib: sequence lost (0x101b4 > 0x224) in reply type 0x0!
Xlib: sequence lost (0x10256 > 0x258) in reply type 0x1!
Xlib: unexpected async reply (sequence 0x259)!

totally unusable atm :/

Changed 2 years ago by baze

i just tried svn r250 and it doesn't crash anymore like before, but now it gets stuck most of the time i try to load a file with the following output

Xlib: sequence lost (0x10231 > 0x232) in reply type 0xe!
Xlib: unexpected async reply (sequence 0x660)!

and i have to kill epdfview.

Changed 2 years ago by baze

btw, my libx11 is 1.0.3

Changed 2 years ago by jordi

That last error message seems to mean that ePDFView tries to "draw" the window or any control from multiple threads, which is unsupported in X11.

Did you pass the '--enable-debug' option to configure? If so, then you can't open ePDFView because it uses a different way to pass messages between the working job and the window job that would cause this problem you describe.

If you didn't set the --enable-debug, then I'll have to look what can try to update the window from multiple threads.

Thanks.

Changed 2 years ago by baze

yes, i used --enable-debug the last time. i just disabled it again and now i got the crashes back :/

(epdfview:15009): GLib-GObject-WARNING **: cannot register existing type `PopplerPage'

(epdfview:15009): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
Segmentation fault

Changed 23 months ago by jordi

I really don't know the cause of it, but it seems to be fixed in commit [256]. Can someone test it?

Changed 22 months ago by baze

  • status changed from reopened to closed
  • resolution set to fixed

seems to be fixed indeed :) i'll drop evince for now and see if the problem occurs again, but when i just tested, i did not get any crashes or warnings anymore. thank you

Note: See TracTickets for help on using tickets.