Steel Bank Common Lisp

SB-IMPL::ROUND-BYTES-TO-WORDS inner fixnum assertion

Reported by mon_key on 2011-05-23
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Undecided
Unassigned

Bug Description

RUN-PROGRAM can fail spuriously when given long (on the same order of magnitude as ARRAY-TOTAL-SIZE-LIMIT) argument strings.

Test cases for 32 bit builds with enough memory:
(run-program "/bin/echo" (list (make-array (1- array-total-size-limit)
                                           :element-type 'base-char
                                           :initial-element #\a)))
(run-program "/bin/echo" (list (make-array (- array-total-size-limit 2)
                                           :element-type 'base-char
                                           :initial-element #\a)))

Paul Khuong (pvk) on 2011-05-23
description: updated
Changed in sbcl:
status: New → Confirmed
assignee: nobody → Paul Khuong (pvk)
Paul Khuong (pvk) wrote :

I'll apply this as soon as I figure out what's going on with git and what not (:

Changed in sbcl:
status: Confirmed → In Progress
Paul Khuong (pvk) wrote :

commit edd4f6337f9955c34716ff87a50e4cb20e8a8521
Author: Paul Khuong <email address hidden>
Date: Fri Jun 10 23:33:04 2011 -0400

    Fix a corner case in RUN-PROGRAM with very long argument strings

     Argument string of length on the order of MOST-POSITIVE-FIXNUM
     could lead to severe crashes.

     I don't know why we bothered declaring FIXNUMs in RUN-PROGRAM.

     Also, play with the null termination code a bit, but, really,
     such long strings will only end up failing in the OS.

     Fixes lp#787237

Changed in sbcl:
status: In Progress → Fix Committed
Paul Khuong (pvk) on 2011-06-20
Changed in sbcl:
assignee: Paul Khuong (pvk) → nobody
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers