chromebrew / chromebrew

Package manager for Chrome OS
https://chromebrew.github.io
GNU General Public License v3.0
2.33k stars 380 forks source link

🐞 Bug Remmina Plugin Load Failures and D-Bus Issues on Chrome OS R126 #10401

Closed donnimsipa closed 1 month ago

donnimsipa commented 2 months ago

Describe the bug Remmina fails to load certain plugins and encounters issues with D-Bus when running on Chrome OS via Chromebrew. The following errors are observed:

To Reproduce Steps to reproduce the behavior:

  1. My environment was crosh.
  2. I executed the command(s) below:

      crew install remmina

    I have no problem with installation, but after that, I open a new crosh window showing some error :

      Starting Chromebrew bash.
      dbus-daemon[21044]: Failed to start message bus: Failed to bind socket "/var/run/dbus/system_bus_socket": Address already in use
      EOF in dbus-launch reading address from bus daemon
      dbus-update-activation-environment: error: unable to connect to D-Bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
      Starting MySQL
      .... ERROR! The server quit without updating PID file (/usr/local/var/mysql/data/localhost.pid).
      Sommelier can use direct scaling.
      Sommelier SCALE is set to 1.
      SCALE may be manually set in /usr/local/.config/.sommelier.env .
      some sommelier processes failed to start

    Then I executed the command(s) below:

      G_MESSAGES_DEBUG=all remmina

    Output:

      * (process:27094): DEBUG: 14:25:25.597: (remmina_file_manager_init) - Initialized the "/usr/local/.config/.local/share/remmina" data folder
      (process:27094): GLib-GIO-DEBUG: 14:25:25.600: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ?gio-vfs?
      Load modules from /usr/local/lib64/remmina/plugins
      Failed to load plugin: /usr/local/lib64/remmina/plugins/remmina-plugin-www.so.
      Error: /usr/local/lib64/libjavascriptcoregtk-4.1.so.0: undefined symbol: unumf_resultToString_74
      Remmina plugin glibsecret (type=Secret) has been registered, but is not yet initialized/activated. The initialization order is 2000.
      Failed to load plugin: /usr/local/lib64/remmina/plugins/remmina-plugin-rdp.so.
      Error: libfreerdp2.so.2: cannot open shared object file: No such file or directory
      Failed to load plugin: /usr/local/lib64/remmina/plugins/remmina-plugin-python_wrapper.so.
      Error: libpython3.11.so.1.0: cannot open shared object file: No such file or directory
      [glibsecret] unable to get secret service: Error spawning command line ?dbus-launch --autolaunch=c17aa2a0cbae369e8daea0eb748ad42c --binary-syntax --close-stderr?: Child process exited with code 1
      (process:27094): GLib-DEBUG: 14:25:26.036: unsetenv() is not thread-safe and should not be used after threads are created
      (org.remmina.Remmina:27094): GLib-DEBUG: 14:25:26.207: unsetenv() is not thread-safe and should not be used after threads are created
    
      (org.remmina.Remmina:27094): GLib-CRITICAL **: 14:25:26.437: g_ascii_strdown: assertion 'str != NULL' failed
      ** INFO: 14:25:26.437: StatusNotifier/Appindicator support in “ not supported natively by your Desktop Environment. libappindicator will try to fallback to GtkStatusIcon/xembed
    
      (org.remmina.Remmina:27094): GLib-CRITICAL **: 14:25:26.437: g_strrstr: assertion 'haystack != NULL' failed
    
      (org.remmina.Remmina:27094): GLib-CRITICAL **: 14:25:26.438: g_strrstr: assertion 'haystack != NULL' failed
    
      (org.remmina.Remmina:27094): GLib-CRITICAL **: 14:25:26.438: g_strrstr: assertion 'haystack != NULL' failed
    
      (org.remmina.Remmina:27094): GLib-CRITICAL **: 14:25:26.441: g_strrstr: assertion 'haystack != NULL' failed
      Warning: Remmina is running without a secret plugin. Passwords will be saved in a less secure way.
    
      (org.remmina.Remmina:27094): Gtk-WARNING **: 14:25:26.752: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem
      ** (org.remmina.Remmina:27094): DEBUG: 14:25:26.764: (remmina_main_init) - Initializing the Remmina main window
      ** (org.remmina.Remmina:27094): DEBUG: 14:25:26.923: (remmina_main_init) - Initializing monitor
      (org.remmina.Remmina:27094): GLib-GIO-DEBUG: 14:25:26.923: Failed to initialize portal (GNetworkMonitorPortal) for gio-network-monitor: Not using portals
      (org.remmina.Remmina:27094): GLib-GIO-DEBUG: 14:25:26.936: Using cross-namespace EXTERNAL authentication (this will deadlock if server is GDBus < 2.73.3)
      (org.remmina.Remmina:27094): GLib-GIO-DEBUG: 14:25:26.971: Failed to initialize networkmanager (GNetworkMonitorNM) for gio-network-monitor: NetworkManager not running
      (org.remmina.Remmina:27094): GLib-GIO-DEBUG: 14:25:26.973: _g_io_module_get_default: Found default implementation netlink (GNetworkMonitorNetlink) for ‘gio-network-monitor’
      ** (org.remmina.Remmina:27094): DEBUG: 14:25:26.978: (remmina_network_monitor_status) - G_NETWORK_CONNECTIVITY_FULL
    
      (org.remmina.Remmina:27094): libappindicator-WARNING **: 14:25:27.274: Unable to get the session bus: Error spawning command line “dbus-launch --autolaunch=c17aa2a0cbae369e8daea0eb748ad42c --binary-syntax --close-stderr”: Child process exited with code 1
    
      (org.remmina.Remmina:27094): LIBDBUSMENU-GLIB-WARNING **: 14:25:27.274: Unable to get session bus: Error spawning command line “dbus-launch --autolaunch=c17aa2a0cbae369e8daea0eb748ad42c --binary-syntax --close-stderr”: Child process exited with code 1
      ** INFO: 14:25:31.117: use_master_password already migrated

Expected behavior Remmina should successfully load all necessary plugins and establish an RDP connection without errors. D-Bus should start correctly without impacting other services.

Screenshots image

System Information:

Expand - Architecture: `x86_64` (`x86_64`) - Processor vendor: `GenuineIntel` - User space: `64-bit` - Chromebrew Kernel version: `6.6` - Chromebrew Running in Container: `false` - Chromebrew version: `1.51.8` - Chromebrew prefix: `/usr/local` - Chromebrew libdir: `/usr/local/lib64` - Last update in local repository: a532c3fc4 `Reland: Download the correct file when there are multiple versions of a package binary (#10336) (76 minutes ago)` - OS variant: `Chrome OS` - OS version: `rammus-release/R126-15886.44.0` - OS channel: `stable-channel`

Additional context I attempted to resolve the issue by creating a symbolic link for ld-linux-x86-64.so.2 and restarting Sommelier, which resolved some issues with Sommelier but did not address the Remmina or D-Bus problems.

      Sommelier can use direct scaling.
      Sommelier SCALE is set to 1.
      SCALE may be manually set in /usr/local/.config/.sommelier.env .
      sommelier processes running:  22082
donnimsipa commented 2 months ago

I attempted to resolve the issue by creating symbolic links for the FreeRDP libraries as follows:

ln -sf /usr/local/lib64/libfreerdp3.so.3 /usr/local/lib64/libfreerdp2.so.2
ln -sf /usr/local/lib64/libfreerdp3.so /usr/local/lib64/libfreerdp2.so
ln -sf /usr/local/lib64/libfreerdp-client3.so.3 /usr/local/lib64/libfreerdp-client2.so.2
ln -sf /usr/local/lib64/libfreerdp-client3.so /usr/local/lib64/libfreerdp-client2.so
ln -sf /usr/local/lib64/libwinpr3.so.3 /usr/local/lib64/libwinpr2.so.2
ln -sf /usr/local/lib64/libwinpr3.so /usr/local/lib64/libwinpr2.so

After creating these symbolic links, the RDP button appeared in Remmina. image However, I encountered a new issue where Remmina fails to connect and force closes with the following log output:

[15:12:01:520] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_int_assert]: settings [/usr/local/tmp/crew/freerdp.20240813010922.dir/libfreerdp/common/settings_getters.c:freerdp_settings_set_uint32:2015]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 0: /usr/local/lib64/libwinpr2.so.2(winpr_backtrace+0x4a) [0x7d61354abe4a]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 1: /usr/local/lib64/libwinpr2.so.2(winpr_log_backtrace_ex+0x36) [0x7d61354ad6a6]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 2: /usr/local/lib64/libfreerdp2.so.2(+0x246fb6) [0x7d6135846fb6]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 3: /usr/local/lib64/libfreerdp2.so.2(freerdp_settings_get_int32+0) [0x7d613574c400]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 4: /usr/local/lib64/remmina/plugins/remmina-plugin-rdp.so(+0x1d3b8) [0x7d61359553b8]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 5: /usr/local/lib64/remmina/plugins/remmina-plugin-rdp.so(+0x2091b) [0x7d613595891b]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 6: /usr/local/lib64/libc.so.6(+0x7fd19) [0x7d6139935d19]
[15:12:01:523] [7434:00001f84] [FATAL][com.freerdp.winpr.assert] - [winpr_log_backtrace_ex]: 7: /usr/local/lib64/libc.so.6(__clone+0x40) [0x7d61399b5fb0]
Aborted (core dumped)
satmandu commented 2 months ago

Hmm. Have you tried rebuilding remmina?

satmandu commented 2 months ago

Also Error: /usr/local/lib64/libjavascriptcoregtk-4.1.so.0: undefined symbol: unumf_resultToString_74 looks like a icu error, since we updated to icu75.1, so I have webkit2gtk_4_1 currently building against the newer icu75.1.

donnimsipa commented 1 month ago

Recently reinstalled ChromeOS and reattempted to utilize Remmina, I can confirm that Remote Desktop Protocol is now working. Thank you image