From eric at boese-wolf.eu Wed Mar 14 21:15:45 2012 From: eric at boese-wolf.eu (Eric Wolf) Date: Wed, 14 Mar 2012 22:15:45 +0100 Subject: [cl-gtk2-devel] (make-instance 'gtk:box) creates a memory error Message-ID: <87ehsuvq7y.fsf@mcgee.LOKALETLD> Hi there, I just played a bit with cl-gtk2-gtk and the following happened to me: Code is: (in-package :sudokusolver) (defun run () (gtk:within-main-loop (let ((window (make-instance 'gtk:gtk-window :type :toplevel :window-position :center :title "Sudokusolver" :default-width 300 :default-heigth 450)) (vbox (make-instance 'gtk:box :orientation :vertical)) (menu (make-instance 'gtk:menu-bar :pack-direction :ltr :child-pack-direction :ltr :take-focus nil)) (action-menu (make-instance 'gtk:menu-item :label "_Actions"))) (gtk:container-add window vbox) (gtk:container-add vbox menu) (gtk:container-add menu action-menu) (gtk:widget-show window)))) Repl is: CL-USER> (require 'sudokusolver) WARNING: GType GdkWindow is not known to GObject WARNING: GType GdkWindow is not known to GObject WARNING: Declared GType name 'GdkWindow' for class 'GDK-WINDOW' is invalid (g_type_name returned 0) WARNING: GType GtkFileChooserEmbed is not known to GObject WARNING: GType GtkFileChooserEmbed is not known to GObject WARNING: Declared GType name 'GtkFileChooserEmbed' for class 'FILE-CHOOSER-EMBED' is invalid (g_type_name returned 0) WARNING: GType LispArrayListStore is not known to GObject WARNING: GType LispArrayListStore is not known to GObject WARNING: Declared GType name 'LispArrayListStore' for class 'ARRAY-LIST-STORE' is invalid (g_type_name returned 0) WARNING: GType LispTreeStore is not known to GObject WARNING: GType LispTreeStore is not known to GObject WARNING: Declared GType name 'LispTreeStore' for class 'TREE-LISP-STORE' is invalid (g_type_name returned 0) ("ITERATE") CL-USER> (gtk:ensure-gtk-main) ; No value CL-USER> (sudokusolver::run) ; No value CL-USER> Error is: Unhandled memory fault at #x8. [Condition of type SB-SYS:MEMORY-FAULT-ERROR] Restarts: 0: [RETURN-FROM-CALLBACK] GTK::RETURN-FROM-CALLBACK 1: [TERMINATE-THREAD] Terminate this thread (#) Backtrace: 0: (SB-SYS:MEMORY-FAULT-ERROR) 1: ("foreign function: call_into_lisp") 2: ("foreign function: post_signal_tramp") 3: ("foreign function: #x33EFCF20") 4: (GOBJECT::CREATE-GOBJECT-FROM-CLASS-AND-INITARGS # (:ORIENTATION :VERTICAL)) 5: ((SB-PCL::FAST-METHOD MAKE-INSTANCE (GOBJECT:GOBJECT-CLASS)) ..) 6: ((LAMBDA () :IN SUDOKUSOLVER::RUN)) 7: ((LAMBDA (GTK::DATA) :IN "/home/ewolf/Projects/cl-gtk2/gtk/gtk.misc.lisp") #.(SB-SYS:INT-SAP #X00000002)) 8: ((LAMBDA (SB-ALIEN::ARGS-POINTER SB-ALIEN::RESULT-POINTER FUNCTION) :IN "/home/ewolf/.cache/common-lisp/sbcl-1.0.55.0.debian-linux-x86/home/ewolf/Projects/cl-gtk2/glib/gobject.object.high.fasl") ..) 9: ("foreign function: call_into_lisp") 10: ("foreign function: funcall3") 11: ("foreign function: #x1100F95") 12: ("foreign function: #x327B302C") 13: ((LAMBDA () :IN BORDEAUX-THREADS::BINDING-DEFAULT-SPECIALS)) 14: ((FLET #:WITHOUT-INTERRUPTS-BODY-223578 :IN SB-THREAD:MAKE-THREAD)) 15: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD:MAKE-THREAD)) 16: ((FLET #:WITHOUT-INTERRUPTS-BODY-88894 :IN SB-THREAD::CALL-WITH-MUTEX)) 17: (SB-THREAD::CALL-WITH-MUTEX ..) 18: (SB-THREAD::INITIAL-THREAD-FUNCTION) 19: ("foreign function: call_into_lisp") --more-- Can't I get a GtkBox? (make-instance 'gtk:v-box) works like a charm, but I just wondered about gtk:box, because in C this works also. Your sincerely, Eric