-
Notifications
You must be signed in to change notification settings - Fork 49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash in DRAW
statement on type mismatch in linked variable
#208
Comments
Thanks for reporting! This is indeed a bug as it should not crash. Note (perhaps needless to say) that this program won't run even if the bug is fixed, as the variables linked in |
DRAW
statement on type mismatch in linked variable
Thank you for the fast response. Change the variables to numeric works. I'm using PC-Basic to learn the DRAW statement instead other basic interpreter in a DOS VM or DOS emulator to honor this project and help to find bugs. My intent is to implement something like DRAW in a modern environment, perhaps in a game engine. And thank you to keep this memory of the good old times of PC history. |
Fixed by bb2af3b |
Hello
Bug report
Problem
Trying to run a program with DRAW statement
Steps
Program
05 SCREEN 2
07 S1$="60"
09 S2$="120"
10 D$ = "F=S1$; L=S2$; E=S1$; BD30 P1,2 BU30 E=S1$; L=S2$; F=S1$; BU30 P1,2"
20 DRAW "X" + VARPTR$(D$)
Crash log
PC-BASIC crash log
FATAL ERROR
version 2.0.6 [v2.0.6 08b78d7 2022-08-03 21:43:38.265384]
python 3.7.9 [32bit WindowsPE] True
platform Windows-10-10.0.22000
interface VideoSDL2, AudioSDL2
statement 20 DRAW "X" + VARPTR$(D$)
graphics.py:1007, draw_
graphics.py:1030, _draw
graphics.py:1068, _draw
mlparser.py:43, parse_number
AttributeError: 'String' object has no attribute 'to_int'
This is a bug in PC-BASIC.
Sorry about that. You can help improve PC-BASIC:
Please file a bug report, including this message and the steps you took
just before the crash. Go to:
https://github.com/robhagemans/pcbasic/issues
Please include the full crash log in your report.
You can paste it from the clipboard or from the file at:
C:\Users\arthu\AppData\Roaming\pcbasic-2.0\crash-20220812-98iwn6bg.log
Traceback (most recent call last):
File "C:\pc-basic\pcbasic\guard.py", line 41, in protect
File "C:\pc-basic\pcbasic\main.py", line 105, in run_session
File "C:\pc-basic\pcbasic\basic\api.py", line 149, in interact
File "C:\pc-basic\pcbasic\basic\implementation.py", line 313, in interact
File "C:\pc-basic\pcbasic\basic\interpreter.py", line 124, in loop
File "C:\pc-basic\pcbasic\basic\interpreter.py", line 114, in parse
File "C:\pc-basic\pcbasic\basic\parser\statements.py", line 82, in parse_statement
File "C:\pc-basic\pcbasic\basic\display\graphics.py", line 1007, in draw
File "C:\pc-basic\pcbasic\basic\display\graphics.py", line 1030, in _draw
File "C:\pc-basic\pcbasic\basic\display\graphics.py", line 1068, in _draw
File "C:\pc-basic\pcbasic\basic\mlparser.py", line 43, in parse_number
AttributeError: 'String' object has no attribute 'to_int'
==== Screen Pages ==================================================================================
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | 1LIST 2RUN� 3LOAD" 4SAVE" 5CONT� 6,"LPT1 7TRON� 8TROFF� 9KEY 0SCREEN| 80
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | | 0
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | | 0
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | | 0
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | | 0
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | | 0
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | | 0
+--------------------------------------------------------------------------------+
+--------------------------------------------------------------------------------+
0 | | 0
1 | | 0
2 | | 0
3 | | 0
4 | | 0
5 | | 0
6 | | 0
7 | | 0
8 | | 0
9 | | 0
10 | | 0
11 | | 0
12 | | 0
13 | | 0
14 | | 0
15 | | 0
16 | | 0
17 | | 0
18 | | 0
19 | | 0
20 | | 0
21 | | 0
22 | | 0
23 | | 0
24 | | 0
+--------------------------------------------------------------------------------+
==== Scalars =======================================================================================
b'S1$': b'$'[b'027f12' b'60']
b'S2$': b'$'[b'038c12' b'120']
b'D$': b'$'[b'429b12' b'F=S1$; L=S2$; E=S1$; BD30 P1,2 BU30 E=S1$; L=S2$; F=S1$; BU30 P1,2']
==== Arrays ========================================================================================
==== Strings =======================================================================================
fdfa: bytearray(b'\x03\x07\x13')
fdf6: bytearray(b'X\x03\x07\x13')
==== Program Buffer ================================================================================
00 7612 (+008) 0500 [00005] c820130083120700533124e7223630220091120900533224e7223132302200df120a00442420e72022463d5331243b204c3d5332243b20453d5331243b20424433302050312c32204255333020453d5331243b204c3d5332243b20463d5331243b20425533302050312c322200f3121400fe922022582220e920da2428442429000000
00 8312 (+013) 0700 [00007] 533124e7223630220091120900533224e7223132302200df120a00442420e72022463d5331243b204c3d5332243b20453d5331243b20424433302050312c32204255333020453d5331243b204c3d5332243b20463d5331243b20425533302050312c322200f3121400fe922022582220e920da2428442429000000
00 9112 (+014) 0900 [00009] 533224e7223132302200df120a00442420e72022463d5331243b204c3d5332243b20453d5331243b20424433302050312c32204255333020453d5331243b204c3d5332243b20463d5331243b20425533302050312c322200f3121400fe922022582220e920da2428442429000000
00 df12 (+078) 0a00 [00010] 442420e72022463d5331243b204c3d5332243b20453d5331243b20424433302050312c32204255333020453d5331243b204c3d5332243b20463d5331243b20425533302050312c322200f3121400fe922022582220e920da2428442429000000
00 f312 (+020) 1400 [00020] fe922022582220e920da2428442429000000
00 0000 (ENDS)
==== Program =======================================================================================
5 SCREEN 2
7 S1$="60"
9 S2$="120"
10 D$ = "F=S1$; L=S2$; E=S1$; BD30 P1,2 BU30 E=S1$; L=S2$; F=S1$; BU30 P1,2"
20 DRAW "X" + VARPTR$(D$)
==== Options =======================================================================================
[
Notes
PC-BASIC version: as above
Operating system version: Windows 11 21H2
The text was updated successfully, but these errors were encountered: