From cmucl-devel at common-lisp.net Mon Dec 1 15:56:52 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Mon, 01 Dec 2008 15:56:52 -0000 Subject: [cmucl-ticket] [cmucl] #25: Compiler bug Message-ID: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> #25: Compiler bug ----------------------+----------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2008-11 Keywords: compiler | ----------------------+----------------------------------------------------- Reported on cmucl-imp, 2008-10-31 {{{ (declaim (optimize (speed 0) (safety 3) (debug 3))) (defun test-pop-and-return () (loop (pop *random-stack*) (return))) }}} When compiled, this causes an internal compiler error from {{{STACK- ANALYZE}}}. The error happens because {{{NODE-PREV}}} returns {{{NIL}}} instead of a node. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Mon Dec 1 15:58:26 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Mon, 01 Dec 2008 15:58:26 -0000 Subject: [cmucl-ticket] [cmucl] #25: Compiler bug In-Reply-To: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> References: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> Message-ID: <061.7ba6402c4c04f67745913d7a6d66c64b@common-lisp.net> #25: Compiler bug ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2008-11 Resolution: | Keywords: compiler ---------------------+------------------------------------------------------ Comment(by rtoy): A related bug {{{ (defun foo2 () (catch (make-symbol "CMUCL-DEBUG-CATCH-TAG") (make-string 49))) }}} Same results: {{{STACK-ANALYZE}}} crashes because {{{NODE-PREV}}} is {{{NIL}}}. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Mon Dec 1 21:23:42 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Mon, 01 Dec 2008 21:23:42 -0000 Subject: [cmucl-ticket] [cmucl] #26: slto-value type check Message-ID: <052.f79cfae5cd7dd9bddef656b46c384fc0@common-lisp.net> #26: slto-value type check --------------------+------------------------------------------------------- Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: Component: Core | Version: 2008-11 Keywords: pcl | --------------------+------------------------------------------------------- From cmucl-help, 2008-11-26 {{{ (defclass foo () ((a :type fixnum))) (defvar *object* (make-instance 'foo)) }}} This works, even though the assigned value is not a fixnum: {{{ (setf (slot-value *object* 'a) 3.5) ;; this works like a charm }}} but with {{{ (defmethod setslot ((foo foo) val) (setf (slot-value foo 'a) val)) }}} We have {{{ (setslot *object* 3.5) ;; triggers a type error }}} -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Mon Dec 1 21:25:16 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Mon, 01 Dec 2008 21:25:16 -0000 Subject: [cmucl-ticket] [cmucl] #26: slot-value type check (was: slto-value type check) In-Reply-To: <052.f79cfae5cd7dd9bddef656b46c384fc0@common-lisp.net> References: <052.f79cfae5cd7dd9bddef656b46c384fc0@common-lisp.net> Message-ID: <061.f372d82037442df966a6d87b36b466fa@common-lisp.net> #26: slot-value type check ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: rtoy Type: defect | Status: new Priority: minor | Milestone: Component: PCL | Version: 2008-11 Resolution: | Keywords: pcl ---------------------+------------------------------------------------------ Changes (by rtoy): * owner: somebody => rtoy * component: Core => PCL -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Fri Dec 5 01:36:32 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Fri, 05 Dec 2008 01:36:32 -0000 Subject: [cmucl-ticket] [cmucl] #25: Compiler bug In-Reply-To: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> References: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> Message-ID: <061.837e4b8d20d6a2cfd179fc94e3c0c502@common-lisp.net> #25: Compiler bug ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2008-11 Resolution: | Keywords: compiler ---------------------+------------------------------------------------------ Comment(by rtoy): Replying to [comment:1 rtoy]: Correction: {{{ (declaim (optimize (safety 3))) (defun foo2 () (catch (make-symbol "CMUCL-DEBUG-CATCH-TAG") (make-string 49))) }}} There's no problem if safety < 3. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Fri Dec 5 01:57:40 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Fri, 05 Dec 2008 01:57:40 -0000 Subject: [cmucl-ticket] [cmucl] #25: Compiler bug In-Reply-To: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> References: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> Message-ID: <061.9615f654e91aa90525a04eb5a5b670a9@common-lisp.net> #25: Compiler bug ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2008-11 Resolution: | Keywords: compiler ---------------------+------------------------------------------------------ Comment(by rtoy): Both of these should be fixed in the 2008-12 snapshot. I think the compiler was trying not to delete dead code when SAFETY = 3, but was erroneous linking continuations together. Now we do nothing in this case. The dead code remains and is executed and the results are never used. The above examples work fine, and the case of {{{(progn (fboundp 42) t)}}} still works (fboundp triggers an error instead of being deleted as dead code.) -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Fri Dec 5 01:58:52 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Fri, 05 Dec 2008 01:58:52 -0000 Subject: [cmucl-ticket] [cmucl] #15: x86 double-float issue In-Reply-To: <052.1ce147a6f2b867130333f0c0ed453fd4@common-lisp.net> References: <052.1ce147a6f2b867130333f0c0ed453fd4@common-lisp.net> Message-ID: <061.7f0f2b0d7d510b34b3f9259d2a155a67@common-lisp.net> #15: x86 double-float issue ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: Component: Core | Version: 19d Resolution: | Keywords: ---------------------+------------------------------------------------------ Comment(by rtoy): This should be fixed in the 2008-12 snapshot when sse2 is used. This issue will remain for x87; we have no intention of fixing this. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Fri Dec 5 02:01:31 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Fri, 05 Dec 2008 02:01:31 -0000 Subject: [cmucl-ticket] [cmucl] #21: Modular arith bug 3 In-Reply-To: <052.28fd057372711ced4e99e8181c821317@common-lisp.net> References: <052.28fd057372711ced4e99e8181c821317@common-lisp.net> Message-ID: <061.d424c70d07f88ff635e99ba07904b691@common-lisp.net> #21: Modular arith bug 3 ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: new Priority: minor | Milestone: Component: Core | Version: 2008-08 Resolution: | Keywords: ---------------------+------------------------------------------------------ Comment(by rtoy): This should be fixed in the 2008-12 snapshot. We now delay {{{logand-defopt-helper}}}until after {{{IR2}}} optimizations are done so that we give the compiler a chance to derive all of the variable types. Then we run this optimizer. This will cause some increase in compilation time for code that deals with modular arithmetic, but we should get better behaved modular arithmetic. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Thu Dec 11 14:04:03 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Thu, 11 Dec 2008 14:04:03 -0000 Subject: [cmucl-ticket] [cmucl] #15: x86 double-float issue In-Reply-To: <052.1ce147a6f2b867130333f0c0ed453fd4@common-lisp.net> References: <052.1ce147a6f2b867130333f0c0ed453fd4@common-lisp.net> Message-ID: <061.754691412c48b7aa50aa714afcfb78aa@common-lisp.net> #15: x86 double-float issue ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: minor | Milestone: Component: Core | Version: 19d Resolution: fixed | Keywords: ---------------------+------------------------------------------------------ Changes (by rtoy): * status: new => closed * resolution: => fixed -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Thu Dec 11 14:04:49 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Thu, 11 Dec 2008 14:04:49 -0000 Subject: [cmucl-ticket] [cmucl] #21: Modular arith bug 3 In-Reply-To: <052.28fd057372711ced4e99e8181c821317@common-lisp.net> References: <052.28fd057372711ced4e99e8181c821317@common-lisp.net> Message-ID: <061.fc426d7f0f3a2584e3650460bc1e1a5b@common-lisp.net> #21: Modular arith bug 3 ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: minor | Milestone: Component: Core | Version: 2008-08 Resolution: fixed | Keywords: ---------------------+------------------------------------------------------ Changes (by rtoy): * status: new => closed * resolution: => fixed -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Thu Dec 11 14:06:19 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Thu, 11 Dec 2008 14:06:19 -0000 Subject: [cmucl-ticket] [cmucl] #25: Compiler bug In-Reply-To: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> References: <052.668dbdeb1866e9413153eb75b0295e21@common-lisp.net> Message-ID: <061.5fae71bb29b7dc9b9389011782001400@common-lisp.net> #25: Compiler bug ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: somebody Type: defect | Status: closed Priority: major | Milestone: Component: Core | Version: 2008-11 Resolution: fixed | Keywords: compiler ---------------------+------------------------------------------------------ Changes (by rtoy): * status: new => closed * resolution: => fixed -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Thu Dec 11 14:09:47 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Thu, 11 Dec 2008 14:09:47 -0000 Subject: [cmucl-ticket] [cmucl] #26: slot-value type check In-Reply-To: <052.f79cfae5cd7dd9bddef656b46c384fc0@common-lisp.net> References: <052.f79cfae5cd7dd9bddef656b46c384fc0@common-lisp.net> Message-ID: <061.25087ffabb82d1b1c95abdb12ef6d3ca@common-lisp.net> #26: slot-value type check ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: rtoy Type: defect | Status: closed Priority: minor | Milestone: Component: PCL | Version: 2008-11 Resolution: fixed | Keywords: pcl ---------------------+------------------------------------------------------ Changes (by rtoy): * status: new => closed * resolution: => fixed Comment: This is now fixed in the 2008-12 snapshot. (setf slot-value) should now signal an error if the new value is not of the correct type. Note that not all cases are handled now, but the common case from the repl works. {{{pcl::*use-slot-types-p*}}} is also honored in that if it is {{{NIL}}}, the checking is disabled. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Thu Dec 11 14:13:28 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Thu, 11 Dec 2008 14:13:28 -0000 Subject: [cmucl-ticket] [cmucl] #23: [cmucl-help] Spurious compilation diagnostic? In-Reply-To: <052.d17780a6f9eea09c03f41d91541abbe2@common-lisp.net> References: <052.d17780a6f9eea09c03f41d91541abbe2@common-lisp.net> Message-ID: <061.78cc136100efe9fa34ea5a34a96f54a7@common-lisp.net> #23: [cmucl-help] Spurious compilation diagnostic? ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: rtoy Type: defect | Status: assigned Priority: minor | Milestone: Component: Core | Version: 2008-09 Resolution: | Keywords: ---------------------+------------------------------------------------------ Changes (by rtoy): * owner: somebody => rtoy * status: new => assigned Comment: I think there are two possible options: 1. Stick an inhibit-warnings in the stream-dispatch macro 2. Define dummy versions of the undefined functions, which will get replaced when Gray streams or simple-streams are loaded. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Thu Dec 18 16:10:25 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Thu, 18 Dec 2008 16:10:25 -0000 Subject: [cmucl-ticket] [cmucl] #27: Trace bug on Darwin/x86 Message-ID: <052.a58771f47b3498d07ff316a191574f35@common-lisp.net> #27: Trace bug on Darwin/x86 --------------------+------------------------------------------------------- Reporter: rtoy | Owner: rtoy Type: defect | Status: new Priority: major | Milestone: Component: Core | Version: 2008-11 Keywords: | --------------------+------------------------------------------------------- This bit of code causes a bug in tracing on Darwin/x86: {{{ (defun call-fact-acc (x) (let ((r (multiple-value-list (fact-acc x)))) (values-list r))) (defun fact-acc (x) (labels ((f (x accum) (if (zerop x) accum (f (1- x) (* x accum))))) (f x 1))) (trace fact-acc) }}} Then {{{(call-fact-acc 4)}}} causes a segfault and you can't even get back to the repl. This bug is fixed in CVS, but I'm recording this simple test case here. -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Thu Dec 18 16:10:52 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Thu, 18 Dec 2008 16:10:52 -0000 Subject: [cmucl-ticket] [cmucl] #27: Trace bug on Darwin/x86 In-Reply-To: <052.a58771f47b3498d07ff316a191574f35@common-lisp.net> References: <052.a58771f47b3498d07ff316a191574f35@common-lisp.net> Message-ID: <061.2da8e6d91145fc13ce840c1e6b54b1f5@common-lisp.net> #27: Trace bug on Darwin/x86 ---------------------+------------------------------------------------------ Reporter: rtoy | Owner: rtoy Type: defect | Status: closed Priority: major | Milestone: Component: Core | Version: 2008-11 Resolution: fixed | Keywords: ---------------------+------------------------------------------------------ Changes (by rtoy): * status: new => closed * resolution: => fixed -- Ticket URL: cmucl cmucl From cmucl-devel at common-lisp.net Tue Dec 23 03:37:50 2008 From: cmucl-devel at common-lisp.net (cmucl) Date: Tue, 23 Dec 2008 03:37:50 -0000 Subject: [cmucl-ticket] [cmucl] #28: Need to stop command switch processing at -- Message-ID: <055.3e9623cd61136aefe72d65ae508a23b3@common-lisp.net> #28: Need to stop command switch processing at -- -------------------------+-------------------------------------------------- Reporter: frideau | Owner: rtoy Type: enhancement | Status: new Priority: minor | Milestone: Component: Core | Version: 2008-11 Keywords: | -------------------------+-------------------------------------------------- So that it be possible for a wrapper script to call a safe cmucl application with user arguments that are not processed by process-command- strings but by the application code, without opening a backdoor whereby malicious users can use -eval in their arguments, I'd like the code in code/commandline.lisp to stop evaluation of switches when it reaches the standard marker "--". This would notably simplify the cl-launch wrapper's support for cmucl. Currently, it has to first create a setf form from the shell to initialize the lisp's *arguments* from within an -eval form. -- Ticket URL: cmucl cmucl