In addition to the GDB session below I tried some more analysis on the Lisp side:
CL-USER> (foreign-symbol-pointer "glGetError") 2510410464 CL-USER> (foreign-funcall-pointer (foreign-symbol-pointer "glGetError") () :void :unsigned-int) Received signal number 10 (Bus error) ... I admit I am out of clues as to what I should analyse further ... Frank Anfang der weitergeleiteten E-Mail: > Von: Frank Goenninger <f...@me.com> > Datum: 8. Mai 2009 19:08:23 MESZ > An: cffi-devel@common-lisp.net > Kopie: leslie.pol...@gmx.net > Betreff: Re: [cffi-devel] Bus error ... ?! Help, please ... > > Am 08.05.2009 um 15:43 schrieb Leslie P. Polzer: > >> >> Frank Goenninger wrote: >> >>> Oh, btw, that happens no matter what function from OpenGL I try to >>> call... So, something very fundamental must be wrong here. I just >>> can't see what ... Please help! >> >> Have you asked gdb for help, too? >> >> Leslie > > > Hadn't until you asked. But now I have. I started AllegroCL with > > $ alisp > > and then loaded my system via ASDF. > > CL-USER > (asdf 'cello-nx) > > ... messages as expected ... > > CL-USER > > > At this point I started gdb and attached to the process. After > enabling out logging I continued the alisp process. > > CL-USER > (cello-nx::gl-get-version) > > which caused the following output: > > Program received signal EXC_BAD_ACCESS, Could not access memory. > Reason: KERN_PROTECTION_FAILURE at address: 0x00000000 > > I then asked gdb to print the backtrace: > > 0x95a1d2ec in glGetError () > #0 0x95a1d2ec in glGetError () > #1 0x00243b68 in ff_funcall () at qrff.s:253 > #2 0x002439b2 in ff_apply () at qrff.s:97 > #3 0x032e100b in ?? () > #4 0x10a2fc05 in ?? () > #5 0x1088f3e5 in ?? () > #6 0x1066add8 in ?? () > #7 0x0310dab8 in ?? () > #8 0x0331b281 in ?? () > #9 0x03310f1d in ?? () > #10 0x03320a17 in ?? () > #11 0x0310e680 in ?? () > #12 0x00259097 in apply () at qruntime.s:1901 > #13 0x0331e05e in ?? () > #14 0x03331c6f in ?? () > #15 0x00259097 in apply () at qruntime.s:1901 > #16 0x03016a08 in ?? () > #17 0x0332e9a2 in ?? () > #18 0x03016f9c in ?? () > #19 0x0310e8c7 in ?? () > #20 0x002544be in first_lisp_thread () at qrstorag.s:3081 > #21 0x002542aa in _start_reborn_lisp () at qrstorag.s:2889 > #22 0x00233f65 in startup_lisp () at c/startup.c:1290 > #23 0x00253de7 in cont_setstack () at qrstorag.s:2408 > #24 0x00253c7b in _first_lisp_thread_init () at qrstorag.s:2288 > > The two functions involved here are: > (point where the bus error occurs is marked <<<<<<<<<<) > > (defun! gl-check-error (&optional (id :anonymous) announce-success) > (if (null (find id *gl-list-of-ids-excluded-from-error-checking*)) > (if (and (boundp '*gl-begun*) *gl-begun*) > (progn > (logmsg :DEBUG *this-file* *this-module* 3 > "Not checking OpenGL errors inside glBegin/glEnd > at ~S." id)) > (let ((e (%glGetError))) ;; ffi glGetError <<<<<<<<<<< > (if (= e 0) > (when announce-success > (logmsg :DEBUG *this-file* *this-module* 4 > "No OpenGL error found at ~S" id)) > (progn > (if (boundp '*gl-stop*) > (logmsg :ERROR *this-file* *this-module* 5 > "*gl-stop* bound at ~S." id)) > (setf *gl-stop* t) > (let* ((err-text (foreign-string-to-lisp > (%gluErrorString e))) > (msg (format nil "OpenGL error ~d (\"~A\") > at ~S" e err-text id))) > (logmsg :ERROR *this-file* *this-module* 6 msg) > (when *gl-break-on-stop* > (break msg))))))))) > > (defun gl-get-version () > (gl-check-error t) > (let ((version-string (%glGetString GL_VERSION))) > (break) > (foreign-string-to-lisp version-string))) > > Ok, so back to my assessment: Something fundamental not working here. > > I do get the same error happening when I do not call the cl-check- > error function but go straight to call %glGetString (which calls > glGetString ffi function). > > It just seems as if the OpenGL lib is not really loaded and the > function address of the foreign functions are null pointers... > > Any further suggestions of what I should analyze in gdb or elsewhere? > Educated guesses on the causes? Thanks!!! > > Ah, you know, it worked last time (half a year ago, on a different OS > patch level of OS X, with fewer patches loaded for AllegroCL and older > version of CFFI). > > Cheers > Frank > > -- > Frank Goenninger > > Cell: +49 175 4321058 > E-Mail: f...@me.com > > > > > > > _______________________________________________ > cffi-devel mailing list > cffi-devel@common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel -- Frank Goenninger Cell: +49 175 4321058 E-Mail: f...@me.com _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel