gendl issueshttps://gitlab.common-lisp.net/groups/gendl/-/issues2023-05-02T16:42:05Zhttps://gitlab.common-lisp.net/gendl/gendl/-/issues/167Build failure in latest SBCL2023-05-02T16:42:05ZZach BeaneBuild failure in latest SBCLPosting bug report for #<BRANCHED-GIT-SOURCE "gendl" "https://gitlab.common-lisp.net/gendl/gendl.git">
Building with SBCL 2.1.6 / ASDF 3.3.1 for quicklisp dist creation.
Trying to build commit id 88dddfffec005ab599b453cce7e6b21e9ad9360...Posting bug report for #<BRANCHED-GIT-SOURCE "gendl" "https://gitlab.common-lisp.net/gendl/gendl.git">
Building with SBCL 2.1.6 / ASDF 3.3.1 for quicklisp dist creation.
Trying to build commit id 88dddfffec005ab599b453cce7e6b21e9ad9360a
*bus* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*dom* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A28293}>: The value * is not of type LIST
```
*gendl* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*geom-base* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*geysr* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*graphs* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*gwl-graphics* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*gwl* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*ledger* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*regression* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*robot* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*surf* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*ta2* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*tasty* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*translators* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1040CD8303}>: The value * is not of type LIST
```
*tree* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*wire-world* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
*yadd* fails to build with the following error:
```
Unhandled TYPE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001A18103}>: The value * is not of type LIST
```
[Full log here](http://report.quicklisp.org/2021-07-02/failure-report/gendl.html)https://gitlab.common-lisp.net/gendl/gendl/-/issues/92merge-display-control on self2023-01-31T13:04:11ZDave Coopermerge-display-control on self*Created by: reiniervandijk*
Consider:
```lisp
(define-object color-test (base-object)
:computed-slots
((display-controls (list :color :red)))
:objects
((box1 :type 'box-solid :width 1 :length 1 :height 1
:displ...*Created by: reiniervandijk*
Consider:
```lisp
(define-object color-test (base-object)
:computed-slots
((display-controls (list :color :red)))
:objects
((box1 :type 'box-solid :width 1 :length 1 :height 1
:display-controls (merge-display-controls (list :transparency 0.5)))
(box2 :type 'box-solid :width 1 :length 1 :height 1
:display-controls (merge-display-controls (list :color :blue)))))
```
Now, I would expect that my box1 would merge the color of self (:red) with a new transparency, instead it will look for the parent that obviously does not exists in the context of color-test, hence losing color information. Why not actually use self instead of parent?
**Imported comments:**
*By genworks on 2013-02-18 19:40:20 UTC*
The issue with using self is if you have
...
:computed-slots
((display-controls (merge-display-controls (list :color :red))))
...
then you end up with a circularity.
I guess the question is whether display-controls is more likely to be specified as a computed-slot in the current object, or as an input to a child object.
https://gitlab.common-lisp.net/gendl/gendl/-/issues/75stack overflow with-format vrml2023-01-31T13:04:11ZDave Cooperstack overflow with-format vrml*Created by: reiniervandijk*
```lisp
(gdl::with-format (vrml \"/tmp/box.vrml\")
(write-the-object (make-instance 'box :length 100 :width 100 :height 100) cad-output))
```
**Imported comments:**
*By genworks on 2013-03-09 17:45...*Created by: reiniervandijk*
```lisp
(gdl::with-format (vrml \"/tmp/box.vrml\")
(write-the-object (make-instance 'box :length 100 :width 100 :height 100) cad-output))
```
**Imported comments:**
*By genworks on 2013-03-09 17:45:24 UTC*
This is user error but for sure we can give a better error message, so it can still be considered a bug.
The user error is that in Gendl, GDL objects need `make-object` rather than the standard CLOS `make-instance` in order to behave as expected.
Two ways of handling this - we might be able to customize the `make-instance` behavior for class definitions with meta-class `gdl-class` (this has been tried in the past and we ran into complications, but can look at it again) --- or at least we should give a clear error message when normal `make-instance` is called on these definitions. So this Issue will remain open until resolved in one of these ways.
In the meantime a working version of the example would be:
```common-lisp
(with-format (vrml "/tmp/box.vrml")
(write-the-object (make-object 'box :length 100 :width 100 :height 100) cad-output))
```
The style notes from Issue #92 also apply. If you were to call this from a package not defined with gdl:define-package or gwl:define-package, the correct symbol package prefixes would look like this (note the exclusive use of single-colons):
```common-lisp
(gdl:with-format (geom-base:vrml "/tmp/box.vrml")
(gdl:write-the-object (gdl:make-object 'geom-base:box :length 100 :width 100 :height 100) cad-output))
```
Note that the output-function `cad-output` behaves like any normal message name in Gendl, and does not need any package prefix because message names are immune to package. If you want to avoid "polluting" the current `*package*` with the symbol `cad-output` then you can use the keyword package, and write `:cad-output`, with the same effect (this still "pollutes" the keyword package with the symbol "cad-output" but according to many folks, that's what the keyword package is there for in the first place).https://gitlab.common-lisp.net/gendl/gendl/-/issues/10VRML scene redraw on geometry click2023-01-31T13:02:24ZDave CooperVRML scene redraw on geometry click*Created by: reiniervandijk*
When visualizing geometry in VRML format through BS Contact plugin: any click on geometry, including right-clicks, lead to complete regeneration of VRML scene.
**Imported comments:**
*By genworks on 2015...*Created by: reiniervandijk*
When visualizing geometry in VRML format through BS Contact plugin: any click on geometry, including right-clicks, lead to complete regeneration of VRML scene.
**Imported comments:**
*By genworks on 2015-01-29 21:25:26 UTC*
Opening this up for submission. $200-300. Requires full regression tests using net.aserve.client:do-http-request to simulate browser actions. If possible, tests should be in the style of the tests in gendl/regression/source/ and e.g. gendl/regression/geom-base/source/angle-between-vectors.lisp, so they can be run in automated fashion and the output captured in the regression-test-data slot.
Notes: VRML output should be deprecated and removed from tasty/ta2 etc.
This behavior should be checked and fixed if necessary for X3D and X3DOM output in ta2 and tasty. GDL should standardize on these two output formats, clean them up, verify, document them, and retire VRML format.https://gitlab.common-lisp.net/gendl/gendl/-/issues/116functions vs computed-slots?2021-07-23T02:53:12ZDave Cooperfunctions vs computed-slots?*Created by: reiniervandijk*
IMPORTANT!!!
In order to make clearer to Gendl users that functions don't behave in a similar way to (computed-) slots, I strongly suggest to make the difference clearer in the code and exploit dependency t...*Created by: reiniervandijk*
IMPORTANT!!!
In order to make clearer to Gendl users that functions don't behave in a similar way to (computed-) slots, I strongly suggest to make the difference clearer in the code and exploit dependency tracking better. The slots below (just a few examples, the list can be almost endless) are the result of a function evaluation, however interpreted and consequently used by the layman user as computed slot with expected associated behavior:
- :total-length on curve
- :volume on brep
- :mass on brep
Instead of causing this confusion, create new functions:
- assess-total-length
- assess-volume
- assess-mass
with their counterparts being computed-slots:
- :total-length message on curve according to
```lisp ((total-length (the assess-total-length)))
- :volume message on breps according to
```lisp ((volume (the assess-volume )))
- :mass message on bresp according to
```lisp ((mass (the assess-mass)))
This will make sure that the user will always refer to slots and consequently, things are not recomputed unnecessarily over and over again if dependencies didn't change. Example below demonstrates that misuse may have huge performance impacts:
```lisp
(in-package :gdl-user)
(define-object test-object (box-solid)
:input-slots
((width 2)
(length 3)
(height 4))
:computed-slots
((volume-computed (the volume))
)
)
gdl-user> (make-self 'test-object)
#<test-object @ #x288afb72>
gdl-user> (time (dotimes (i 10000) (the volume)))
; cpu time (non-gc) 35.615029 sec user, 0.093601 sec system
; cpu time (gc) 0.031200 sec user, 0.000000 sec system
; cpu time (total) 35.646229 sec user, 0.093601 sec system
; real time 107.751000 sec (00:01:47.751000) (33.17%)
; space allocation:
; 721,758 cons cells, 10,461,192 other bytes, 0 static bytes
; Page Faults: major: 0 (gc: 0), minor: 0 (gc: 0)
gdl-user> (time (dotimes (i 10000) (the volume-computed)))
; cpu time (non-gc) 0.000000 sec user, 0.000000 sec system
; cpu time (gc) 0.000000 sec user, 0.000000 sec system
; cpu time (total) 0.000000 sec user, 0.000000 sec system
; real time 0.005000 sec ( 0.0%)
; space allocation:
; 81 cons cells, 1,024 other bytes, 0 static bytes
; Page Faults: major: 0 (gc: 0), minor: 0 (gc: 0)
**Imported comments:**
*By genworks on 2013-01-22 19:42:00 UTC*
The reason most things are functions rather than computed-slots is because they can accept arguments, so they can return different return-values if they are called with different values for the arguments. This eliminates the possibility of caching, unless we introduce :cached-functions, which are available already in Gendl, but on an experimental basis (they have not been exercised heavily yet).
In addition to thinking about some kind of naming conventions, I think it would also be helpful to extend Slime's function completion to work with Gendl functions, so it will be obvious when entering a Gendl function that it is indeed a function (and not a simple computed-slot), and what the arguments are. This work was started several years ago before we had really rolled out Slime as a default environment, and it is time now to dust it off and make it very much available as part of the environment!
As you mention, an obvious alternative to cached-functions, where an application wants to call a Gendl function with a particular set of arguments (and arguably simpler/clearer than a cached function) is to establish a new normal (cached) computed-slot to catch (and cache) the return-value of the function call.
*By reiniervandijk on 2013-01-22 19:49:32 UTC*
I think that would be very useful and most sincere to the user, giving him/her exactly what he wants: ultimate speed with the ability to still flexibly call functions with non-default values for the inputs. Note that I assume that the computed-slots here call the associated function with the (as can be reasonably expected) default values for the function inputs.
Ever considered memoize hacks for lisp? I feel it might cause extra delays for rarely used functions, in which cases it may not pay off.
http://www.common-lisp.net/project/araneida/araneida-release/memoization.lisp
*By genworks on 2013-01-22 23:36:38 UTC*
Here's an example of how you make a cached-function (which does memoization) in Gendl (this is experimental and undocumented, but has actually been in there for a long time!):
```lisp
(define-object cached-try ()
:functions ((factorial :cached
(n)
(if (= n 0) 1 (* n (the (factorial (1- n))))))))
```
The alternative I mentioned above is that (as it stands today), the _user_ can go ahead and establish a new computed-slot to cache results when desired, if one does not already exist built-in to the Gendl primitive in question.
No matter how many cached "catcher" slots we add, there will still always be uncached functions in Gendl, and the opportunity for users to call these unknowingly. So the main point is to give the user a clear way of knowing when such a function is being used, so it will not be mistaken for a cached slot. Normally, the uniform syntax is a good thing - during initial development you don't want to have to think too much about such things, or have to use different syntax or some contrived naming convention to distinguish cached slots from functions. But for sure the user needs some easy transparent notification. I think Slime feedback would be one effective way of doing that, at least for the users who choose to use Slime.
Another possibility would be a compiler switch to turn on warnings when Gendl functions are being called with no arguments -- something like "Uncached function called with no arguments -- are you sure you don't want a cached slot to catch that value?" --- and maybe even auto-generate such a slot.
A lot to think about. But first steps will be to make a way to loudly notify the user, before trying too much clever automation which (if not done perfectly) could confuse matters even worse...https://gitlab.common-lisp.net/gendl/gendl/-/issues/1Tasty svg line-thickness2021-07-23T02:47:42ZDave CooperTasty svg line-thickness*Created by: reiniervandijk*
The first time an SVG image is drawn, all lines in the wireframe drawing have a certain line-thickness. When the user hovers over it, the line is correctly highlighted, but changes line-thickness afterwards....*Created by: reiniervandijk*
The first time an SVG image is drawn, all lines in the wireframe drawing have a certain line-thickness. When the user hovers over it, the line is correctly highlighted, but changes line-thickness afterwards. Replicate by opening the ``robot:assembly`` in Tasty, draw all nodes in SVG mode. Then note the thickness of all lines, then hover over one, move cursor away from line, and note thickness change.
**Imported comments:**
*By genworks on 2015-02-19 02:12:12 UTC*
What version of GDL/Gendl is this happening in? I believe this issue has been fixed some time ago and should not be there in current codebase or in released 1588. Unless I'm looking at something different.
*By reiniervandijk on 2015-02-19 08:27:22 UTC*
This is 1587p001.
*By genworks on 2015-02-20 03:27:48 UTC*
Closing as already fixed in current version. https://gitlab.common-lisp.net/gendl/gendl/-/issues/122sbcl windows: division-by-zero during build2021-07-23T02:47:41ZDave Coopersbcl windows: division-by-zero during build*Created by: avodonosov*
If you check windows versions of SBCL here -
http://common-lisp.net/project/cl-test-grid/library/genworks-gdl -
you may see DIVISION-BY-ZERO errors.
Example log:
http://cl-test-grid.appspot.com/blob?key=104608...*Created by: avodonosov*
If you check windows versions of SBCL here -
http://common-lisp.net/project/cl-test-grid/library/genworks-gdl -
you may see DIVISION-BY-ZERO errors.
Example log:
http://cl-test-grid.appspot.com/blob?key=1046080
Strange that it happens only on SBCL windows, but I reproduced it.
Quicklisp 2012-12-23.
```
(ql:quickload :gdl-tasty).
....
debugger invoked on a DIVISION-BY-ZERO in thread
#<THREAD "main thread" RUNNING {23EFED39}>:
arithmetic error DIVISION-BY-ZERO signalled
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [RETRY ] Retry
compiling #<CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">.
1: [ACCEPT] Continue, treating
compiling #<CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">
as having been successful.
2: [ABORT ] Give up on "gdl-tasty"
3: Exit debugger, returning to top level.
(SB-KERNEL:TWO-ARG-/ -1.0d0 0.0d0)
0] backtrace
0: (SB-KERNEL:TWO-ARG-/ -1.0d0 0.0d0)
1: (ACOS -1.0d0)
2: (ANGLE-BETWEEN-VECTORS
#(0.0d0 1.0d0 0.0d0)
#(0.0d0 -1.0d0 0.0d0)
NIL
:EPSILON
NIL
:-VE
NIL)
3: (ALIGNMENT
:TOP
#(0.0d0 0.0d0 1.0d0)
:LEFT
#(1.0d0 0.0d0 0.0d0)
:REAR
#(0.0d0 1.0d0 0.0d0))
4: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0))
#<NULL-LEXENV>)
5: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
#<NULL-LEXENV>)
6: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION))
#<NULL-LEXENV>)
7: (SB-INT:SIMPLE-EVAL-IN-LEXENV
(PROGN
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION)))
#<NULL-LEXENV>)
8: (SB-EXT:EVAL-TLF
(PROGN
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION)))
1
#<NULL-LEXENV>)
9: (SB-C::EVAL-COMPILE-TOPLEVEL
((SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION)))
(#1=(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
#2=(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION))
(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) #1#)
(DEFCONSTANT +IDENTITY-LH-MATRIX+ #2#) SB-C::ORIGINAL-SOURCE-START 0 1))
10: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM)
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION)))
11: (SB-C::PROCESS-TOPLEVEL-FORM
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION))
((EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
#1=(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP # :LEFT # :REAR #))
'NIL (SB-C:SOURCE-LOCATION)))
(DEFCONSTANT +IDENTITY-LH-MATRIX+ #1#) SB-C::ORIGINAL-SOURCE-START 0 1)
(:COMPILE-TOPLEVEL))
12: (SB-C::PROCESS-TOPLEVEL-PROGN
((SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION)))
((EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
#1=(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP # :LEFT # :REAR #))
'NIL (SB-C:SOURCE-LOCATION)))
(DEFCONSTANT +IDENTITY-LH-MATRIX+ #1#) SB-C::ORIGINAL-SOURCE-START 0 1)
(:COMPILE-TOPLEVEL))
13: (SB-C::PROCESS-TOPLEVEL-FORM
(EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
(MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))
'NIL (SB-C:SOURCE-LOCATION)))
((DEFCONSTANT +IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0))))
SB-C::ORIGINAL-SOURCE-START 0 1)
NIL)
14: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM)
(DEFCONSTANT +IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0)))))
15: (SB-C::PROCESS-TOPLEVEL-FORM
(DEFCONSTANT +IDENTITY-LH-MATRIX+
(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
(SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
(MAKE-VECTOR 0 1 0))))
(SB-C::ORIGINAL-SOURCE-START 0 1)
NIL)
16: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM)
(COM.GENWORKS.LISP:DEFINE-CONSTANT +IDENTITY-LH-MATRIX+
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1)
:LEFT (MAKE-VECTOR 1 0 0)
:REAR (MAKE-VECTOR 0 1 0))))
17: (SB-C::PROCESS-TOPLEVEL-FORM
(COM.GENWORKS.LISP:DEFINE-CONSTANT +IDENTITY-LH-MATRIX+
(ALIGNMENT :TOP (MAKE-VECTOR 0 0 1)
:LEFT (MAKE-VECTOR 1 0 0)
:REAR (MAKE-VECTOR 0 1 0)))
(SB-C::ORIGINAL-SOURCE-START 0 1)
NIL)
18: (SB-C::SUB-SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >)
19: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE))
20: ((FLET #:WITHOUT-INTERRUPTS-BODY-369 :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
21: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK
#<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE)
{28E9D5}>
#<SB-THREAD:MUTEX "World Lock"
owner: #<SB-THREAD:THREAD "main thread" RUNNING {23EFED39}>>
T
NIL)
22: ((LAMBDA () :IN SB-C::SUB-COMPILE-FILE))
23: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
24: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >)
25: (COMPILE-FILE
#P"C:/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-20121125-git/gdl/geom-base/wire/source/base-object.lisp"
:OUTPUT-FILE
#P"C:/Users/anton/AppData/Local/common-lisp/cache/sbcl-1.1.0.45-win-x86/C/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-201211
25-git/gdl/geom-base/wire/source/ASDF-TMP-base-object.fasl"
:VERBOSE
NIL
:PRINT
NIL
:EXTERNAL-FORMAT
:DEFAULT
:TRACE-FILE
NIL
:BLOCK-COMPILE
NIL
:EMIT-CFASL
NIL)
26: (ASDF:COMPILE-FILE*
#P"C:/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-20121125-git/gdl/geom-base/wire/source/base-object.lisp"
:OUTPUT-FILE
#P"C:/Users/anton/AppData/Local/common-lisp/cache/sbcl-1.1.0.45-win-x86/C/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-201211
25-git/gdl/geom-base/wire/source/base-object.fasl"
:EXTERNAL-FORMAT
:DEFAULT)
27: ((LAMBDA (&REST ASDF::FLAGS) :IN ASDF:PERFORM))
28: ((SB-PCL::FAST-METHOD ASDF::CALL-WITH-AROUND-COMPILE-HOOK
(ASDF:COMPONENT T))
#<unused argument>
#<unused argument>
#<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">
#<CLOSURE (LAMBDA # :IN ASDF:PERFORM) {26C39E1D}>)
29: ((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
#<unused argument>
#<unused argument>
#<ASDF:COMPILE-OP (:VERBOSE NIL) {27762A61}>
#<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">)
30: ((SB-PCL::EMF ASDF:PERFORM)
#<unused argument>
#<unused argument>
#<ASDF:COMPILE-OP (:VERBOSE NIL) {27762A61}>
#<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">)
31: ((SB-PCL::FAST-METHOD ASDF::PERFORM-WITH-RESTARTS (T T))
#<unused argument>
#<unused argument>
#<ASDF:COMPILE-OP (:VERBOSE NIL) {27762A61}>
#<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">)
32: ((FLET CALL-NEXT-METHOD :IN "C:/Users/anton/quicklisp/asdf.lisp"))
```
**Imported comments:**
*By genworks on 2013-01-13 18:20:40 UTC*
I can replicate
(acos -1)
--> DIVIDE BY ZERO ERROR
on SBCL Windows, but not on any other platform combination of:
Mac: LW, SBCL, CCL
WIndows: ACL, CCL
Linux: ACL, CCL, SBCL
Isn't the acos of -1 correctly supposed to be pi?
Could this be a bug with the acos function on SBCL Windows?
On Sun, Jan 13, 2013 at 1:03 PM, Anton Vodonosov
<notifications@github.com>wrote:
> If you check windows versions of SBCL here -
> http://common-lisp.net/project/cl-test-grid/library/genworks-gdl -
> you may see DIVISION-BY-ZERO errors.
>
> http://cl-test-grid.appspot.com/blob?key=1046080
>
> Strange that it happens only on SBCL windows, but I reproduced it.
> Quicklisp 2012-12-23.
>
> (ql:quickload :gdl-tasty).
>
> ....
> debugger invoked on a DIVISION-BY-ZERO in thread
> #<THREAD "main thread" RUNNING {23EFED39}>:
> arithmetic error DIVISION-BY-ZERO signalled
>
> Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
>
> restarts (invokable by number or by possibly-abbreviated name):
> 0: [RETRY ] Retry
> compiling #<CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">.
> 1: [ACCEPT] Continue, treating
> compiling #<CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">
> as having been successful.
> 2: [ABORT ] Give up on "gdl-tasty"
> 3: Exit debugger, returning to top level.
>
> (SB-KERNEL:TWO-ARG-/ -1.0d0 0.0d0)
>
> 0] backtrace
>
> 0: (SB-KERNEL:TWO-ARG-/ -1.0d0 0.0d0)
> 1: (ACOS -1.0d0)
> 2: (ANGLE-BETWEEN-VECTORS
> #(0.0d0 1.0d0 0.0d0)
> #(0.0d0 -1.0d0 0.0d0)
> NIL
> :EPSILON
> NIL
> :-VE
> NIL)
> 3: (ALIGNMENT
> :TOP
> #(0.0d0 0.0d0 1.0d0)
> :LEFT
> #(1.0d0 0.0d0 0.0d0)
> :REAR
> #(0.0d0 1.0d0 0.0d0))
> 4: (SB-INT:SIMPLE-EVAL-IN-LEXENV
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0))
> #<NULL-LEXENV>)
> 5: (SB-INT:SIMPLE-EVAL-IN-LEXENV
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> #<NULL-LEXENV>)
> 6: (SB-INT:SIMPLE-EVAL-IN-LEXENV
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION))
> #<NULL-LEXENV>)
> 7: (SB-INT:SIMPLE-EVAL-IN-LEXENV
> (PROGN
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION)))
> #<NULL-LEXENV>)
> 8: (SB-EXT:EVAL-TLF
> (PROGN
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION)))
> 1
> #<NULL-LEXENV>)
> 9: (SB-C::EVAL-COMPILE-TOPLEVEL
> ((SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION)))
> (#1=(SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> #2=(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION))
> (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) #1#)
> (DEFCONSTANT +IDENTITY-LH-MATRIX+ #2#) SB-C::ORIGINAL-SOURCE-START 0 1))
> 10: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM)
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION)))
> 11: (SB-C::PROCESS-TOPLEVEL-FORM
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION))
> ((EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> #1=(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP # :LEFT # :REAR #))
> 'NIL (SB-C:SOURCE-LOCATION)))
> (DEFCONSTANT +IDENTITY-LH-MATRIX+ #1#) SB-C::ORIGINAL-SOURCE-START 0 1)
> (:COMPILE-TOPLEVEL))
> 12: (SB-C::PROCESS-TOPLEVEL-PROGN
> ((SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION)))
> ((EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> #1=(IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP # :LEFT # :REAR #))
> 'NIL (SB-C:SOURCE-LOCATION)))
> (DEFCONSTANT +IDENTITY-LH-MATRIX+ #1#) SB-C::ORIGINAL-SOURCE-START 0 1)
> (:COMPILE-TOPLEVEL))
> 13: (SB-C::PROCESS-TOPLEVEL-FORM
> (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE)
> (SB-C::%DEFCONSTANT '+IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT
> (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))
> 'NIL (SB-C:SOURCE-LOCATION)))
> ((DEFCONSTANT +IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0))))
> SB-C::ORIGINAL-SOURCE-START 0 1)
> NIL)
> 14: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM)
> (DEFCONSTANT +IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0)))))
> 15: (SB-C::PROCESS-TOPLEVEL-FORM
> (DEFCONSTANT +IDENTITY-LH-MATRIX+
> (IF (BOUNDP '+IDENTITY-LH-MATRIX+)
> (SYMBOL-VALUE '+IDENTITY-LH-MATRIX+)
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1) :LEFT (MAKE-VECTOR 1 0 0) :REAR
> (MAKE-VECTOR 0 1 0))))
> (SB-C::ORIGINAL-SOURCE-START 0 1)
> NIL)
> 16: ((FLET SB-C::DEFAULT-PROCESSOR :IN SB-C::PROCESS-TOPLEVEL-FORM)
> (COM.GENWORKS.LISP:DEFINE-CONSTANT +IDENTITY-LH-MATRIX+
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1)
> :LEFT (MAKE-VECTOR 1 0 0)
> :REAR (MAKE-VECTOR 0 1 0))))
> 17: (SB-C::PROCESS-TOPLEVEL-FORM
> (COM.GENWORKS.LISP:DEFINE-CONSTANT +IDENTITY-LH-MATRIX+
> (ALIGNMENT :TOP (MAKE-VECTOR 0 0 1)
> :LEFT (MAKE-VECTOR 1 0 0)
> :REAR (MAKE-VECTOR 0 1 0)))
> (SB-C::ORIGINAL-SOURCE-START 0 1)
> NIL)
> 18: (SB-C::SUB-SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >)
> 19: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE))
> 20: ((FLET #:WITHOUT-INTERRUPTS-BODY-369 :IN SB-THREAD::CALL-WITH-RECURSIVE-LOCK))
> 21: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK
> #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK :IN SB-C::SUB-COMPILE-FILE)
> {28E9D5}>
> #<SB-THREAD:MUTEX "World Lock"
> owner: #<SB-THREAD:THREAD "main thread" RUNNING {23EFED39}>>
> T
> NIL)
> 22: ((LAMBDA () :IN SB-C::SUB-COMPILE-FILE))
> 23: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
> 24: (SB-C::SUB-COMPILE-FILE #<SB-C::SOURCE-INFO >)
> 25: (COMPILE-FILE
> #P"C:/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-20121125-git/gdl/geom-base/wire/source/base-object.lisp"
> :OUTPUT-FILE
> #P"C:/Users/anton/AppData/Local/common-lisp/cache/sbcl-1.1.0.45-win-x86/C/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-201211
> 25-git/gdl/geom-base/wire/source/ASDF-TMP-base-object.fasl"
> :VERBOSE
> NIL
> :PRINT
> NIL
> :EXTERNAL-FORMAT
> :DEFAULT
> :TRACE-FILE
> NIL
> :BLOCK-COMPILE
> NIL
> :EMIT-CFASL
> NIL)
> 26: (ASDF:COMPILE-FILE*
> #P"C:/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-20121125-git/gdl/geom-base/wire/source/base-object.lisp"
> :OUTPUT-FILE
> #P"C:/Users/anton/AppData/Local/common-lisp/cache/sbcl-1.1.0.45-win-x86/C/Users/anton/quicklisp/dists/quicklisp/software/genworks-gdl-201211
> 25-git/gdl/geom-base/wire/source/base-object.fasl"
> :EXTERNAL-FORMAT
> :DEFAULT)
> 27: ((LAMBDA (&REST ASDF::FLAGS) :IN ASDF:PERFORM))
> 28: ((SB-PCL::FAST-METHOD ASDF::CALL-WITH-AROUND-COMPILE-HOOK
> (ASDF:COMPONENT T))
> #<unused argument>
> #<unused argument>
> #<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">
> #<CLOSURE (LAMBDA # :IN ASDF:PERFORM) {26C39E1D}>)
> 29: ((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:COMPILE-OP ASDF:CL-SOURCE-FILE))
> #<unused argument>
> #<unused argument>
> #<ASDF:COMPILE-OP (:VERBOSE NIL) {27762A61}>
> #<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">)
> 30: ((SB-PCL::EMF ASDF:PERFORM)
> #<unused argument>
> #<unused argument>
> #<ASDF:COMPILE-OP (:VERBOSE NIL) {27762A61}>
> #<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">)
> 31: ((SB-PCL::FAST-METHOD ASDF::PERFORM-WITH-RESTARTS (T T))
> #<unused argument>
> #<unused argument>
> #<ASDF:COMPILE-OP (:VERBOSE NIL) {27762A61}>
> #<ASDF:CL-SOURCE-FILE "gdl-geom-base" "wire/source/base-object">)
> 32: ((FLET CALL-NEXT-METHOD :IN "C:/Users/anton/quicklisp/asdf.lisp"))
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/genworks/Genworks-GDL/issues/46>.
>
>
--
My Best,
Dave Cooper, Genworks Support
david.cooper@genworks.com, dave.genworks.com(skype)
USA: 248-327-3253(o), 1-248-330-2979(mobile)
UK: 0191 645 1699
*By avodonosov on 2013-01-13 18:34:59 UTC*
Yes, seems to be a bug in sbcl windows.
I've asked in sbcl-devel about it, in this thread (my message probably hasn't yet got into the archive) :
http://sourceforge.net/mailarchive/forum.php?thread_name=CAJ9X%3DkYPRAjOqpKLh64SVz99c-4VqmkCuj0VtvBH19CpA51y3g%40mail.gmail.com&forum_name=sbcl-develhttps://gitlab.common-lisp.net/gendl/gendl/-/issues/164surf, regression don't build today2021-07-23T02:46:53ZZach Beanesurf, regression don't build todayBuild log is here -- http://report.quicklisp.org/2018-12-06/failure-report/gendl.html#surfBuild log is here -- http://report.quicklisp.org/2018-12-06/failure-report/gendl.html#surfhttps://gitlab.common-lisp.net/gendl/gendl/-/issues/165Gendl installation2021-07-23T02:46:31ZWojciech PasiekaGendl installationI am on CMUCL - is there any fix for it, as the "paserve" is NOT in the quicklisp?
> (ql:quickload "gendl")
To load "gendl":
Load 1 ASDF system:
gendl
; Loading "gendl" ...I am on CMUCL - is there any fix for it, as the "paserve" is NOT in the quicklisp?
> (ql:quickload "gendl")
To load "gendl":
Load 1 ASDF system:
gendl
; Loading "gendl"
System "paserve" not foundhttps://gitlab.common-lisp.net/gendl/gendl/-/issues/166Some systems failed to build for Quicklisp dist2021-07-05T02:19:02ZZach BeaneSome systems failed to build for Quicklisp distBuilding with SBCL 2.0.9.125-5f9d19d4a / ASDF 3.3.1 for quicklisp dist creation.
Commi...Building with SBCL 2.0.9.125-5f9d19d4a / ASDF 3.3.1 for quicklisp dist creation.
Commit id 1ba9be0c196ac3c029ef9fc5a65d5d2b05e6dc51
*gendl-asdf* fails to build with the following error:
```
; caught ERROR:
; READ error during COMPILE-FILE: Package GENDL does not exist. Line: 24, Column: 23, File-Position: 683 Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/quicklisp/quicklisp-controller/dist/build-cache/gendl/9f226fbcc1540609e85b5f9702453b3af8477703/gendl-devo-1ba9be0c-git/gendl-asdf.lisp" {10051E36F3}>
...
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001720103}>: COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "gendl-asdf" "gendl-asdf">
```
[Full log here](http://report.quicklisp.org/2020-11-11/failure-report/gendl.html)https://gitlab.common-lisp.net/gendl/gendl-patches/gendl-patches/-/issues/1gendl-asdf.asd does not declare dependency on gendl2021-02-21T21:51:39ZDonald Ferschweilergendl-asdf.asd does not declare dependency on gendlThe file gendl-asdf.lisp uses the function `gendl::peruse-file`, and so requires that the gendl system already be loaded. When loading the gendl-asdf system in a lisp image that doesn't already have gendl loaded, an error is thrown since...The file gendl-asdf.lisp uses the function `gendl::peruse-file`, and so requires that the gendl system already be loaded. When loading the gendl-asdf system in a lisp image that doesn't already have gendl loaded, an error is thrown since the gendl package doesn't exist.
Changing `:depends-on ()` to `:depends-on (:gendl)` in the asd file allows a successful load.https://gitlab.common-lisp.net/gendl/gendl/-/issues/141Does not build on SBCL: missing components2017-04-10T15:43:27ZDave CooperDoes not build on SBCL: missing components*Created by: quicklisp*
Here are some example failure logs:
http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-all_gdl-all.txt
http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-surf_gdl-sur...*Created by: quicklisp*
Here are some example failure logs:
http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-all_gdl-all.txt
http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-surf_gdl-surf.txt
http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-build_gdl-build.txt
There are others, if it helps.
**Imported comments:**
*By genworks on 2012-03-22 21:20:06 UTC*
Hi Zach,
Thank you for trying these builds again.
Are these current build logs? I just did a clean build of these
systems (SBCL 1.0.55 MacOS) from the current github repository, and I
am not seeing any errors. The gdl-cl-typesetting-ql-patch.asd is
definitely in the repository (that's the error in the first and third
logs), and the second log is showing style-warnings (e.g. IGNORE
declaration for unknown variable &KEY) for methods.lisp, which for
sure are not in the current version of that file in the repository any
more.
Maybe there is something else wrong with my configuration? Please let me know.
Best Regards,
-dave
On Thu, Mar 22, 2012 at 2:06 PM, Zach Beane
<reply@reply.github.com>
wrote:
> Here are some example failure logs:
>
> http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-all_gdl-all.txt
>
> http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-surf_gdl-surf.txt
>
> http://dl.dropbox.com/u/41993869/quicklisp/fails/fail_genworks-gdl_gdl-build_gdl-build.txt
>
> There are others, if it helps.
>
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/genworks/Genworks-GDL/issues/19
--
Genworks Support
support@genworks.com
*By genworks on 2012-03-23 14:00:13 UTC*
Hi Zach,
Thank you for trying these builds again.
Are these current build logs? I just did a clean build of these
systems (SBCL 1.0.55 MacOS) from the current github repository, and I
am not seeing any errors. The gdl-cl-typesetting-ql-patch.asd is
definitely in the repository (that's the error in the first and third
logs), and the second log is showing style-warnings (e.g. IGNORE
declaration for unknown variable &KEY) for methods.lisp, which for
sure are not in the current version of that file in the repository any
more.
Maybe there is something else wrong with my configuration? Please let me know.
Best Regards,
-dave
*By quicklisp on 2012-03-23 19:55:12 UTC*
Must have been a temporary glitch, things build fine now.
What's the duplicate tree in 1580-freeze? Should it be ignored?
*By genworks on 2012-03-23 21:00:50 UTC*
>
> What's the duplicate tree in 1580-freeze? Should it be ignored?
>
Yes, it should be ignored. I will get rid of it soon.
--
My Best,
Dave Cooper, Genworks Support
david.cooper@genworks.com, dave.genworks.com(skype)
USA: 248-327-3253(o), 1-248-330-2979(mobile)
UK: 0191 645 1699
*By genworks on 2012-03-30 14:45:47 UTC*
Must add an ASD system for :genworks-gdl -- genworks-gdl.asd to make it intuitive for folks to load Genworks-GDL with quicklisp. https://gitlab.common-lisp.net/gendl/gendl/-/issues/142VRML cone2017-04-10T15:43:27ZDave CooperVRML cone*Created by: teodor-gelu*
The vrml export of a geom-base cone object is inconsistent:
see the Genworks-GDL / documentation / unified-doc / examples / shock-absorber-v0.3
**Imported comments:**
*By genworks on 2012-02-11 21:1...*Created by: teodor-gelu*
The vrml export of a geom-base cone object is inconsistent:
see the Genworks-GDL / documentation / unified-doc / examples / shock-absorber-v0.3
**Imported comments:**
*By genworks on 2012-02-11 21:19:46 UTC*
Closing this because it is redundant with Issue #9. https://gitlab.common-lisp.net/gendl/gendl/-/issues/143Tasty zoom-in and zoom-out2017-04-10T15:43:27ZDave CooperTasty zoom-in and zoom-out*Created by: teodor-gelu*
The zoom-in and zoom-out image are reversed :
image viewmag- is zoom-in and
image viewmag+ is zoom-out.
**Imported comments:**
*By genworks on 2012-03-30 14:46:07 UTC*
This is apparently resolved, c...*Created by: teodor-gelu*
The zoom-in and zoom-out image are reversed :
image viewmag- is zoom-in and
image viewmag+ is zoom-out.
**Imported comments:**
*By genworks on 2012-03-30 14:46:07 UTC*
This is apparently resolved, courtesy Teodor-Gelu. https://gitlab.common-lisp.net/gendl/gendl/-/issues/145PDF->PNG fails on LW, SBCL2017-04-10T15:43:27ZDave CooperPDF->PNG fails on LW, SBCL*Created by: genworks*
PDF stream is opened in wrong mode (e.g. ascii vs binary) for png and jpeg output-formats.
**Imported comments:**
*By genworks on 2012-02-10 04:07:08 UTC*
This is now fixed for LispWorks and SBCL. There is s...*Created by: genworks*
PDF stream is opened in wrong mode (e.g. ascii vs binary) for png and jpeg output-formats.
**Imported comments:**
*By genworks on 2012-02-10 04:07:08 UTC*
This is now fixed for LispWorks and SBCL. There is still redundent file I/O for PDF->PNG and PDF->JPEG, and the file I/O seems to be slow in SBCL, so this redundancy needs to be addressed. https://gitlab.common-lisp.net/gendl/gendl/-/issues/146camera limited to single projection-vector, needs to respect a full orientation2017-04-10T15:43:27ZDave Coopercamera limited to single projection-vector, needs to respect a full orientation*Created by: genworks*
The camera (e.g. for input to a base-view) currently consists of a single :projection-vector, which is not enough fully to specify a camera. It needs to be oriented like a box or any other base-object, so you ca...*Created by: genworks*
The camera (e.g. for input to a base-view) currently consists of a single :projection-vector, which is not enough fully to specify a camera. It needs to be oriented like a box or any other base-object, so you can twist the view around and make e.g. the 3D :rear direction point to the top of the 2D sheet containing the viewport.
https://gitlab.common-lisp.net/gendl/gendl/-/issues/147Syntax Coloring Problem2017-04-10T15:43:27ZDave CooperSyntax Coloring Problem*Created by: teodor-gelu*
Code colors in GDL 1581 is not the same as in 1580 for example previously the :sequence (:size ... it was pink, now is yellow. In principle the pink is absent ":input-slots, :functions, :computed-slots, :hid...*Created by: teodor-gelu*
Code colors in GDL 1581 is not the same as in 1580 for example previously the :sequence (:size ... it was pink, now is yellow. In principle the pink is absent ":input-slots, :functions, :computed-slots, :hidden-objects, :objects, :type etc."
**Imported comments:**
*By genworks on 2012-02-08 17:14:01 UTC*
Also make Slime mode available for new release, make sure M-. works in both ELI and Slime modes.
*By genworks on 2012-03-13 04:26:41 UTC*
Colors and M-. have been fixed for Franz ELI.
Still have to enable Slime mode, so this issue will remain open until that happens.
*By genworks on 2012-03-14 00:10:20 UTC*
Also please fix colors in *shell* buffer -- directories in directory listings are currently unreadable in there because of the colors.
*By genworks on 2012-03-27 14:13:52 UTC*
For Slime mode, add support for .gdl extension files, as alternative to .lisp.
*By genworks on 2013-01-12 23:49:15 UTC*
These issues have been addressed in latest release. .gdl and .gendl extensions are now supported by Slime, asdf, quicklisp, and cl-lite. https://gitlab.common-lisp.net/gendl/gendl/-/issues/148several objects in geom-base not rendering properly in VRML and X3D2017-04-10T15:43:27ZDave Cooperseveral objects in geom-base not rendering properly in VRML and X3D*Created by: genworks*
Specifically cone, spherical-cap, and global-polygon-projection need to be addressed. Suggest implementing with simple triangular tessellation, rather than trying to use any built-in VRML or X3D shape primitives...*Created by: genworks*
Specifically cone, spherical-cap, and global-polygon-projection need to be addressed. Suggest implementing with simple triangular tessellation, rather than trying to use any built-in VRML or X3D shape primitives.
**Imported comments:**
*By genworks on 2012-03-30 14:48:38 UTC*
X3D and VRML are essentially working now, will close the issue but have to monitor ongoing enhancements in this area. https://gitlab.common-lisp.net/gendl/gendl/-/issues/149gwl:start-gwl does not detect in-use port, crashes if one is already running2017-04-10T15:43:27ZDave Coopergwl:start-gwl does not detect in-use port, crashes if one is already running*Created by: genworks*
If a GDL is running with GWL webserver on e.g. port 9000 already, then a new one will crash when it tries to call gwl:start-gwl. This should detect the running server and roll to the next port (e.g. 9001).
*...*Created by: genworks*
If a GDL is running with GWL webserver on e.g. port 9000 already, then a new one will crash when it tries to call gwl:start-gwl. This should detect the running server and roll to the next port (e.g. 9001).
**Imported comments:**
*By genworks on 2011-11-18 23:24:04 UTC*
This seems to occur only on Linux and Mac, not on Windows.
*By genworks on 2012-02-11 21:18:04 UTC*
Removed :timeout argument to net.aserve.client:do-http-request in gwl:start-gwl. Apparently this argument is not supported in portableaserve. Still seems to be supported in native aserve, so not sure why start-gwl wasn't working in Allegro, but looks like it is now (as well as in LispWorks and SBCL). https://gitlab.common-lisp.net/gendl/gendl/-/issues/150pulldown menus disappear in tasty2017-04-10T15:43:27ZDave Cooperpulldown menus disappear in tasty*Created by: genworks*
A fix for this has been provided by Reinier van Dijk, as well as suggestion to upgrade to JQuery latest (1.6.2, I believe). The fix is in Genworks Support email and needs to be integrated to our tasty/menu code...*Created by: genworks*
A fix for this has been provided by Reinier van Dijk, as well as suggestion to upgrade to JQuery latest (1.6.2, I believe). The fix is in Genworks Support email and needs to be integrated to our tasty/menu code and jquery snapshot here.
**Imported comments:**
*By genworks on 2012-03-30 14:50:03 UTC*
This has been corrected by upgrading to the latest JQuery and plugins. Code from Reinier has not been integrated at this time.