freenode/#clasp - IRC Chatlog
Search
19:31:09
drmeister
It's a problem when calling into the clasp code if there is a bug that breaks the clasp code.
19:33:06
Bike
this problem looks like a recursive deadlock, but i can't actually get a backtrace at crunch time
19:39:25
Bike
and then they renamed it call-with-lock-held despite that it didn't stop needing to be recursive!
19:42:28
Bike
alright. alright. then either we fix slime or just go with the flow and make it be a recursive lock
19:44:11
Bike
drmeister: while we're at it - mp:make-lock and mp:make-recursive-mutex take an optional and key parameter respectively - but if they're not provided there's an error saying you can't have a lock named nil
19:48:52
Bike
it's not a big deal, it's just kind of weird to have an &optional parameter, and then if you don't actually pass anything you get an error
19:55:12
Bike
whatever. drmeister, minor slime fix - on L715 of clasp.lisp, change (mp:make-lock :name name) to (mp:make-recursive-mutex name)
20:06:24
Bike
ok. so yeah. and i did the lambda backtrace thing no problem except we might want to store two kinds of lambda lists - one with default values like for slime display, and one without
20:06:38
Bike
either that or get the latter from t he former, but that's work, and difficult work to do in C++
20:11:11
Bike
like (ext:function-lambda-list (lambda (&optional (x nil x-p)) ...)) => (&OPTIONAL (X NIL X-P)) but the X-P isn't really needed
20:24:56
kpoeck
drmeister regarding the defcallback fix, you fixed that for the parallel compiler, correct?
20:24:57
Colleen
kpoeck: drmeister said 18 hours, 31 minutes ago: I think I have defcallback working again.
20:27:15
kpoeck
I get errors like "Constructing call to intrinsic to_object_unsigned_long - mismatch of arg#0 value[#<ARGUMENT@0x7feb094e80b0 i64 %A>], expected type #<INTEGER-TYPE i64> - received type #<TYPE i64>"
21:04:36
drmeister
The issue was that the object files within a faso file do not register external linkage symbols with dlsym. They are added to the JIT and the JIT can't inject or override the operating system dlsym code.
21:05:11
drmeister
*generate-faso* means generate faso files - and faso files should work now with defcallback.
21:06:27
drmeister
When *generate-faso* is NIL then we are generating object files to disk and linking them with 'ld' and then only compile-file-serial can operate. compile-file-parallel doesn't/shouldn't work anymore when *generate-faso* is NIL.
21:07:55
drmeister
kpoeck: So what combination of *generate-faso* and compile-file-(serial | parallel) and defcallback doesn't work?
21:09:02
drmeister
You said: "I get errors like "Constructing call to intrinsic to_object_unsigned_long - mismatch of arg#0 value[#<ARGUMENT@0x7feb094e80b0 i64 %A>], expected type #<INTEGER-TYPE i64> - received type #<TYPE i64>""
21:11:00
drmeister
What happens if you switch to compile-file-serial? Then we don't have to screw with multiple threads compiling stuff.
21:12:46
kpoeck
with cmp::*generate-faso* nil and compile-file-serial it compiles, but te symbol is not found
21:13:34
drmeister
Don't do cmp:*generate-faso* nil yet - that's a whole other can of worms. It should work - I'm surprised that it doesn't find the symbol because it still calls %dlsym - but I didn't debug it.
21:14:36
drmeister
Any problems with compile-file-parallel should be easier to debug by using cmp::*generate-faso* t and compile-file-serial ?
21:15:10
drmeister
And you can force clasp to use compile-file-serial for compile-file if you (setq cmp:*compile-file-parallel* nil)
21:21:38
kpoeck
the good news it that (GET-CALLBACK 'SUM-CHAR) returns #<FOREIGN-DATA @ 0x131b6eb78 :kind :CLASP-FOREIGN-DATA-KIND-SYMBOL-POINTER :size 0 :ownership-flags 0 :data-ptr 0x132ed94e0 :orig-ptr 0x0>
21:22:14
kpoeck
so at least the (GET-CALLBACK 'SUM-CHAR) works for (setf cmp::*compile-file-parallel* nil cmp::*generate-faso* t)
21:25:07
kpoeck
(ERROR WRONG-NUMBER-OF-ARGUMENTS :CALLED-FUNCTION #<CLOSURE-WITH-SLOTS@0x11a72bd98 BUS-ERROR :type cclasp lambda-list: (ADDRESS) :fptr 0x11d0f5850> :GIVEN-NARGS 0 :MIN-NARGS 1 :MAX-NARGS 1)
21:29:26
Bike
i don't remember how exactly the handlers in interrupt.cc go, but the one obvious call in there does provide an argument
21:34:53
drmeister
Ok, I'm just getting hammered with other requests. Just load up any observations and thoughts and I'll tackle it tonight if I can.
21:39:30
kpoeck
I never remember right, in the first incarnation of the parallel compiler w/o faso files, defcallback didn't work either
21:39:33
Bike
compile-file-to-module could not find the file #P"/Users/bike/quicklisp/local-projects/cffi/tests/asdf.lisp" to open it
4:32:50
drmeister
If in these shelter-in-place days - "sitting" has become the new "smoking" then I'm at three packs a day.
4:33:57
drmeister
I'm sitting all day reading legal documents, writing software, writing white-papers, reading emails, texts and talking on the phone.
4:41:34
no-defun-allowed
It's similar to the physics I did last year, except that we use calculus now instead of remembering some SUVAT formulas.
4:41:48
drmeister
My favorite aha moment was in Physics when I realized how the electric force and magnetism are related by relativity.
4:45:02
no-defun-allowed
I don't think we do magnetism or electricity in this course; possibly because there are also electronic engineering courses, one of which I will take next semester.
4:54:27
drmeister
My experience is first year physics is broken up into two semesters. 1. Mechanics 2. Electricity/magnetism/thermodynamics.
4:56:48
no-defun-allowed
Could do. This course is "Principles of Physics", and I'm just doing it as an elective for computer so-called science.