Opened 8 years ago

Closed 7 years ago

#50110 closed defect (fixed)

Evince seg fault

Reported by: asic512 Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: evince

Description

OS X 10.11.2 MacPorts 2.3.4 Xcode 7.1.1 evince @3.18.2_0

Evince crashes when it tries to open a simple .dvi file. (seg. fault 11)

Moreover it is very slow to launch with dbus error (evince:2145): WARNING : Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

More generally gnome-session doesn't work as many other gnome applications (dbus error)

Attachments (3)

essai2.dvi (520 bytes) - added by dbevans (David B. Evans) 8 years ago.
Sample .dvi file (provided by reporter) that demostrates issue.
essai.dvi (252 bytes) - added by asic512 8 years ago.
Very simple dvi
essai.2.dvi (252 bytes) - added by asic512 8 years ago.
Very simple dvi

Download all attachments as: .zip

Change History (16)

comment:1 Changed 8 years ago by dbevans (David B. Evans)

As mentioned via email, I have confirmed that there is an issue with evince concerning the rendering of .dvi files that causes a segfault in t1lib. I'm working to identify the specific cause and hopefully a fix. Currently, it's not clear whether this is a problem with the .dvi file that you provided or .dvi files in general. Other supported file types such as pdf, jpeg, tiff, etc work fine.

I have not been able to reproduce any dbus problems. I see no errors at all when evince starts up, only when I attempt to open the .dvi file that you provided. If you would submit the exact text of the error message that you see (using WikiFormatting) that would help in understanding the nature of the error you are seeing. It seems to be specific to your system, however.

Will update this ticket when I have more information. Thanks for your report.

Last edited 8 years ago by dbevans (David B. Evans) (previous) (diff)

Changed 8 years ago by dbevans (David B. Evans)

Attachment: essai2.dvi added

Sample .dvi file (provided by reporter) that demostrates issue.

comment:2 Changed 8 years ago by dbevans (David B. Evans)

Cc: devans@… removed
Keywords: evince dvi gnome removed
Owner: changed from macports-tickets@… to devans@…
Port: @3.18.2_0 removed
Status: newassigned
Version: 2.3.4

Changed 8 years ago by asic512

Attachment: essai.dvi added

Very simple dvi

Changed 8 years ago by asic512

Attachment: essai.2.dvi added

Very simple dvi

comment:3 in reply to:  1 ; Changed 8 years ago by asic512

Message obtained from the command evince essai.dvi

  ** (evince:933): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, 
the reply timeout expired, or the network connection was broken.
Segmentation fault: 11

The Dbus error is probably due to a bad configuration ... Evince works fine with pdf files but seems to crash with any simple dvi (produced by LateX). I attach a simpler dvi.

comment:4 Changed 8 years ago by dbevans (David B. Evans)

I concur. I've tried a number of dvi files some complex, others very simple. All fail. In addition, all the files (including yours) work fine with xdvi (provided by port texlive-basic) and I can convert them to pdf with dvipdfm. So definitely a generic dvi problem.

comment:5 Changed 8 years ago by dbevans (David B. Evans)

Tentative fix committed in r143824. I've disabled the use of t1lib for font rasterization in the dvi backend. This is where the error was occurring. In addition, I added a patch to fix dvi font map handling in some rare instances. To clean up the console output, debug output is now disabled.

Evince now correctly renders dvi files (yours in particular) both as thumbnails and the normal page display.

To take advantage of these changes, update your port tree and rebuild evince.

sudo port selfupdate
sudo port clean evince
sudo port upgrade evince

Let me know if this fixes the problem for you as well so I can close the ticket. Thanks.

comment:6 in reply to:  3 Changed 8 years ago by dbevans (David B. Evans)

Replying to pf15@…:

Message obtained from the command evince essai.dvi

  ** (evince:933): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.NoReply: Did not receive a reply.
 Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, 
the reply timeout expired, or the network connection was broken.

The dbus issue is independent of the segmentation fault. The accessibility bus is a separate dbus instance from the main session dbus and is started on demand by processes that support it. This is what's failing for you. If you look at dbus related processes you should see something like this if all is well:

$ ps ax
18381   ??  S      0:00.17 /opt/local/bin/dbus-daemon --nofork --session
18384   ??  S      0:00.07 /opt/local/bin/dbus-daemon --config-file=/opt/local/etc/at-spi2/accessibility.conf --nofork --print-address 3
21493   ??  Ss     0:00.01 /opt/local/bin/dbus-daemon --system --nofork

The first is the normal session bus daemon, the second is the accessibility bus daemon and the third is the system dbus daemon.

Make sure that at-spi2-atk (a dependency of gtk3) is installed and that you haven't changed any dbus related conf files. You can also try logging out and then logging back in again to cause the dbus system to restart in case something has gotten hung up.

Sorry I can't offer too much more on this one. It should just work as shipped.

Segmentation fault: 11

}}}

}}}

The Dbus error is probably due to a bad configuration ... Evince works fine with pdf files but seems to crash with any simple dvi (produced by LateX). I attach a simpler dvi.

Last edited 8 years ago by dbevans (David B. Evans) (previous) (diff)

comment:7 Changed 8 years ago by asic512

The upgrade has fixed the problem with dvi files. Thanks !

I still have the Dbus problem which I don't understand ... After closing Evince I also get the following

Message warning:

  
(evince:41502): Gtk-WARNING **: Attempting to store changes into '/opt/local/share/recently-used.xbel', but faile\
d: La création du fichier « /opt/local/share/recently-used.xbel.5JHP9X » a échoué : dcv7\xe3h

(evince:41502): Gtk-WARNING **: Attempting to set the permissions of '/opt/local/share/recently-used.xbel', but f\
ailed:   \xccP\xff\u007f

comment:8 Changed 8 years ago by asic512

Thanks again for your helpful messages! I forgot to mention that after a ps I don't get the accessibility bus daemon. I just get

 1838   ??  Ss     0:00.01 /opt/local/bin/dbus-daemon --system --nofork
40717   ??  S      0:00.03 /opt/local/bin/dbus-daemon --nofork --session
 

comment:9 in reply to:  7 Changed 8 years ago by dbevans (David B. Evans)

Replying to pf15@…: After closing Evince I also get the following

Message warning:

  
(evince:41502): Gtk-WARNING **: Attempting to store changes into '/opt/local/share/recently-used.xbel', but faile\
d: La création du fichier « /opt/local/share/recently-used.xbel.5JHP9X » a échoué : dcv7\xe3h

(evince:41502): Gtk-WARNING **: Attempting to set the permissions of '/opt/local/share/recently-used.xbel', but f\
ailed:   \xccP\xff\u007f

This is the file that GTK+ uses to keep track of recently used files for each GTK application. For example, by default, when you open a new window in evince, a window of file thumbnails is presented showing the files that you have recently opened with evince. Because it is regularly updated by GTK+, it needs to be in a directory to which you have read/write access. /opt/local/share doesn't meet this criteria:

$ ls -ld /opt/local/share
drwxr-xr-x  98 root  admin  3332 Dec 24 08:19 /opt/local/share

This file is normally stored in your $HOME directory. For instance on my system, it's stored in

$ echo $HOME
/Users/devans

as /Users/devans/.local/share/recently-used.xbel

This makes me think that your HOME environment variable is not set correctly.

comment:10 in reply to:  8 Changed 8 years ago by dbevans (David B. Evans)

Replying to pf15@…:

Thanks again for your helpful messages! I forgot to mention that after a ps I don't get the accessibility bus daemon. I just get

 1838   ??  Ss     0:00.01 /opt/local/bin/dbus-daemon --system --nofork
40717   ??  S      0:00.03 /opt/local/bin/dbus-daemon --nofork --session
 

This is consistent with your error message and shows that the accessibility bus could not be started. Possibly due to permissions or other configuration problems.

I'm heading off for the Christmas holiday now but will take a look at the details of how this normally gets started after I return next week. Other than issuing the warning message this shouldn't effect the basic operation of evince or the other GNOME apps (other than possibly accessibility features).

comment:11 Changed 8 years ago by asic512

Thanks for your explanations: I made some progress..

First, after a cleaning of at-spi2-core and at-spi2-core and dbus , Evince can start rapidly without any error message.

My $HOME was correct. However I put in .xinitrc the following

export XDG_DATA_HOME=/Users/UUUUU/.local/share

where "UUUUU" is my user name. In this way I can get rid off the messages about recently-used.xbel.

But, when I use Evince I still get the following messages

** (evince:22569): WARNING **: AT-SPI: Could not obtain desktop path or name


** (evince:22563): WARNING **: atk-bridge: GetRegisteredEvents returned message with unknown signature

** (evince:22563): WARNING **: atk-bridge: get_device_events_reply: unknown signature

And now I have the 3 processes

 77   ??  Ss     0:00.02 /opt/local/bin/dbus-daemon --system --nofork
  389   ??  S      0:00.36 /opt/local/bin/dbus-daemon --nofork --session
 7512   ??  S      0:00.05 /opt/local/bin/dbus-daemon --config-file=/opt/local/etc/at-spi2/accessibility.conf --nofork --print-address 3

Happy Christmas!

comment:12 in reply to:  11 Changed 8 years ago by asic512

If I start Xquartz from the launchpad (instead of using startx) with no personnal configuration file (no .xinitrc or .xinitrc.d), I can launch evince from a xterm, then the accessibility bus starts correctly. I get no error or warning message from evince. However gnome-panel crashes:

** (gnome-panel:1396): WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

** (gnome-panel:1396): WARNING **: Failed to load applications: Failed to look up menu_file for "gnome-applications.menu"


** (gnome-panel:1396): WARNING **: Could not ask session manager if shut down is available: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
Segmentation fault: 11

(is it compatible with quartz wm ?) and I get from gnome-session the following:

gnome-session-is-accelerated: No composite extension.
gnome-session-is-accelerated: No GLX_EXT_texture_from_pixmap support.
Dec 27 12:45:45  gnome-session-binary[1400] <Warning>: WARNING: Using null backend for session tracking
Dec 27 12:45:45  gnome-session-binary[1400] <Warning>: WARNING: Unable to find required component 'gnome-shell'
Dec 27 12:45:45  gnome-session-binary[1400] <Warning>: WARNING: Unable to find required component 'gnome-settings-daemon'

** (gnome-session-quit:1412): WARNING **: Failed to call logout: GDBus.Error:org.gnome.SessionManager.NotInRunning: Logout interface is only available during the Running phase

So what are the right configuration files that I should put in .xinit.d in order to start a gnome-session ? Thanks.

Last edited 8 years ago by asic512 (previous) (diff)

comment:13 Changed 7 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: assignedclosed

The dvi issue has been fixed for some time and I cannot reproduce the dbus errors described here with current evince versions.

Closing as fixed.

gnome-session continues to be a problem and should be addressed as a separate ticket.

Note: See TracTickets for help on using tickets.