Although Xorg was correctly configured, users cannot access gnome desktop. This issue had been discussed in forums.freebsd.org (https://forums.freebsd.org/threads/something-has-gone-wrong-with-gnome3.54825/). Regardless FreeBSD 10.1, 10.2 and 11-current, this problem existed in gnome3 (3.16.4).
Does your /var/log/gdm/:0-greeter.log have useful messages?
(In reply to Ting-Wei Lan from comment #1) Thanks Lan. I am not sure. Here was the log: libGL error: failed to open drm device: Permission denied libGL error: failed to load driver: r600 libGL error: failed to open drm device: Permission denied libGL error: failed to load driver: r600 gnome-session-is-accelerated: llvmpipe detected. (gnome-settings-daemon:951): media-keys-plugin-WARNING **: Unable to inhibit keypresses: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.login1 was not provided by any .service files (gnome-settings-daemon:951): Gvc-WARNING **: Failed to connect context: OK (gnome-settings-daemon:951): color-plugin-WARNING **: failed to obtain org.freedesktop.color-manager.create-profile auth
Does the gdm user have rw access to /dev/dri/card0 and have ro access to /usr/local/lib/dri/r600_dri.so? Does 'ldd /usr/local/lib/dri/r600_dri.so' show any 'not found' messages?
(In reply to Ting-Wei Lan from comment #3) No, users can perform 'ldd /usr/local/lib/dri/r600_dri.so'. Here is the screenshot(http://imgur.com/rxAvJ55).
(In reply to jetmomo from comment #4) Sorry, I forgot something. Regardless Ati and Nvidia cards, FreeBSD 10.1/10.2/11-current and Gnome 3.14.2 were OK. Regardless Ati and Nvidia cards, FreeBSD 10.1/10.2/11-current and Gnome 3.16.6 were NG.
I assume you are using an ATI card now, and both gdm user and your own user have rw access to /dev/dri/card0. It is odd to see 'Permission denied' in the log if the permission is set correctly. After reading the forum post more carefully, I think the gnome-session-failed screen was started by gnome-session, whose messages may be available in ~/.cache/gdm/session.log. Can you check whether the log file and dmesg show some programs has crashed too quickly?
(In reply to Ting-Wei Lan from comment #6) I showed the ~/.cache/gdm/session.log here(http://pastebin.ca/3354463). For dmesg, anything seemed to be fine. What would be helpful for this problem? Could you let me know the command? Thanks a lot.
(In reply to jetmomo from comment #7) gnome-session-failed screen, or 'Something has gone wrong' screen, is launched by gnome-session when a required app fails to start or crashes too quickly, so we should check messages printed by gnome-session. This line should be related: gnome-session[1712]: WARNING: Application 'gnome-settings-daemon.desktop' failed to register before timeout It seems the problem is caused by gnome-settings-daemon. You said you could see gnome-shell, so the problem was not caused by gnome-shell. Both gnome-shell and gnome-settings-daemon are required apps in gnome-session, so either of them crashes can cause the gnome-session-failed screen to be showed. I don't have a specific command to debug this kind of issue. System call tracers like truss and ktrace may help you figure out the cause of the problem, but sometimes source code debugging may be required ...
(In reply to Ting-Wei Lan from comment #8) Thanks Lan. Although the problem was confirmed, I still had no idea for solving this problem. This problem did not exist it gnome 3.14.2. At least, this bug was pointed out. Thanks again.
You can try to kill gnome-session-failed from another virtual console. This doesn't terminate gnome-session, and existing apps in the session can keep running. As your gnome-shell seems to work fine, you can use it to start a terminal and use tools to debug the problem. If you want to use gnome-terminal, make sure that your locale uses UTF-8 encoding or it will refuse to run. I think it may be useful to run gnome-settings-daemon in a terminal by typing '/usr/local/libexec/gnome-settings-daemon-localeexec &' to see whether it prints error. If gnome-settings-daemon is already running, you may have to kill it first. I cannot test the result for you because GNOME 3.16 works fine on my machines. I use Intel GPU and I don't have ATI or NVIDIA card to test. How did you upgrade GNOME, from packages or by building ports? If you use packages, which repository is used, latest or quarterly? It seems some people (from the forum post) just upgraded from 3.14 to 3.16 recently, but the GNOME 3.16 upgrade was committed to ports more than five months ago.
(In reply to Ting-Wei Lan from comment #10) Thanks Lan. Based on your suggestion, I tried to kill gnome-session-failed. However, after I killed the process, I was forced to log out and GDM log-in screen showed. I executed '/usr/local/libexec/gnome-setting-daemon-localeexec &' and obtained 'Unable to initialize GTK+'. I used 'fresh' installation with FreeBSD 10.2; then, used 'pkg install xorg gnome3'. For my lenovo x200 (an embedded Intel video chip), FreeBSD 10.2 and Gnome 3.16 worked fine. In contrast, for my PCs, Gnome 3.16 was NG.
(In reply to jetmomo from comment #11) Let's replace gnome-session-failed with another program, so we can keep the session alive and use gnome-shell without seeing the fullscreen 'Something has gone wrong' message. When gnome-session-failed shows, switch to another virtual console and find the PID of gnome-session-failed. Type the following commands to use gdb to replace it with cat. I use devel/gdb port because the version included in base crashes when I type 'attach'. $ gdb710 (gdb) attach <pid_of_gnome_session_failed> (gdb) p execl("/bin/cat", "cat", (char*)0) Keep gdb running and switch back to the graphical virtual console and you can use gnome-shell without being blocked by the fullscreen message. You can use it to launch terminal and test '/usr/local/libexec/gnome-settings-daemon-localeexec &'. gnome-settings-daemon has to be run inside the graphical session.
(In reply to Ting-Wei Lan from comment #12) I got the result after '/usr/local/libexec/gnome-settings-daemon-localeexec &'. Namely, "WARNING **: Name taken or bus went away - shutting down" I did the aforementioned tests twice. The results were identical. What is that? Thanks Lan.
(In reply to jetmomo from comment #13) By the way, I uploaded the gdm/session.log (http://pastebin.ca/3356331) for reference. Wish it is helpful.
(In reply to jetmomo from comment #13) Did gnome-settings-daemon process still run? I think you have to kill it before running it.
(In reply to Ting-Wei Lan from comment #15) Hi, Lan, I had killed "gnome-settings-daemon" before "/usr/local/libexec/gnome-settings-daemon-localeexec &". Please check the screenshot (http://imgur.com/STlrHFQ). However, the result was identical (WARNING **: Name taken or bus went away - shutting down).
remove freebsd-gnome@ it is a alias for gnome@ (or the other way around) and it sending dup mails to gnome@.
When it prints 'WARNING **: Name taken or bus went away - shutting down' and exits, is the name 'org.gnome.SettingsDaemon' already owned by other processes on your D-Bus session bus? You can use d-feet to check it. Switch to the 'Session Bus' tab and search for 'org.gnome.SettingsDaemon'. It can show pid and cmd of the process. Unfortunately, it seems the version provided by FreeBSD ports is broken, and you may have to build it manually from upstream source: https://git.gnome.org/browse/d-feet. If you don't want to use d-feet, you can use command 'gdbus call --session --dest=org.freedesktop.DBus --object-path=/org/freedesktop/DBus --method=org.freedesktop.DBus.ListNames' to get the list of name on the session bus. If you find the name 'org.gnome.SettingsDaemon' exists in the list without running gnome-settings-daemon, you can use command 'gdbus call --session --dest=org.freedesktop.DBus --object-path=/org/freedesktop/DBus --method=org.freedesktop.DBus.GetConnectionUnixProcessID org.gnome.SettingsDaemon' to get its pid and find the name of the process.
(In reply to Ting-Wei Lan from comment #18) Hi, Lan. Regardless whether gnome-settings-daemon was deleted, 'gdbus call --session --dest=org.freedesktop.DBus --object-path=/org/freedesktop/DBus --method=org.freedesktop.DBus.ListNames' was failed. The system showed "The connection is closed (http://imgur.com/91b71qC)."
Is DBUS_SESSION_BUS_ADDRESS environment variable set correctly? If it is not set, is the information stored in ~/.dbus/session-bus/<machine_id>-0 correct? You can use 'sockstat' command to find the process that creates the socket file. The process should be a session dbus-daemon run with your uid.
(In reply to Ting-Wei Lan from comment #20) Hi, Lan. I saw nothing regarding org.gnome.SettingsDaemon. I posted result here: http://pastebin.ca/3362507 I may use an incorrect debug method before. I tried (/usr/local/libexec/gnome-settings-daemon-localeexec) again via user account instead of root. Could you check this: http://pastebin.ca/3362510 Thanks for help. Sorry for this trouble..
(In reply to jetmomo from comment #21) The output you provided is correct. These warnings are expected because our colord is not fully working and we still don't have a systemd-logind API implementation. Does gnome-settings-daemon keep running without crashes? Can you use ListNames and GetConnectionUnixProcessID after starting it with gnome-settings-daemon-localeexec?
(In reply to Ting-Wei Lan from comment #22) Thanks Lan, It's sad to see this result. Since the command was too complicated, I downgraded gnome3.16 to gnome 3.14.
GNOME 3.18 has been committed to ports. Do you want to test it?
Sounds cool! Ok. How to do? What's the repos_dir? Thanks Lan.
If you use ports, you can build it now. If you use pkg, it should be available in latest repository in a few days.
(In reply to Ting-Wei Lan from comment #26) Hi, Lan. I had tested gnome 3.18. I still failed in accessing desktop. The erroneous results were similar to gnome 3.16 (http://pastebin.ca/3362510). Thanks for help.
Is this still relevant?
Are there any news here? I am having this problem as well. I have read somewhere that adding a 'sleep 1' in '/usr/local/libexec/gnome-setting-daemon-localeexec' before the actual execution of gnome would fix the problem since it is supposed to be a deadlock of some sort. But that only fixes it for me sometimes. (https://forums.freebsd.org/threads/oh-no-something-has-gone-wrong-gnome3.60383/)
Can you reproduce with the latest gnome updates?
(In reply to Baptiste Daroussin from comment #30) root@nimfsoft:/var/log/gdm # uname -a FreeBSD nimfsoft 13.0-CURRENT FreeBSD 13.0-CURRENT #0 3c514403bef-c253353(main): Thu Sep 24 06:45:17 UTC 2020 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 root@nimfsoft:/var/log/gdm # uname -a FreeBSD nimfsoft 13.0-CURRENT FreeBSD 13.0-CURRENT #0 3c514403bef-c253353(main): Thu Sep 24 06:45:17 UTC 2020 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 root@nimfsoft:/var/log/gdm # ls :0-greeter.log :0.log root@nimfsoft:/var/log/gdm # more :0 :0-greeter.log :0.log root@nimfsoft:/var/log/gdm # more :0-greeter.log dbus-daemon[1082]: [session uid=92 pid=1082] Activating service name='org.a11y.Bus' requested by ':1.0' (uid=92 pid=1094 comm="/usr/local/libexec/gnome-session-check-accelerated") dbus-daemon[1082]: [session uid=92 pid=1082] Successfully activated service 'org.a11y.Bus' (gnome-shell:1099): GLib-GObject-CRITICAL **: 06:44:35.631: g_type_add_instance_private: assertion 'private_size > 0' failed (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): mutter-WARNING **: 06:44:35.632: Failed to set acceleration profile: no udev support (gnome-shell:1099): Gjs-CRITICAL **: 06:44:36.002: JS ERROR: SyntaxError: missing ) after catch @ resource:///org/gnome/shell/ui/runDialog.js:175 ** Message: 06:44:36.002: Execution of main.js threw exception: Script <main> threw an exception gnome-session-binary 1085 - - WARNING: App 'org.gnome.Shell.desktop' exited with code 1 (gnome-shell:1102): GLib-GObject-CRITICAL **: 06:44:36.394: g_type_add_instance_private: assertion 'private_size > 0' failed (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): mutter-WARNING **: 06:44:36.395: Failed to set acceleration profile: no udev support (gnome-shell:1102): Gjs-CRITICAL **: 06:44:36.636: JS ERROR: SyntaxError: missing ) after catch @ resource:///org/gnome/shell/ui/runDialog.js:175 ** Message: 06:44:36.636: Execution of main.js threw exception: Script <main> threw an exception gnome-session-binary 1085 - - WARNING: App 'org.gnome.Shell.desktop' exited with code 1 gnome-session-binary 1085 - - WARNING: App 'org.gnome.Shell.desktop' respawning too quickly Unable to init server: Could not connect to 127.0.0.1: Connection refused ** (gnome-session-failed:1103): WARNING **: 06:44:36.711: Cannot open display: dbus-daemon[1097]: Activating service name='org.a11y.atspi.Registry' requested by ':1.3' (uid=92 pid=1106 comm="/usr/local/libexec/gsd-clipboard ") dbus-daemon[1097]: Successfully activated service 'org.a11y.atspi.Registry' SpiRegistry daemon is running with well-known name - org.a11y.atspi.Registry (gsd-xsettings:1107): xsettings-plugin-WARNING **: 06:44:36.796: Failed to get current display configuration state: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.Mutter.DisplayConfig" does not exist (gsd-media-keys:1120): media-keys-plugin-WARNING **: 06:44:36.835: Unable to inhibit keypresses: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.login1 was not provided by any .service files (gsd-media-keys:1120): media-keys-plugin-WARNING **: 06:44:36.835: Unable to inhibit suspend: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.login1 was not provided by any .service files gnome-session-binary 1085 - - WARNING: Application 'org.gnome.SettingsDaemon.Rfkill.desktop' killed by signal 9 gnome-session-binary 1085 - - WARNING: Application 'org.gnome.SettingsDaemon.Smartcard.desktop' killed by signal 9 gnome-session-binary 1085 - - WARNING: Application 'org.gnome.SettingsDaemon.Mouse.desktop' killed by signal 9 ** (gsd-dummy:1139): WARNING **: 06:45:09.325: Failed to connect to the session manager: Could not connect: Connection refused (gsd-dummy:1139): GLib-GIO-CRITICAL **: 06:45:09.325: g_dbus_proxy_call_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
(In reply to Baptiste Daroussin from comment #30) root@nimfsoft:/var/log/gdm # pkg info gnome-shell gnome-shell-3.28.3_8 Name : gnome-shell Version : 3.28.3_8 Installed on : Thu Oct 1 06:33:41 2020 KST Origin : x11/gnome-shell Architecture : FreeBSD:13:amd64 Prefix : /usr/local Categories : x11 gnome Licenses : GPLv2 Maintainer : gnome@FreeBSD.org WWW : http://live.gnome.org/GnomeShell Comment : Next generation GNOME desktop shell Shared Libs required: libcroco-0.6.so.3 libpolkit-gobject-1.so.0 libpolkit-agent-1.so.0 libecal-1.2.so.19 libical.so.3 libpango-1.0.so.0 libcanberra-gtk3.so.0 libjson-glib-1.0.so.0 libcairo.so.2 libatk-bridge-2.0.so.0 libgtk-3.so.0 libatk-1.0.so.0 libgirepository-1.0.so.1 libgstreamer-1.0.so.0 libpulse-mainloop-glib.so.0 libpulse.so.0 libgcr-base-3.so.1 libgdk_pixbuf-2.0.so.0 libgio-2.0.so.0 libmutter-clutter-2.so libXfixes.so.3 libmutter-cogl-2.so libglib-2.0.so.0 libgobject-2.0.so.0 libX11.so.6 libgjs.so.0 libstartup-notification-1.so.0 libmutter-cogl-pango-2.so libmutter-2.so.0 libintl.so.8 libgstbase-1.0.so.0 libcanberra.so.0 libedataserver-1.2.so.23 libgdk-3.so.0 libpangocairo-1.0.so.0 Shared Libs provided: libgnome-shell-browser-plugin.so libgvc.so libgnome-shell.so libgnome-shell-menu.so libst-1.0.so Annotations : FreeBSD_version: 1300117 cpe : cpe:2.3:a:gnome:gnome-shell:3.28.3:::::freebsd13:x64:8 repo_type : binary repository : FreeBSD Flat size : 9.35MiB Description : Next generation GNOME desktop shell WWW: http://live.gnome.org/GnomeShell
hum what about with gnome-shell 3.36.6 ?
(In reply to Baptiste Daroussin from comment #33) Thank you for your concern. I installed FreeBSD-13.0-CURRENT-amd64-20201008-3d6668037a4-memstick.img now. After commanding "service gdm start", I got the following messages: Oct 10 06:07:11 nimfsoft newsyslog[749]: logfile first created Oct 10 06:18:04 nimfsoft dbus-daemon[943]: [system] Activating service name='org.freedesktop.ConsoleKit' requested by ':1.0' (uid=0 pid=973 comm="/usr/local/bin/polkit-auth --user haldaemon --gran") (using servicehelper) Oct 10 06:18:04 nimfsoft dbus-daemon[943]: [system] Activating service name='org.freedesktop.PolicyKit1' requested by ':1.1' (uid=0 pid=975 comm="/usr/local/sbin/console-kit-daemon --no-daemon ") (using servicehelper) Oct 10 06:18:04 nimfsoft dbus-daemon[943]: [system] Successfully activated service 'org.freedesktop.ConsoleKit' Oct 10 06:18:04 nimfsoft polkitd[977]: Started polkitd version 0.118 Oct 10 06:18:04 nimfsoft dbus-daemon[943]: [system] Successfully activated service 'org.freedesktop.PolicyKit1' Oct 10 06:18:06 nimfsoft gdm[1036]: Unable to read schemas file: Failed to open file �M-^@M-^\/usr/local/share/gdm/gdm.schemas�M-^@M-^]: No such file or directory Oct 10 06:18:06 nimfsoft gdm[1036]: Unable to parse schemas Oct 10 06:18:06 nimfsoft gdm[1036]: Unable to initialize settings Oct 10 06:20:41 nimfsoft gdm[1106]: Unable to read schemas file: Failed to open file �M-^@M-^\/usr/local/share/gdm/gdm.schemas�M-^@M-^]: No such file or directory Oct 10 06:20:41 nimfsoft gdm[1106]: Unable to parse schemas Oct 10 06:20:41 nimfsoft gdm[1106]: Unable to initialize settings So I put the following in the .xinitrc file. exec /usr/local/bin/gnome-session After commanding "startxt", I got the following messages: Oct 10 06:22:32 nimfsoft console-kit-daemon[975]: WARNING: Error waiting for native console 1 activation: Inappropriate ioctl for device Oct 10 06:22:33 nimfsoft dbus-daemon[1222]: [session uid=1001 pid=1220] Activating service name='org.gtk.vfs.Daemon' requested by ':1.1' (uid=1001 pid=1217 comm="/usr/local/libexec/gnome-session-binary ") Oct 10 06:22:33 nimfsoft dbus-daemon[1222]: [session uid=1001 pid=1220] Successfully activated service 'org.gtk.vfs.Daemon' Oct 10 06:22:33 nimfsoft dbus-daemon[1222]: [session uid=1001 pid=1220] Activating service name='org.a11y.Bus' requested by ':1.3' (uid=1001 pid=1227 comm="/usr/local/libexec/gnome-session-check-accelerated") Oct 10 06:22:33 nimfsoft dbus-daemon[1222]: [session uid=1001 pid=1220] Successfully activated service 'org.a11y.Bus' Oct 10 06:22:33 nimfsoft gnome-session-binary[1217]: WARNING: Calling GetSessionForUnixProcess failed.Check that ConsoleKit is properly installed. Oct 10 06:22:33 nimfsoft gnome-session-binary[1217]: WARNING: Could not get session id for session. Check that ConsoleKit is properly installed. Oct 10 06:22:33 nimfsoft gnome-session-binary[1217]: WARNING: Unable to find required component 'org.gnome.Shell'
(In reply to jetmomo from comment #16) When it prints 'WARNING **: Name taken or bus went away - shutting down' and exits, is the name 'org.gnome.SettingsDaemon' already owned by other processes on your D-Bus session bus? You can use d-feet to check it. Switch to the 'Session Bus' tab and search for 'org.gnome.SettingsDaemon'. It can show pid and cmd of the process. Unfortunately, it seems the version provided by FreeBSD ports is broken, and you may have to build it manually from upstream source: https://git.gnome.org/browse/d-feet. If you don't want to use d-feet, you can use command 'gdbus call --session --dest=org.freedesktop.DBus --object-path=/org/freedesktop/DBus --method=org.freedesktop.DBus.ListNames' to get the list of name on the session bus. If you find the name 'org.gnome.SettingsDaemon' exists in the https://coreball.co list without running gnome-settings-daemon, you can use command 'gdbus call --session --dest=org.freedesktop.DBus --object-path=/org/freedesktop/DBus --method=org.freedesktop.DBus.GetConnectionUnixProcessID org.gnome.SettingsDaemon' to get its pid and find the name of the process.