unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: "Aleix Conchillo Flaqué" <aconchillo@gmail.com>
To: David Pirotte <david@altosw.be>
Cc: guile-user <guile-user@gnu.org>, guile-devel <guile-devel@gnu.org>
Subject: Re: GNU G-Golf 0.8.0-rc-2 available for testing
Date: Thu, 21 Dec 2023 23:01:11 -0800	[thread overview]
Message-ID: <CA+XASoWPWuRF1Jvb--tdHvZvu62=fsQ726awQg9-oALo8MJNyg@mail.gmail.com> (raw)
In-Reply-To: <20231222015257.3d471e2f@tintin>

[-- Attachment #1: Type: text/plain, Size: 10873 bytes --]

On Thu, Dec 21, 2023 at 8:53 PM David Pirotte <david@altosw.be> wrote:

> Hi Aleix,
>
> ...
> > Anyways, guile-cairo is fine going back to stable 3.0.9.
>
> Ok, so just to make sure, now both the gtk4/simple-paintable.scm and
> gtk4/animated-paintable.scm examples work fine on 'your' platform as
> well?
>
>
Nope, they don't. Sorry, I should have been much more explicit and provide
more info.

> > - drawing-widget.scm, peg-solitaire.scm.
> > > ...
>
> > The issue seems to be here:
>
> > (define-vfunc (snapshot-vfunc (self <drawing-widget>) snapshot)
> >   #t)
>
> a-
>
> And does that works? It should, but/and obviously not drawing
> anything, but no bug/no crash?
>
>
It doesn't, it segfaults.

b-
>
> Can you try, in a repl:
>
>   ,use (g-golf)
>   (gi-import-by-name "Gtk" "Widget")
>   $5 = #<<gobject-class> <gtk-widget> 7fe9c1681d20>
>
>   (gi-import-by-name "Gtk" "init")
>   $6 = #<<function> 7fe9c1555360>
>
>   (gtk-init)
>
>   (graphene-rect-alloc)
>   $7 = #<pointer 0x560e4855d1c0>
>
>         ;; below you'd substitute the $7 appropriately if for some
>         ;; reason you happen to have a diff repl var $<id> flow,
>         ;; you need the result of (graphene-rect-alloc)
>
>   (graphene-rect-init $7 0 0 50 50)
>   $8 = #<pointer 0x560e4855d1c0>
>
>
That worked:

scheme@(guile-user)> ,use (g-golf)
scheme@(guile-user)>   (gi-import-by-name "Gtk" "Widget")
$1 = #<<gobject-class> <gtk-widget> 107091b40>
scheme@(guile-user)>   (gi-import-by-name "Gtk" "init")
$2 = #<<function> 107809360>
scheme@(guile-user)>   (gtk-init)
scheme@(guile-user)>   (graphene-rect-alloc)
$3 = #<pointer 0x60000086e970>
scheme@(guile-user)>   (graphene-rect-init $3 0 0 50 50)
$4 = #<pointer 0x60000086e970>

c-
>
> Let's see, but if all the above work, can you poste the error you get
> with no modification of the upstream version of the example, or does it
> segfault?
>
> If no segfault, in a repl:
>
>   (load "<your-golf-repo-path>/examples/gtk-4/drawing-widget.scm")
>   (main '())
>   => error
>
>   ,bt #:width 1000 #:full? #t
>
> If it segfault, we'd need to get a gdb backtrace - would that be
> possible?
>
>
I need to build with debug symbols, but in case it gives you some idea
now...

This is from: lldb -- guile -e main drawing-widget.scm

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=2, address=0x600003466480)
    frame #0: 0x0000600003466480
->  0x600003466480: .long  0x02f6c000                ; unknown opcode
    0x600003466484: udf    #0x6000
    0x600003466488: .long  0x4c8098b0                ; unknown opcode
    0x60000346648c: udf    #0x1
Target 0: (guile) stopped.
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=2, address=0x60000081a100)
  * frame #0: 0x000060000081a100
    frame #1: 0x00000001050b3f58 libgtk-4.1.dylib`gtk_widget_do_snapshot +
568
    frame #2: 0x00000001050b4780 libgtk-4.1.dylib`gtk_widget_snapshot_child
+ 132
    frame #3: 0x00000001050b6d90 libgtk-4.1.dylib`gtk_widget_real_snapshot
+ 52
    frame #4: 0x00000001050b3ef4 libgtk-4.1.dylib`gtk_widget_do_snapshot +
468
    frame #5: 0x00000001050b3cfc libgtk-4.1.dylib`gtk_widget_snapshot + 44
    frame #6: 0x00000001050b40c4 libgtk-4.1.dylib`gtk_widget_render + 168
    frame #7: 0x00000001050c1ce0 libgtk-4.1.dylib`surface_render + 28
    frame #8: 0x00000001051fa708
libgtk-4.1.dylib`_gdk_marshal_BOOLEAN__BOXEDv + 124
    frame #9: 0x0000000101c122f0
libgobject-2.0.0.dylib`_g_closure_invoke_va + 212
    frame #10: 0x0000000101c2705c
libgobject-2.0.0.dylib`signal_emit_valist_unlocked + 860
    frame #11: 0x0000000101c26cd4
libgobject-2.0.0.dylib`g_signal_emit_valist + 64
    frame #12: 0x0000000101c27884 libgobject-2.0.0.dylib`g_signal_emit + 28
    frame #13: 0x0000000105239238
libgtk-4.1.dylib`gdk_surface_paint_on_clock + 216
    frame #14: 0x0000000101c122f0
libgobject-2.0.0.dylib`_g_closure_invoke_va + 212
    frame #15: 0x0000000101c274fc
libgobject-2.0.0.dylib`signal_emit_valist_unlocked + 2044
    frame #16: 0x0000000101c26cd4
libgobject-2.0.0.dylib`g_signal_emit_valist + 64
    frame #17: 0x0000000101c27884 libgobject-2.0.0.dylib`g_signal_emit + 28
    frame #18: 0x0000000105227654
libgtk-4.1.dylib`gdk_frame_clock_paint_idle + 732
    frame #19: 0x0000000101ce2244 libglib-2.0.0.dylib`g_timeout_dispatch +
92
    frame #20: 0x0000000101ce5bb8
libglib-2.0.0.dylib`g_main_context_dispatch_unlocked + 236
    frame #21: 0x0000000101ce5eac
libglib-2.0.0.dylib`g_main_context_iterate_unlocked + 400
    frame #22: 0x0000000101ce5f0c
libglib-2.0.0.dylib`g_main_context_iteration + 60
    frame #23: 0x000000010202b374 libgio-2.0.0.dylib`g_application_run + 548
    frame #24: 0x000000019d18a050 libffi.dylib`ffi_call_SYSV + 80
    frame #25: 0x000000019d192adc libffi.dylib`ffi_call_int + 1208
    frame #26: 0x0000000101b4d8f0
libgirepository-1.0.1.dylib`g_callable_info_invoke + 860
    frame #27: 0x0000000101b4ec14
libgirepository-1.0.1.dylib`g_function_info_invoke + 252
    frame #28: 0x000000019d18a050 libffi.dylib`ffi_call_SYSV + 80
    frame #29: 0x000000019d192adc libffi.dylib`ffi_call_int + 1208
    frame #30: 0x00000001005b4220 libguile-3.0.1.dylib`scm_i_foreign_call +
432
    frame #31: 0x0000000100636a94 libguile-3.0.1.dylib`foreign_call + 44
    frame #32: 0x0000000100632324 libguile-3.0.1.dylib`vm_regular_engine +
1172
    frame #33: 0x0000000100631ae4 libguile-3.0.1.dylib`scm_call_n + 352
    frame #34: 0x00000001005a7508 libguile-3.0.1.dylib`scm_eval + 160
    frame #35: 0x000000010060f478 libguile-3.0.1.dylib`scm_shell + 80
    frame #36: 0x00000001005c0208 libguile-3.0.1.dylib`invoke_main_func + 64
    frame #37: 0x00000001005a3220 libguile-3.0.1.dylib`c_body + 24
    frame #38: 0x00000001006320c0 libguile-3.0.1.dylib`vm_regular_engine +
560
    frame #39: 0x0000000100631ae4 libguile-3.0.1.dylib`scm_call_n + 352
    frame #40: 0x000000010062f814 libguile-3.0.1.dylib`catch_body + 184
    frame #41: 0x00000001005a8c28
libguile-3.0.1.dylib`scm_c_with_exception_handler + 400
    frame #42: 0x00000001005a3180
libguile-3.0.1.dylib`scm_i_with_continuation_barrier + 156
    frame #43: 0x00000001005a31f8
libguile-3.0.1.dylib`scm_c_with_continuation_barrier + 80
    frame #44: 0x000000010062d6fc libguile-3.0.1.dylib`with_guile + 76
    frame #45: 0x000000010049678c libgc.1.dylib`GC_call_with_stack_base + 36
    frame #46: 0x00000001005c01b4 libguile-3.0.1.dylib`scm_boot_guile + 68
    frame #47: 0x0000000100003ec8 guile`main + 192
    frame #48: 0x000000018c2950e0 dyld`start + 2360

And this one from: lldb -- guile -e main simple-paintable.scm

* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=2, address=0x6000032e7340)
    frame #0: 0x00006000032e7340
->  0x6000032e7340: .long  0x029e0180                ; unknown opcode
    0x6000032e7344: udf    #0x6000
    0x6000032e7348: .long  0x41809eb0                ; unknown opcode
    0x6000032e734c: udf    #0x1
Target 0: (guile) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
(code=2, address=0x6000032e7340)
  * frame #0: 0x00006000032e7340
    frame #1: 0x0000000103c62ed8
libgtk-4.1.dylib`gtk_image_set_from_paintable + 144
    frame #2: 0x000000019d18a050 libffi.dylib`ffi_call_SYSV + 80
    frame #3: 0x000000019d192adc libffi.dylib`ffi_call_int + 1208
    frame #4: 0x00000001021c58f0
libgirepository-1.0.1.dylib`g_callable_info_invoke + 860
    frame #5: 0x00000001021c6c14
libgirepository-1.0.1.dylib`g_function_info_invoke + 252
    frame #6: 0x000000019d18a050 libffi.dylib`ffi_call_SYSV + 80
    frame #7: 0x000000019d192adc libffi.dylib`ffi_call_int + 1208
    frame #8: 0x00000001005b4220 libguile-3.0.1.dylib`scm_i_foreign_call +
432
    frame #9: 0x0000000100636a94 libguile-3.0.1.dylib`foreign_call + 44
    frame #10: 0x0000000100632324 libguile-3.0.1.dylib`vm_regular_engine +
1172
    frame #11: 0x0000000100631ae4 libguile-3.0.1.dylib`scm_call_n + 352
    frame #12: 0x00000001005b4958 libguile-3.0.1.dylib`invoke_closure + 168
    frame #13: 0x000000019d192f28 libffi.dylib`ffi_closure_SYSV_inner + 816
    frame #14: 0x000000019d18a1e8 libffi.dylib`ffi_closure_SYSV + 56
    frame #15: 0x000000010228a0f4 libgobject-2.0.0.dylib`g_closure_invoke +
200
    frame #16: 0x00000001022a02e4
libgobject-2.0.0.dylib`signal_emit_unlocked_R + 1256
    frame #17: 0x000000010229f23c
libgobject-2.0.0.dylib`signal_emit_valist_unlocked + 1340
    frame #18: 0x000000010229ecd4
libgobject-2.0.0.dylib`g_signal_emit_valist + 64
    frame #19: 0x000000010229f884 libgobject-2.0.0.dylib`g_signal_emit + 28
    frame #20: 0x00000001026a5028
libgio-2.0.0.dylib`g_application_real_local_command_line + 1232
    frame #21: 0x00000001026a32ec libgio-2.0.0.dylib`g_application_run + 412
    frame #22: 0x000000019d18a050 libffi.dylib`ffi_call_SYSV + 80
    frame #23: 0x000000019d192adc libffi.dylib`ffi_call_int + 1208
    frame #24: 0x00000001021c58f0
libgirepository-1.0.1.dylib`g_callable_info_invoke + 860
    frame #25: 0x00000001021c6c14
libgirepository-1.0.1.dylib`g_function_info_invoke + 252
    frame #26: 0x000000019d18a050 libffi.dylib`ffi_call_SYSV + 80
    frame #27: 0x000000019d192adc libffi.dylib`ffi_call_int + 1208
    frame #28: 0x00000001005b4220 libguile-3.0.1.dylib`scm_i_foreign_call +
432
    frame #29: 0x0000000100636a94 libguile-3.0.1.dylib`foreign_call + 44
    frame #30: 0x0000000100632324 libguile-3.0.1.dylib`vm_regular_engine +
1172
    frame #31: 0x0000000100631ae4 libguile-3.0.1.dylib`scm_call_n + 352
    frame #32: 0x00000001005a7508 libguile-3.0.1.dylib`scm_eval + 160
    frame #33: 0x000000010060f478 libguile-3.0.1.dylib`scm_shell + 80
    frame #34: 0x00000001005c0208 libguile-3.0.1.dylib`invoke_main_func + 64
    frame #35: 0x00000001005a3220 libguile-3.0.1.dylib`c_body + 24
    frame #36: 0x00000001006320c0 libguile-3.0.1.dylib`vm_regular_engine +
560
    frame #37: 0x0000000100631ae4 libguile-3.0.1.dylib`scm_call_n + 352
    frame #38: 0x000000010062f814 libguile-3.0.1.dylib`catch_body + 184
    frame #39: 0x00000001005a8c28
libguile-3.0.1.dylib`scm_c_with_exception_handler + 400
    frame #40: 0x00000001005a3180
libguile-3.0.1.dylib`scm_i_with_continuation_barrier + 156
    frame #41: 0x00000001005a31f8
libguile-3.0.1.dylib`scm_c_with_continuation_barrier + 80
    frame #42: 0x000000010062d6fc libguile-3.0.1.dylib`with_guile + 76
    frame #43: 0x000000010049678c libgc.1.dylib`GC_call_with_stack_base + 36
    frame #44: 0x00000001005c01b4 libguile-3.0.1.dylib`scm_boot_guile + 68
    frame #45: 0x0000000100003ec8 guile`main + 192
    frame #46: 0x000000018c2950e0 dyld`start + 2360

[-- Attachment #2: Type: text/html, Size: 14382 bytes --]

  reply	other threads:[~2023-12-22  7:01 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-02  3:50 GNU G-Golf 0.8.0-rc-2 available for testing David Pirotte
2023-12-01 17:51 ` Aleix Conchillo Flaqué
2023-12-02  0:10   ` David Pirotte
2023-12-04  4:15     ` Aleix Conchillo Flaqué
2023-12-04  4:16       ` Aleix Conchillo Flaqué
2023-12-05  4:21         ` David Pirotte
2023-12-05  4:14       ` David Pirotte
2023-12-09 20:49         ` Aleix Conchillo Flaqué
2023-12-21  8:44         ` Aleix Conchillo Flaqué
2023-12-22  4:52           ` David Pirotte
2023-12-22  7:01             ` Aleix Conchillo Flaqué [this message]
2023-12-22  7:34               ` Aleix Conchillo Flaqué
2023-12-22 23:22               ` G-Golf- [subject changed] cairo based examples fail in homebrew David Pirotte
2023-12-22 23:43                 ` David Pirotte
2023-12-22 23:55                 ` Aleix Conchillo Flaqué
2024-01-01  2:12                   ` 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='CA+XASoWPWuRF1Jvb--tdHvZvu62=fsQ726awQg9-oALo8MJNyg@mail.gmail.com' \
    --to=aconchillo@gmail.com \
    --cc=david@altosw.be \
    --cc=guile-devel@gnu.org \
    --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).