Confirmed on a Wacom Cintiq. Took a few iterations to find all the places in device-manager.cpp that Inkscape potentially dereferences a NULL device, but I've got a build which at least *starts* Inkscape and seems to handle basic functions (with the pen as well), in ppa:waveform/firmware. I'd be interested to hear if this fixes things for others as well (if so, I'll get the SRU ball rolling). To test:
sudo add-apt-repository ppa:waveform/inkscape sudo apt install inkscape There are currently builds for plucky and noble in that PPA; I can add one for oracular, if required (I'll need to do this anyway for SRU at some point). Also, the builds are for Intel and ARM architectures -- let me know if other archs are required for testing. On the subject of whether the bug is in Inkscape, Gdk, or Wayland, I had a quick look at what Gimp does in this area (given it's a similar user of Gdk, and wasn't crashing on the tablet). It seems everywhere it obtains a device list, it then checks each entry doesn't de-reference to NULL before using it, so maybe this is a bug in Inkscape after all? The Gdk docs didn't shed much (or any) light on whether all entries in the list could be dereferenced, although it certainly does seem an odd choice for an API to return a list in which certain entries can be effectively useless or invalid. Anyway, many thanks to Jerome for an excellent bug report -- it certainly makes things easier when there's a full backtrace and analysis to boot! -- You received this bug notification because you are a member of Ubuntu Studio Bugs, which is subscribed to inkscape in Ubuntu. Matching subscriptions: Ubuntu Studio Bugs https://bugs.launchpad.net/bugs/2079921 Title: inkscape crashes when started Status in inkscape package in Ubuntu: Confirmed Bug description: After a fresh install, no config, no cache, I start inkscape, with no parameter, it immediately crashes with SIGSEGV: #0 Gdk::Device::get_source (this=0x0) at gdk/gdkmm/device.cc:282 #1 0x00007ffff782d665 in createFakeList () at /usr/include/glibmm-2.4/glibmm/refptr.h:259 #2 0x00007ffff782e08d in Inkscape::DeviceManagerImpl::DeviceManagerImpl (this=<optimised out>, this=<optimised out>) at /usr/src/inkscape-1.2.2-2ubuntu12/src/device-manager.cpp:326 #3 0x00007ffff782e5a5 in Inkscape::DeviceManager::getManager () at /usr/src/inkscape-1.2.2-2ubuntu12/src/device-manager.cpp:611 #4 0x00007ffff788be22 in Inkscape::Application::Application (this=<optimised out>, use_gui=<optimised out>, this=<optimised out>, use_gui=<optimised out>) at /usr/src/inkscape-1.2.2-2ubuntu12/src/inkscape.cpp:215 #5 0x00007ffff788c608 in Inkscape::Application::create (use_gui=<optimised out>) at /usr/src/inkscape-1.2.2-2ubuntu12/src/inkscape.cpp:142 #6 0x00007ffff792d6d0 in InkscapeApplication::on_startup (this=0x5555555c0340) at /usr/src/inkscape-1.2.2-2ubuntu12/src/inkscape-application.cpp:993 #7 0x00007ffff64b5714 in sigc::slot0<void>::operator() (this=0x5555557a1e88) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:540 #8 Glib::SignalProxyNormal::slot0_void_callback (self=<optimised out>, data=0x5555557a1e80) at ../glib/glibmm/signalproxy.cc:103 #9 0x00007ffff5e3a2fa in g_closure_invoke (closure=0x5555557a1ed0, return_value=0x0, n_param_values=1, param_values=0x7fffffffc270, invocation_hint=0x7fffffffc1c0) at ../../../gobject/gclosure.c:834 #10 0x00007ffff5e69c79 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7fffffffc340, detail=detail@entry=0, instance=instance@entry=0x55555577b160, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffc270) at ../../../gobject/gsignal.c:3961 #11 0x00007ffff5e5a591 in signal_emit_valist_unlocked (instance=instance@entry=0x55555577b160, signal_id=signal_id@entry=195, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffc4b0) at ../../../gobject/gsignal.c:3520 #12 0x00007ffff5e5a7c1 in g_signal_emit_valist (instance=0x55555577b160, signal_id=195, detail=0, var_args=var_args@entry=0x7fffffffc4b0) at ../../../gobject/gsignal.c:3263 #13 0x00007ffff5e5a883 in g_signal_emit (instance=instance@entry=0x55555577b160, signal_id=<optimised out>, detail=detail@entry=0) at ../../../gobject/gsignal.c:3583 #14 0x00007ffff567df2e in g_application_register (application=application@entry=0x55555577b160, cancellable=cancellable@entry=0x0, error=error@entry=0x7fffffffc650) at ../../../gio/gapplication.c:2352 #15 0x00007ffff567e4d0 in g_application_real_local_command_line (application=0x55555577b160, arguments=0x7fffffffc6a8, exit_status=0x7fffffffc6a4) at ../../../gio/gapplication.c:1155 #16 0x00007ffff567e823 in g_application_run (application=0x55555577b160, argc=<optimised out>, argv=0x5555555beb90) at ../../../gio/gapplication.c:2681 #17 0x00007ffff5c2a1ca in __libc_start_call_main (main=main@entry=0x555555556600 <main(int, char**)>, argc=argc@entry=1, argv=argv@entry=0x7fffffffc818) at ../sysdeps/nptl/libc_start_call_main.h:58 #18 0x00007ffff5c2a28b in __libc_start_main_impl (main=0x555555556600 <main(int, char**)>, argc=1, argv=0x7fffffffc818, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fffffffc808) at ../csu/libc-start.c:360 #19 0x0000555555556ee5 in _start () ProblemType: Bug DistroRelease: Ubuntu 24.04 Package: inkscape 1.2.2-2ubuntu12 ProcVersionSignature: Ubuntu 6.8.0-36.36-generic 6.8.4 Uname: Linux 6.8.0-36-generic x86_64 NonfreeKernelModules: lkp_Ubuntu_6_8_0_36_36_generic_106 ApportVersion: 2.28.1-0ubuntu3.1 Architecture: amd64 CasperMD5CheckResult: pass CurrentDesktop: ubuntu:GNOME Date: Sun Sep 8 13:36:26 2024 InstallationDate: Installed on 2024-07-01 (69 days ago) InstallationMedia: Ubuntu 24.04 LTS "Noble Numbat" - Release amd64 (20240424) RebootRequiredPkgs: Error: path contained symlinks. SourcePackage: inkscape UpgradeStatus: No upgrade log present (probably fresh install) To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/inkscape/+bug/2079921/+subscriptions -- Mailing list: https://launchpad.net/~ubuntustudio-bugs Post to : [email protected] Unsubscribe : https://launchpad.net/~ubuntustudio-bugs More help : https://help.launchpad.net/ListHelp

