Ticket #868 (closed defect: fixed)
Random whacky behaviour (memory corruption?)
| Reported by: | dfindlay | Owned by: | gb |
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Runtime (threads, GC) | Version: | 1.6 |
| Keywords: | Cc: |
Description
On moving a Lisp application to a newer Linux box, we get random, whacky behaviour. This is demonstrated by the following file:
=== process-test.lisp ===
(in-package :cl-user)
(defun big-sum (n)
(let ((total n))
(dotimes (i n total)
(incf total i))))
(defun test ()
(ccl:process-run-function "25" #'big-sum 250000000)
(ccl:process-run-function "26" #'big-sum 260000000)
(ccl:process-run-function "27" #'big-sum 270000000)
(ccl:process-run-function "28" #'big-sum 280000000))
and session transcript:
$ uname -a Linux startle 2.6.32-30-generic #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011 i686 GNU/Linux $ ccl Welcome to Clozure Common Lisp Version 1.6 (LinuxX8632)! ? (load "process-test.lisp") #P"/home/startle/startle/process-test.lisp" ? (test) #<PROCESS 28(5) [Reset] #x1828FA76> ? > Error: Fault during read of memory address #x634 > While executing: CCL::*-2, in process 26(3). ;;; ;;; #<PROCESS 26(3) [Active] #x182901B6> requires access to Shared Terminal Input ;;; Type (:y 3) to yield control to this thread. ;;; > Error: value #<BOGUS object @ #x284E4729> is not of the expected type NUMBER. > While executing: CCL::+-2, in process 27(4). ;;; ;;; #<PROCESS 27(4) [Active] #x1828FE16> requires access to Shared Terminal Input ;;; Type (:y 4) to yield control to this thread. ;;; > Error: value #<Unprintable CCL::IMMEDIATE : #x34D0C3> is not of the expected type NUMBER. > While executing: CCL::*-2, in process 28(5). ;;; ;;; #<PROCESS 28(5) [Active] #x1828FA76> requires access to Shared Terminal Input ;;; Type (:y 5) to yield control to this thread. ;;;
The exact error messages are variable. Above transcript from x86 Ubuntu 10.04 box; similar behaviour from x86 Centos 5.6. However, x86 Centos 5.3 (and earlier) does not show this, nor does Darwin/PPC (CCL 1.4).
Change History
Note: See
TracTickets for help on using
tickets.
