Opened 2 months ago

Closed 2 months ago

#1643 closed defect (invalid)

Crash in csi "report"

Reported by: felix winkelmann Owned by:
Priority: major Milestone: 5.2
Component: core tools Version: 5.1.0
Keywords: Cc:
Estimated difficulty: hard

Description

Running csi 5.1.1 (29b3d6113985e2f110698d8ab7f398f51a88a819, debugbuild) I get the following:

CHICKEN
(c) 2008-2019, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 5.1.1 (rev 29b3d611)
openbsd-unix-gnu-x86-64 [ 64bit dload ptables ]

#;1> ,r
Features:

  64bit             chicken           chicken-5
  chicken-5.1       csi               dload
  full-numeric-tower                  gnu
  little-endian     openbsd           ptables
  srfi-0            srfi-11           srfi-12
  srfi-15           srfi-16           srfi-17
  srfi-2            srfi-23           srfi-26
  srfi-28           srfi-30           srfi-31
  srfi-39           srfi-46           srfi-55
  srfi-6            srfi-6            srfi-61
  srfi-62           srfi-8            srfi-88
  srfi-9            unix              x86-64
[panic] Low-level type assertion C_fixnump(C_VAL1(t2))=#t failed at csi.c:5877 - execution terminated

...more...
csi.scm:473: printf
csi.scm:484: scheme#make-string
csi.scm:484: scheme#display
csi.scm:471: g1088
csi.scm:473: printf
csi.scm:481: scheme#display
csi.scm:502: chicken.platform#machine-type
csi.scm:503: chicken.platform#feature?
csi.scm:504: chicken.platform#software-type
csi.scm:505: chicken.platform#software-version
csi.scm:506: chicken.platform#build-platform
csi.scm:508: chicken.platform#installation-repository
csi.scm:509: chicken.platform#repository-path
csi.scm:511: chicken.base#keyword-style
csi.scm:511: chicken.keyword#keyword->string
csi.scm:512: shorten    <--

Here seems to be the assertion failure:

/* shorten in k5080 in k5077 in k5074 in a5071 in k5068 in chicken.csi#report in k5059 in k4914 in k4270 in k3927 in k3845 in k3842 in k3837 in k2547 in k2544 in k2541 in k2538 in k2535 in k2532 in k2529 in k2526 in ... */
static void C_fcall f_5084(C_word t1,C_word t2){
C_word tmp;
C_word t3;
C_word t4;
C_word t5;
C_word *a;
if(C_unlikely(!C_demand(C_calculate_demand(3,0,2)))){
C_save_and_reclaim_args((void *)trf_5084,2,t1,t2);}
a=C_alloc(3);
t3=(*a=C_CLOSURE_TYPE|2,a[1]=(C_word)f_5092,a[2]=t1,tmp=(C_word)a,a+=3,tmp);
t4=C_fixnum_times(t2,C_fix(100));          /* <--- */
C_trace(C_text("csi.scm:467: scheme#truncate"));
t5=*((C_word*)lf[114]+1);{
C_word av2[3];
av2[0]=t5;
av2[1]=t3;
av2[2]=t4;
((C_proc)(void*)(*((C_word*)t5+1)))(3,av2);}}

Element #0 of the symtable info is aflonum, so apparently here is
an optimization going wwong by assuming shorten is only called on
fixnums.

Change History (2)

comment:1 Changed 2 months ago by felix winkelmann

Hm... after building several versions I can't reproduce this bug anymore, possibly due to some build debris. I keep this open for a short while and if no one else reports any problems, I'll close the ticket.

comment:2 Changed 2 months ago by felix winkelmann

Resolution: invalid
Status: newclosed
Note: See TracTickets for help on using tickets.