unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: David Pirotte <david@altosw.be>
Cc: guile-user <guile-user@gnu.org>
Subject: Re: GNU G-Golf 0.8.0-rc-3 available for testing
Date: Thu, 18 Apr 2024 00:30:39 +0200	[thread overview]
Message-ID: <871q73vcz4.fsf@pelzflorian.de> (raw)
In-Reply-To: <20240417025615.0b6c50f5@tintin> (David Pirotte's message of "Wed, 17 Apr 2024 02:56:15 -0300")

Thank you for the work, David.  I have a question; how do you debug when
Guile crashes to terminal printing “Segmentation fault”`?

The long story so far:

I want to develop a GTK app with G-Golf.  I try to run it with
GNU Guix [1] (not Debian like you do, as far as I remember), because now
the Guix’ hard-working gnome team have added the needed version of
gobject-introspection to Guix.

I have cloned the g-golf repository:

$ cd ~/src
$ git clone 'https://git.savannah.gnu.org/git/g-golf.git'

To create the app’s basic structure, I run Guile Hall [2]:

$ guix shell guile-hall
$ hall init --author "Florian Pelz" myapp --execute

This gives me a guix.scm file, where I add g-golf and gtk to the inputs:

(use-modules (gnu packages gtk)
             (gnu packages guile)
             (gnu packages guile-xyz)
             (guix transformations))
(package
  (name "myapp")
  […]
  (inputs (list guile-3.0 gtk
                ((options->transformation
                  '((with-commit . "guile-g-golf=v0.8.0-rc-3")))
                 guile-g-golf)))
  […])


Now I run:

$ guix shell
$ ~/src/g-golf/examples/gtk-4/hello-world.scm

It tells me dbus-launch must be running, so I add a d-bus service to my
Guix Home configuration.

(use-modules (gnu home services desktop))
(home-environment
  (packages […])
  (services
   (list (service home-dbus-service-type)
         […])))

I run again the commands

$ guix shell
$ ~/src/g-golf/examples/gtk-4/hello-world.scm

successfully; a window is shown, though not responsive, with plenty of errors.

(hello-world.scm:12627): Gtk-WARNING **: 23:59:50.617: Unable to acquire the address of the accessibility bus: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files. If you are attempting to run GTK without a11y support, GTK_A11Y should be set to 'none'.

(hello-world.scm:12627): GLib-GObject-CRITICAL **: 23:59:51.067: cannot register existing type 'GdkPixbuf'  

(hello-world.scm:12627): GLib-GObject-CRITICAL **: 23:59:51.067: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(hello-world.scm:12627): GLib-GObject-CRITICAL **: 23:59:51.067: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(hello-world.scm:12627): GLib-CRITICAL **: 23:59:51.068: g_once_init_leave: assertion 'result != 0' failed      



However, when I now run:

$ ~/src/g-golf/examples/gtk-4/drawing-widget.scm

it crashes, displaying only “Segmentation fault”.  Same with

$ ~/src/g-golf/examples/gtk-4/peg-solitaire.scm

I run and read

$ info "(guile)Catching Exceptions"

but the techniques from there that I tried do not catch the segmentation
fault.  How did you go about debugging such errors?  Because I suppose
you must have been having such debugging sessions too.

Regards,
Florian

[1] GNU Guix: https://guix.gnu.org/
[2] Guix’ guile-hall package from
https://gitlab.com/a-sassmannshausen/guile-hall



  reply	other threads:[~2024-04-17 22:30 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-17  5:56 GNU G-Golf 0.8.0-rc-3 available for testing David Pirotte
2024-04-17 22:30 ` pelzflorian (Florian Pelz) [this message]
2024-04-18 22:21   ` David Pirotte
2024-04-19 17:00     ` pelzflorian (Florian Pelz)
2024-04-20  4:51       ` David Pirotte
2024-04-20  8:35         ` pelzflorian (Florian Pelz)
2024-04-30 17:51         ` pelzflorian (Florian Pelz)
2024-05-01  0:51           ` David Pirotte
2024-05-01  8:17             ` pelzflorian (Florian Pelz)
2024-05-07  1:39               ` David Pirotte
2024-05-07  9:36                 ` pelzflorian (Florian Pelz)
2024-05-07 23:53                   ` David Pirotte
2024-05-08 10:49                     ` pelzflorian (Florian Pelz)
2024-05-08 21:51                       ` David Pirotte
2024-05-02 18:50             ` pelzflorian (Florian Pelz)
2024-05-02 21:57               ` David Pirotte
2024-05-03  5:00                 ` David Pirotte
2024-05-03 11:35                 ` pelzflorian (Florian Pelz)
2024-05-04  5:59                   ` David Pirotte
2024-05-04 14:31                     ` pelzflorian (Florian Pelz)
2024-05-04 18:08                       ` pelzflorian (Florian Pelz)
2024-05-04 22:11                         ` David Pirotte
2024-05-04 22:23                         ` David Pirotte
2024-05-04 21:39                       ` David Pirotte
2024-05-05  1:43                         ` pelzflorian (Florian Pelz)
2024-05-05 21:30                           ` David Pirotte
2024-05-06  9:45                             ` pelzflorian (Florian Pelz)
2024-05-06  9:53                         ` Basile Starynkevitch
2024-05-06 13:08                           ` pelzflorian (Florian Pelz)
2024-05-03  0:17           ` David Pirotte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871q73vcz4.fsf@pelzflorian.de \
    --to=pelzflorian@pelzflorian.de \
    --cc=david@altosw.be \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).