Pantheon-files does not start: assertion 'value->ref_count > 0' failed

Bug #1401629 reported by Pim Vullers on 2014-12-11
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Files
Confirmed
Low
Unassigned

Bug Description

When trying to start pantheon-files I get the following error messages:

pim@chaos ~/elementary/pantheon-files/install $ ./bin/pantheon-files
[_LOG_LEVEL_INFO 22:53:37.678984] Application.vala:155: Files version: 0.2.0
[_LOG_LEVEL_INFO 22:53:37.679069] Application.vala:157: Kernel version: 3.17.4-gentoo
[_LOG_LEVEL_INFO 22:53:37.740352] Application.vala:84: Report any issues/bugs you might find to http://bugs.launchpad.net/pantheon-files
[_LOG_LEVEL_WARN 22:53:38.289480] gof-callwhenready.vala:70: query info failed, Error when getting information for file '/home/pim/Downloads': No such file or directory file:///home/pim/Downloads
[_LOG_LEVEL_WARN 22:53:38.289646] gof-callwhenready.vala:70: query info failed, Error when getting information for file '/home/pim/Videos': No such file or directory file:///home/pim/Videos
[_LOG_LEVEL_WARN 22:53:38.289848] gof-callwhenready.vala:70: query info failed, Error when getting information for file '/home/pim/Pictures': No such file or directory file:///home/pim/Pictures
[_LOG_LEVEL_WARN 22:53:38.289947] gof-callwhenready.vala:70: query info failed, Error when getting information for file '/home/pim/Music': No such file or directory file:///home/pim/Music
[_LOG_LEVEL_WARN 22:53:38.290044] gof-callwhenready.vala:70: query info failed, Error when getting information for file '/home/pim/Documents': No such file or directory file:///home/pim/Documents
[_LOG_LEVEL_INFO 22:53:38.290129] gof-callwhenready.vala:79: call when ready OK - empty list
[_LOG_LEVEL_FATAL 22:53:38.326273] [GLib] g_variant_ref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 22:53:38.326321] Files will not function properly.
[_LOG_LEVEL_FATAL 22:53:38.456861] [GLib] g_variant_unref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 22:53:38.456917] Files will not function properly.
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
Terminated

Just for completeness, I also tried to start the daemon which results in the following message:

pim@chaos ~/elementary/pantheon-files/install $ ./bin/pantheon-files-daemon
Database path: /home/pim/.config/marlin/marlin.db

** (process:14790): CRITICAL **: marlind-tagging.vala:368: Could not aquire name.

Any clue what might cause this?
Please let me know if you need any additional information.

This was also reported by another Gentoo user: https://github.com/pimvullers/elementary/issues/103

Changed in pantheon-files:
status: New → Incomplete
Jeremy Wootten (jeremywootten) wrote :

Do I understand correctly that you are running under Gentoo?

Files is primarily intended to be installed on Debian based systems and when installed the binary is /usr/bin/pantheon-files. Alternatively, if compiled from source without installing, the binary is in XXX/build/pantheon-files, where XXX is the root of the source tree.

You appear to be running from ~/elementary/pantheon-files/install/bin/pantheon-files and none of the expected default directories were found (~/Downloads etc) so this may be causing the problem.

Pim Vullers (pimvullers) wrote :

Concerning the default directories... I think you should use the XDG_ variables to determine the actual directories, these are usually specified in user-dirs.dirs:
pim@chaos ~ $ cat .config/user-dirs.dirs
# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME"
XDG_DOWNLOAD_DIR="$HOME/downloads"
XDG_TEMPLATES_DIR="$HOME"
XDG_PUBLICSHARE_DIR="$HOME"
XDG_DOCUMENTS_DIR="$HOME"
XDG_MUSIC_DIR="$HOME/audio"
XDG_PICTURES_DIR="$HOME/pictures"
XDG_VIDEOS_DIR="$HOME/videos"

To test I add the files listed by pantheon-files. I now get the following output:

pim@chaos ~ $ pantheon-files
[_LOG_LEVEL_INFO 22:58:31.275010] Application.vala:153: Files version: 0.2.0
[_LOG_LEVEL_INFO 22:58:31.275099] Application.vala:155: Kernel version: 3.18.0-gentoo
[_LOG_LEVEL_INFO 22:58:31.475058] Application.vala:84: Report any issues/bugs you might find to http://bugs.launchpad.net/pantheon-files
[_LOG_LEVEL_INFO 22:58:31.874597] gof-callwhenready.vala:79: call when ready OK - empty list
[_LOG_LEVEL_FATAL 22:58:31.953428] [GLib] g_variant_ref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 22:58:31.953585] Files will not function properly.
[_LOG_LEVEL_FATAL 22:58:31.958485] [GLib] g_variant_unref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 22:58:31.958549] Files will not function properly.
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
Terminated

Jeremy Wootten (jeremywootten) wrote :

There is a branch already in progress for honouring the settings in .config/user-dirs when creating default bookmarks.

Pim Vullers (pimvullers) wrote :

The problem is that even with the default directories present pantheon-files does not start, as can be seen above. There is still an assertion that fails.

Launchpad Janitor (janitor) wrote :

[Expired for Files because there has been no activity for 60 days.]

Changed in pantheon-files:
status: Incomplete → Expired

This should be reopened, because it still happens with the latest Freya build, and should probably be addressed, rather than ignored.

Changed in pantheon-files:
status: Expired → Confirmed

[_LOG_LEVEL_INFO 20:31:17.090102] Application.vala:153: Files version: 0.2.0
[_LOG_LEVEL_INFO 20:31:17.090152] Application.vala:155: Kernel version: 3.19.4_1
[_LOG_LEVEL_INFO 20:31:17.132370] Application.vala:84: Report any issues/bugs you might find to http://bugs.launchpad.net/pantheon-files
[_LOG_LEVEL_INFO 20:31:17.132496] [GLib-GIO] Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.
[_LOG_LEVEL_WARN 20:31:17.133634] [libnotify] Failed to connect to proxy
[_LOG_LEVEL_FATAL 20:31:17.168858] [GLib-GIO] g_app_info_get_id: assertion 'G_IS_APP_INFO (appinfo)' failed
[_LOG_LEVEL_FATAL 20:31:17.168891] Files will not function properly.
[_LOG_LEVEL_FATAL 20:31:17.170242] BookmarkList.vala:59: Could not create bookmarks file: Error creating directory: File exists
[_LOG_LEVEL_FATAL 20:31:17.170268] Files will not function properly.
[_LOG_LEVEL_WARN 20:31:17.221635] AbstractDirectoryView.vala:2943: Could not set file attributes - Setting attribute metadata::marlin-sort-column-id not supported
[_LOG_LEVEL_FATAL 20:31:17.223592] [GLib] g_variant_ref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 20:31:17.223622] Files will not function properly.
[_LOG_LEVEL_FATAL 20:31:17.223745] [GLib] g_variant_unref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 20:31:17.223767] Files will not function properly.
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.

OKAY, installed GConf-devel, so the reporting has changed (the info about saving settings no longer appears)

[_LOG_LEVEL_INFO 20:53:23.437951] Application.vala:153: Files version: 0.2.0
[_LOG_LEVEL_INFO 20:53:23.438000] Application.vala:155: Kernel version: 3.19.4_1
[_LOG_LEVEL_INFO 20:53:23.498871] Application.vala:84: Report any issues/bugs you might find to http://bugs.launchpad.net/pantheon-files
[_LOG_LEVEL_WARN 20:53:23.502021] [libnotify] Failed to connect to proxy
[_LOG_LEVEL_FATAL 20:53:23.542066] [GLib-GIO] g_app_info_get_id: assertion 'G_IS_APP_INFO (appinfo)' failed
[_LOG_LEVEL_FATAL 20:53:23.542110] Files will not function properly.
[_LOG_LEVEL_FATAL 20:53:23.543560] BookmarkList.vala:59: Could not create bookmarks file: Error creating directory: File exists
[_LOG_LEVEL_FATAL 20:53:23.543581] Files will not function properly.
[_LOG_LEVEL_WARN 20:53:23.576844] AbstractDirectoryView.vala:2943: Could not set file attributes - Setting attribute metadata::marlin-sort-column-id not supported
[_LOG_LEVEL_FATAL 20:53:23.604024] [GLib] g_variant_ref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 20:53:23.604055] Files will not function properly.
[_LOG_LEVEL_FATAL 20:53:23.604193] [GLib] g_variant_unref: assertion 'value->ref_count > 0' failed
[_LOG_LEVEL_FATAL 20:53:23.604216] Files will not function properly.
g_dbus_connection_real_closed: Remote peer vanished with error: Underlying GIOStream returned 0 bytes on an async read (g-io-error-quark, 0). Exiting.
Terminated

After some research, it looks like this may be breaking against Zeitgeist. Currently, I have v0.9.14 installed.
Anyone know of a version which works?

What's odd is, looking through the CMakeLists.txt under /src, it appears that Zeitgeist isn't even used, unless Unity is present. Also, given Zeitgeist's intended use, I'm not certain why it's even necessary as a dependency to the file manager's core functionality. Should it be a hard dependency? This appears to be a (lack of) separation of concernes issue.

OK, GOT IT!
My suspicions were correct- we don't need Zeitgeist, and the app runs without it.

Open /src/ZeitgeistManager.vala

Remove the two constants at the top, replace all of the inner workings of the method with a single return statement, so what you have left of the file contents is this:

namespace Marlin {
    public class ZeitgeistManager : Object {

        public static void report_event (string uri, string interpretation) {
          return;
        }

    }
}

I'm looking further into the source code, for more references, to remove zeitgeist as a dependency, altogether.

Jeremy Wootten (jeremywootten) wrote :

Antonio: Thanks for looking into this further. It wasn't deliberately ignored - the status should not have been left as "Incomplete".

If you can provide a stack trace for the crash it would help; the terminal output is only of limited use.

Jeremy Wootten (jeremywootten) wrote :

Antonio: Zeitgeist is used by the SearchResults widget (with or without Unity) so we do not want to just remove it. zeitgeist-2.0 is required but there does not seem to be a minimum version number specified at the moment. I am using 0.9.14-0ubuntu4.1.

Changed in pantheon-files:
importance: Undecided → Low
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers