bug in sb-c:convert-mv-bind-to-let introduced in 70f85676b

Bug #1811623 reported by Pouar
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

Seems to be causing this when debug is set to less than 2
The demo they're talking about is loaded with
(ql:quickload :clim-examples) (clim-demo:run-demo 'list-test)
selecting any value but the first one causes it to vanish since commit 70f85676b in SBCL
https://github.com/McCLIM/McCLIM/issues/681
reverting 70f85676b seems to make the problem go away

Revision history for this message
Stas Boukarev (stassats) wrote :

Any test case? Or which function gets broken?

Revision history for this message
Stas Boukarev (stassats) wrote :

Managed to come up with a test case without looking at mcclim, let's see if fixing it will fix mcclim as well.

(funcall (compile nil `(lambda (m)
                         (let ((z (random 44))
                               (j (princ-to-string m)))
                           (multiple-value-bind (x y) (if m
                                                          (values z 2)
                                                          (values j 4))
                             (values x y )))))
         t)
=> "T", 2

Revision history for this message
Stas Boukarev (stassats) wrote :

2d864c2ed67e2a7013896f61720eb4c09382783f

Changed in sbcl:
status: New → Fix Committed
Revision history for this message
Paul F. Dietz (paul-f-dietz) wrote :

I've augmented the random tester with a generator for the mvb/if pattern. I'll see if it causes this bug to expose itself.

(The approach I want to take is writing a macro for specific patterns involved in bugs, especially if the tester missed them. The use of a macro enables special simplification rules to be invoked on that code, if a bug is found.)

Revision history for this message
Pouar (pouar) wrote :

Seems to have fixed it

Stas Boukarev (stassats)
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.