Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GLib-GObject-CRITICAL warning when using the --text option in terminal / command line #1440

Open
crazy-to-bike opened this issue Nov 9, 2024 · 11 comments

Comments

@crazy-to-bike
Copy link

Using Veracrypt at the terminal / command line at Ubuntu 24.04 with the --text option a GLib-GObject-CRITICAL warning appears and Veracrypt doesn't work.

Expected behavior

E.g. mounting a veracrypt container using the command line
veracrypt --text --mount /container /media/veracrypt1 --pim 0 --keyfiles "" --protect-hidden no --slot 1 --verbose
should ask for the password and then mount the container (as it worked e.g. at Ubuntu 20.04)

Observed behavior

Instead, since Ubuntu 24.04 an error message appears:

(process:27290): GLib-GObject-CRITICAL **: 16:05:38.964: g_object_get: assertion 'G_IS_OBJECT (object)' failed double free or corruption (out) canceled

Steps to reproduce

Using Ubuntu 24.04 (updated from 20.04) and the command line tools of Veracrypt with the --text option

Your Environment

Ubuntu 24.04 (updated from 20.04)

dpkg -l | grep glib
ii geocode-glib-common 3.26.3-6build3 all icons for the geocode-glib library
ii gir1.2-dbusmenu-glib-0.4:amd64 18.10.20180917bzr492+repack1-3.1ubuntu5 amd64 typelib file for libdbusmenu-glib4
ii gir1.2-glib-2.0:amd64 2.80.0-6ubuntu3.1 amd64 Introspection data for GLib, GObject, Gio and GModule
ii gir1.2-glib-2.0-dev:amd64 2.80.0-6ubuntu3.1 amd64 GIR XML for GLib, GObject, Gio and GModule
ii gir1.2-packagekitglib-1.0 1.2.8-2build3 amd64 GObject introspection data for the PackageKit GLib library
ii gir1.2-poppler-0.18:amd64 24.02.0-1ubuntu9.1 amd64 GObject introspection data for poppler-glib
ii gir1.2-snapd-2:amd64 1.64-0ubuntu5 amd64 Typelib file for libsnapd-glib1
ii gir1.2-upowerglib-1.0:amd64 1.90.3-1 amd64 GObject introspection data for upower
ii glib-networking:amd64 2.80.0-1build1 amd64 network-related giomodules for GLib
ii glib-networking:i386 2.80.0-1build1 i386 network-related giomodules for GLib
ii glib-networking-common 2.80.0-1build1 all network-related giomodules for GLib - data files
ii glib-networking-services 2.80.0-1build1 amd64 network-related giomodules for GLib - D-Bus services
ii libappstream-glib8:amd64 0.8.2-1.1build1 amd64 GNOME library to access AppStream services
ii libavahi-glib1:amd64 0.8-13ubuntu6 amd64 Avahi GLib integration library
ii libcglib-java 3.3.0-1 all Code generation library for Java
ii libdbus-glib-1-2:amd64 0.112-3build2 amd64 deprecated library for D-Bus IPC
ii libdbusmenu-glib4:amd64 18.10.20180917
bzr492+repack1-3.1ubuntu5 amd64 library for passing menus over DBus
ii libgeocode-glib-2-0:amd64 3.26.3-6build3 amd64 geocoding and reverse geocoding GLib library using Nominatim
ii libglib-object-introspection-perl 0.051-1build3 amd64 Perl bindings for gobject-introspection libraries
ii libglib-perl:amd64 3:1.329.3-3build3 amd64 interface to the GLib and GObject libraries
rc libglib2.0-0:amd64 2.72.4-0ubuntu2.3 amd64 GLib library of C routines
rc libglib2.0-0:i386 2.72.4-0ubuntu2.3 i386 GLib library of C routines
ii libglib2.0-0t64:amd64 2.80.0-6ubuntu3.1 amd64 GLib library of C routines
ii libglib2.0-0t64:i386 2.80.0-6ubuntu3.1 i386 GLib library of C routines
ii libglib2.0-bin 2.80.0-6ubuntu3.1 amd64 Programs for the GLib library
ii libglib2.0-data 2.80.0-6ubuntu3.1 all Common files for GLib library
ii libglib2.0-dev:amd64 2.80.0-6ubuntu3.1 amd64 Development files for the GLib library
ii libglib2.0-dev-bin 2.80.0-6ubuntu3.1 amd64 Development utilities for the GLib library
ii libglibmm-2.4-1t64:amd64 2.66.7-1build1 amd64 C++ wrapper for the GLib toolkit (shared libraries)
ii libglibmm-2.68-1t64:amd64 2.78.1-2.2build2 amd64 C++ wrapper for the GLib toolkit (shared libraries)
ii libjson-glib-1.0-0:amd64 1.8.0-2build2 amd64 GLib JSON manipulation library
ii libjson-glib-1.0-common 1.8.0-2build2 all GLib JSON manipulation library (common files)
ii libmbim-glib4:amd64 1.31.2-0ubuntu3 amd64 Support library to use the MBIM protocol
ii libmm-glib0:amd64 1.23.4-0ubuntu2 amd64 D-Bus service for managing modems - shared libraries
ii libpackagekit-glib2-18:amd64 1.2.8-2build3 amd64 Library for accessing PackageKit using GLib
ii libpoppler-glib8t64:amd64 24.02.0-1ubuntu9.1 amd64 PDF rendering library (GLib-based shared library)
ii libpulse-mainloop-glib0:amd64 1:16.1+dfsg1-2ubuntu10 amd64 PulseAudio client libraries (glib support)
ii libqmi-glib5:amd64 1.35.2-0ubuntu2 amd64 Support library to use the Qualcomm MSM Interface (QMI) protocol
ii libqrtr-glib0:amd64 1.2.2-1ubuntu4 amd64 Support library to use the QRTR protocol
ii libsnapd-glib-2-1:amd64 1.64-0ubuntu5 amd64 GLib snapd library
ii libupower-glib3:amd64 1.90.3-1 amd64 abstraction for power management - shared library

Please tell us more about your environment

dpkg -l | grep veracrypt
ii veracrypt 1.26.14-0vanir1~bpo24.04 amd64 Cross-platform on-the-fly encryption

Operating system and version: Ubuntu 24.04

System type: 64 bit

@crazy-to-bike crazy-to-bike changed the title GLib-GObject-CRITICAL warning using Veracrypt in terminal / command line GLib-GObject-CRITICAL warning when using the --text option in terminal / command line Nov 9, 2024
@bugtracker2019
Copy link

Cannot confirm that behaviour. Just installed 24.04.1 in Virtualbox, made a small container and typed your command. Works flawlessly.

Some more informations could be useful. Try debugging via 'gdb' (comes with 24.04. per default).
In a terminal enter:
gdb -q args veracrypt --text --mount /container /media/veracrypt1 --pim 0 --keyfiles "" --protect-hidden no --slot 1 --verbose
then start debugging Veracrypt via:
run

Look into/post the ouput for further informations.

@crazy-to-bike
Copy link
Author

crazy-to-bike commented Nov 16, 2024

gdb wasn't installed (Ubuntu 24.0.4 updated from 22.04). After installing I get the following message:

gdb -q args veracrypt --text --mount /container /media/veracrypt1 --pim 0 --keyfiles "" --protect-hidden no --slot 1 --verbose
gdb: Unknown Option »--text«
Use `gdb --help' for a complete list of options.

Edit:
Ok, there are missing two -- in front of --args.

The result of run:

(gdb) run
Starting program: /usr/bin/veracrypt --text --mount /container /media/veracrypt1 --pim 0 --keyfiles '' --protect-hidden no --slot 1 --verbose
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgobject-2.0.so.0
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libwx_gtk3u_core-3.2.so.0
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libwx_baseu-3.2.so.0
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgdk-3.so.0
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libglib-2.0.so.0
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgmodule-2.0.so.0
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libbrotlidec.so.1
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libbrotlicommon.so.1
Warning: could not find '.gnu_debugaltlink' file for /lib/x86_64-linux-gnu/libcap.so.2
[Detaching after vfork from child process 113940]
[Detaching after fork from child process 113952]
[New Thread 0x7ffff48006c0 (LWP 113953)]
[New Thread 0x7ffff3e006c0 (LWP 113954)]
[New Thread 0x7ffff34006c0 (LWP 113955)]
[New Thread 0x7ffff2a006c0 (LWP 113956)]
[New Thread 0x7ffff20006c0 (LWP 113957)]
[New Thread 0x7ffff16006c0 (LWP 113958)]
[New Thread 0x7ffff0c006c0 (LWP 113959)]
[New Thread 0x7ffff02006c0 (LWP 113960)]
[New Thread 0x7fffef8006c0 (LWP 113961)]
[New Thread 0x7fffeee006c0 (LWP 113962)]
[New Thread 0x7fffee4006c0 (LWP 113963)]

(process:113901): GLib-GObject-CRITICAL **: 10:41:15.373: g_object_get: assertion 'G_IS_OBJECT (object)' failed
double free or corruption (out)

Thread 1 "veracrypt" received signal SIGABRT, Aborted.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
Warning: 44	./nptl/pthread_kill.c: File or folder not found

@bugtracker2019
Copy link

Just to be clear: Do you have veracrypt-1.26.14-Ubuntu-24.04-amd64.deb installed from official source (like this github repo)? If not, please do so.
Your output of dpkg -l | grep veracrypt
ii veracrypt 1.26.14-0vanir1~bpo24.04 amd64 Cross-platform on-the-fly encryption
looks suspicious to me, 'cause mine just says veracrypt 1.26.14 (without all that vanir, bpo, Cross-platform-stuff).

@crazy-to-bike
Copy link
Author

crazy-to-bike commented Nov 16, 2024

It's installed from this ppa:
https://launchpad.net/~unit193/+archive/ubuntu/encryption
Worked fine since years.
I will change the installation and try again.

Edit:
That was the solution. Now it's working again. Thanks.

But why is there no official ppa although deb-packages are provided?

@bugtracker2019
Copy link

Nice!
Oh, I totally forgot that Veracrypt is in the official Ubuntu repos (I use Arch btw)^^.
So you can also just fire up a terminal and enter:
sudo apt install veracrypt

Schönes Wochenende!

@crazy-to-bike
Copy link
Author

crazy-to-bike commented Nov 16, 2024

Yes, but the versions in Ubuntu LTS repos are mostly very old / outdated.

Edit: veracrypt can't be found without a ppa on Ubuntu 24.04

Ah ein Landsmann :-) Schönes WE!

@tarastella
Copy link

I'm affected by a similar behaviour:
https://sourceforge.net/p/veracrypt/tickets/578/

I can confirm that reinstalling veracrypt from the official deb downloaded from SourceForge works fine, as @crazy-to-bike I installed from unit193 (worked for ages).
I'm curious to understand why building from sources has the same error during the linking phase and why there is such a difference.

@idrassi
Copy link
Member

idrassi commented Nov 20, 2024

This issue is caused by a bug in wxWidgets 3.2.4, which is included with Ubuntu 24.04: wxWidgets/wxWidgets@8ea22b5.

A similar issue was reported for VeraCrypt last year and it had the same root cause: VeraCrypt issue #1263.

While wxWidgets 3.2.5 fixes this bug, Canonical has not updated Ubuntu 24.04 to use the newer version.

The official VeraCrypt package for Ubuntu 24.04 statically links against wxWidgets 3.2.5 to avoid the buggy 3.2.4 version provided by the system. As a result, the official VeraCrypt package is not affected by this issue.

@idrassi
Copy link
Member

idrassi commented Nov 20, 2024

To build VeraCrypt from source and statically link it against wxWidgets 3.2.5, follow the instructions provided at the bottom of this page: Compiling Guidelines for Linux. In summary:

  1. Download the wxWidgets 3.2.5 source code and decompress it in a location of your choice.
  2. Run the following commands in the VeraCrypt source directory:
    make WXSTATIC=1 WX_ROOT=/path/to/wxWidgets-3.2.5-Sources wxbuild
    make WXSTATIC=1 WX_ROOT=/path/to/wxWidgets-3.2.5-Sources

@bugtracker2019
Copy link

Salut!

Yes, I can confirm your solution works. I build Veracrypt 1.26.14 from source on Linux Mint 22 (Ubuntu 24.04) Cinnamon in Virtualbox with wxWidgets-3.2.5 some minutes ago.

One thing to point out:
make WXSTATIC=1 WX_ROOT=/path/to/wxWidgets-3.2.5-Sources wxbuild
didn't work at first, because the development files for GTK+ were not found (see screenshot). You have to sudo apt install libgtk-3-dev first. So a hint in your Linux Build Guide would be appreciated.

Bildschirmfoto vom 2024-11-20 19-49-55

@tarastella
Copy link

tarastella commented Nov 26, 2024

@idrassi I can confirm that using the .deb from SourceForge works great for me and I'm not experiencing that issue.
I searched the Launchpad bug database and it seems that it wasn't reported, so I decided to open one:
https://bugs.launchpad.net/ubuntu/+source/wxwidgets3.2/+bug/208968

Let me know if you (all) were aware of an existing LP bug ID and I would be happy to close it as duplicate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants