kevinlawler / kona

Open-source implementation of the K programming language
ISC License
1.36k stars 138 forks source link

Case 730 for issue 468 #586

Closed tavmem closed 3 years ago

tavmem commented 4 years ago

730 --- 17 `000!000-&1% 00 0 Segmentation fault (core dumped)

tavmem commented 4 years ago

In k2.8

$ rlwrap -n ~/k2.8/k
K 2.8 2000-10-10 Copyright (C) 1993-2000 Kx Systems
Evaluation. Not for commercial use. 
\ for help. \\ to exit.

  \l chk
730 --- 17
`000!000-&1% 00 0
rtn code: 1 - int
tavmem commented 4 years ago

A 4-character command string with the same error:

$ rlwrap -n ~/k2.8/k
K 2.8 2000-10-10 Copyright (C) 1993-2000 Kx Systems
Evaluation. Not for commercial use. 
\ for help. \\ to exit.

  &1%0
int error
&1%0
^
>
tavmem commented 4 years ago

The problem ... in k2.8:

$ rlwrap -n ./k
K 2.8 2000-10-10 Copyright (C) 1993-2000 Kx Systems
Evaluation. Not for commercial use. 
\ for help. \\ to exit.

  1%0
0i
  1 % 0 0 
0i 0i

In kona:

$ rlwrap -n ./k
kona      \ for help. \\ to exit.

  1%0
0i
  1 % 0 0
9218868437227405312 9218868437227405312
tavmem commented 4 years ago

Maybe, more egregious ... in k2.8

$ rlwrap -n ./k
K 2.8 2000-10-10 Copyright (C) 1993-2000 Kx Systems
Evaluation. Not for commercial use. 
\ for help. \\ to exit.

  6 % 3
2.0
  6 % 3 2
2 3.0

in kona

$ rlwrap -n ./k
kona      \ for help. \\ to exit.

  6 % 3
2.0
  6 % 3 2
4611686018427387904 4613937818241073152
tavmem commented 4 years ago

The result was incorrect (should be floats) through commit 90df98455b91bf6128fde9b77c20eab07ae0f915

$ rlwrap -n ./k
kona      \ for help. \\ to exit.

  6 % 3
2
  6 % 3 2
2 3

It was then completely broken by commit 39fec539ba0aa07f1f3de0288f7c1eb5dbefc3c1

$ rlwrap -n ./k
kona      \ for help. \\ to exit.

  6 % 3
2.0
  6 % 3 2
4611686018427387904 4613937818241073152
tavmem commented 4 years ago

As a first step ... reverse out the changes for commit 39fec539ba0aa07f1f3de0288f7c1eb5dbefc3c1

tavmem commented 3 years ago

Testing the current version (as of 10/9/20) ... all problems seem to be resolved

$ rlwrap -n ./k
kona      \ for help. \\ to exit.

  `000!000-&1% 00 0
int error
>  \

  &1%0
int error
>  \

  1 % 0 0
0I 0I

  6 % 3 2
2 3

Closing this issue.