Menu

Recreate attempts of Windows 7 Intermittent Crashes

2016-06-07
2016-07-24
  • Kenneth Wayne Boyd

    I spent a few minutes today seeing if I could narrow down a sequence that will recreate the ocassional crashes.
    Using the released version (15.08.8) I got 4 crashes out of 5 attempts.
    I then switched to the development environment running 16.05.dev0 and I got 1 crash out of 1 attempt.
    Since the development environment doesn't seem to be intimately involved in obvious permission issues in Windows 7, it may lower the probability of that hypothesis. Let me know if you would like me to get more information in the development environment.

    I've documented all my attempts in the attached PDF file.

    Some of the details of the crash on 16.05.dev0 are below via cut and paste.

    DEV-A:16.05.dev0 Attempt 1.5 : Crash
    Started
    Moved screen to left screen
    Load “evronnunc.bas”
    File not found
    Files
    [copied BAS programs to directory]
    Files
    Load “evronuc.bas”
    Run
    [Enter][Enter]
    screen 0,0,0
    Screen 0
    Screen 1
    Screen 0
    load “evronwrd.bas”
    Run
    CRASH
    Python.exe has stopped working
    A problem caused the program to stop working correctly.
    Windows will close the program and notify you if a solution is available.

    EVRONWRD.BAS

    Oops, I forgot this was a "binary" file. But it's the one I used, so here it is.


    ffe8 0d0a 008f 2020 2020 2020 2020 2020
    2020 2020 2020 2020 2020 2020 2020 2045
    7665 7220 4f6e 7761 7264 00f0 0d14 003a
    8fd9 003f 0e1e 003a 8fd9 2020 2054 6865
    2066 6f6c 6c6f 7769 6e67 2077 6173 2074
    616b 656e 2066 726f 6d20 7468 6520 696e
    7369 6465 2063 6f76 6572 206f 6620 7468
    6520 7368 6565 7420 6d75 7369 6320 666f
    7200 6a0e 2800 3a8f d920 2020 4576 6572
    204f 6e77 6172 642c 2054 6865 2049 424d
    2052 616c 6c79 2053 6f6e 672e 0072 0e32
    003a 8fd9 00bf 0e3c 003a 8fd9 2020 2254
    6865 2049 424d 2072 616c 6c79 2073 6f6e
    672c 2045 7665 7220 4f6e 7761 7264 2c20
    7761 7320 7772 6974 7465 6e20 696e 2031
    3933 3120 6279 2049 424d 6572 2046 7265
    6400 110f 4600 3a8f d920 2020 5461 7070
    652e 2020 5468 6973 2072 6f75 7369 6e67
    206e 756d 6265 7220 7761 7320 6f6e 6c79
    206f 6e65 206f 6620 6d61 6e79 2073 6f6e
    6773 2077 7269 7474 656e 2061 6e64 2073
    756e 6700 5e0f 5000 3a8f d920 2020 6279
    2074 6865 2063 6f6d 7061 6e79 2773 206d
    6172 6b65 7469 6e67 2072 6570 7265 7365
    6e74 6174 6976 6573 2c20 7374 7564 656e
    7473 2c20 6d61 6e61 6765 7273 2061 6e64
    009e 0f5a 003a 8fd9 2020 2065 6d70 6c6f
    7965 6573 2077 6865 6e65 7665 7220 7468
    6579 2067 6174 6568 6572 6564 2066 6f72
    2067 726f 7570 206d 6565 7469 6e67 732e
    00a6 0f64 003a 8fd9 00f2 0f6e 003a 8fd9
    2020 2244 7572 696e 6720 7468 6520 3530
    2773 2061 6e64 2036 3027 732c 2063 6861
    6e67 696e 6720 736f 6369 616c 2065 6d70
    6861 7369 7320 7072 6563 6970 6974 6174
    6564 2061 0042 1078 003a 8fd9 2020 2064
    6563 6c69 6e65 2069 6e20 6772 6f75 7020
    7369 6e67 696e 672e 2020 5468 6520 6c79
    7269 6373 2077 6572 6520 7265 7772 6974
    7465 6e20 696e 2031 3935 3820 616e 6420
    7375 6e67 0095 1082 003a 8fd9 2020 206d
    6169 6e6c 7920 6279 206d 6172 6b65 7469
    6e67 2073 7475 6465 6e74 7320 696e 2049
    424d 2073 6368 6f6f 6c73 2e20 2042 7574
    2074 6865 2063 6f6d 7061 6e79 2073 696e
    672d 616c 6f6e 6700 e310 8c00 3a8f d920
    2020 6861 7320 636f 6e74 696e 7565 6420
    6974 7320 7374 6561 6479 2064 6563 6c69
    6e65 3b20 2074 6f64 6179 2074 6865 2073
    7472 6169 6e73 206f 6620 4576 6572 204f
    6e77 6172 6400 3411 9600 3a8f d920 2020
    6563 686f 206f 6e6c 7920 6f6e 206f 6c64
    2066 696c 6d20 736f 756e 6474 7261 636b
    7320 696e 2074 6865 2063 6f6d 7061 6e79
    2773 2061 7263 6869 7665 7320 616e 6420
    696e 2074 6865 005c 11a0 003a 8fd9 2020
    206d 656d 6f72 6965 7320 6f66 206c 6f6e
    6774 696d 6520 4942 4d65 7273 2e22 0064
    11aa 003a 8fd9 00c9 11b4 003a 8fd9 2020
    2054 6869 7320 6172 7261 6e67 656d 656e
    7420 666f 7220 4942 4d20 5043 2077 6173
    2064 6f6e 6520 6279 2057 2e20 452e 2053
    6368 6d69 7474 2c20 4942 4d20 4368 6172
    6c6f 7474 6520 3139 3832 3b20 7469 6520
    382d 3437 342d 3335 3131 2e00 d111 be00
    3a8f d900 d711 c800 c000 df11 d200 c920
    dd00 eb11 dc00 9120 d20f 1929 3b00 f611
    e600 bf20 0f10 2c18 000a 12f0 0091 2022
    4556 4552 204f 4e57 4152 4422 0014 12fa
    00bf 2018 2c18 001a 1204 0191 0051 120e
    0191 20d2 0f0a 293b 2254 6865 2049 424d
    2052 616c 6c79 2073 6f6e 672c 2077 7269
    7474 656e 2062 7920 4672 6564 2054 6170
    7065 2200 8312 1801 9120 d20f 0a29 3b22
    4172 7261 6e67 6564 2066 6f72 2049 424d
    2050 4320 6279 2057 2e20 452e 2053 6368
    6d69 7474 2200 a212 2201 9120 d20f 1d29
    3b22 2020 2020 4942 4d20 4368 6172 6c6f
    7474 6522 00a8 122c 0191 00f1 1236 0157
    4f52 4453 3124 e722 5468 6572 6527 7320
    6120 6665 656c 696e 6720 6576 2772 7920
    7768 6572 6520 6f66 2062 6967 6765 7220
    7468 696e 6773 2069 6e20 7374 6f72 6520
    2d2d 2200 2113 4001 574f 5244 5332 24e7
    224f 6620 6e65 7720 686f 7269 7a6f 6e73
    2063 6f6d 696e 6720 696e 746f 2076 6965
    772e 2200 5313 4a01 4c49 4e45 3124 e722
    6f33 6d6e 7431 3630 6c34 6262 386f 3464
    6438 6f33 6767 3862 6238 6565 3865 6538
    6d6c 652e 2200 7f13 5401 4c49 4e45 3224
    e722 6d6e 6565 3866 2365 3864 6538 6623
    6738 6161 2338 6d6c 622e 622e 6d6e 622e
    2200 c613 5e01 574f 5244 5333 24e7 224f
    7572 2061 696d 2069 7320 636c 6561 7220
    546f 206d 616b 6520 6561 6368 2079 6561
    7220 6578 6365 6564 2074 6865 206f 6e65
    2062 6566 6f72 6522 00fd 1368 0157 4f52
    4453 3424 e722 5374 6179 696e 6720 696e
    2074 6865 206c 6561 6420 696e 2065 7627
    7279 7468 696e 6720 7765 2064 6f2e 2200
    2714 7201 4c49 4e45 3324 e722 642e 6262
    386f 3464 6438 6f33 6767 3862 6238 6565
    3865 6538 6d6c 652e 2200 5314 7c01 4c49
    4e45 3424 e722 6d6e 6566 3866 2365 3864
    6538 6623 6738 6162 386d 6c67 2e67 2e67
    2e6d 6e67 2200 9a14 8601 574f 5244 5335
    24e7 2254 6865 2077 696c 6c20 746f 2077
    696e 2069 7320 6275 696c 7420 7269 6768
    7420 696e 2049 7420 7769 6c6c 206e 6f74
    2062 6520 6465 6e69 6564 2e22 00de 1490
    0157 4f52 4453 3624 e722 416e 6420 7765
    2077 696c 6c20 676f 2061 6865 6164 2077
    6520 6b6e 6f77 2062 7920 776f 726b 696e
    6720 7369 6465 2062 7920 7369 6465 2e22
    0011 159a 014c 494e 4535 24e7 2267 3866
    2366 2338 6161 386f 3464 6438 6f33 6161
    3866 2366 2338 6161 386f 346d 6c64 2e6d
    6e64 2200 3b15 a401 4c49 4e45 3624 e722
    6f34 6438 6464 3864 6438 6464 3864 6438
    6463 386f 3361 6623 3864 322e 2200 6215
    ae01 574f 5244 5337 24e7 2245 7665 7220
    4f6e 7761 7264 2c20 4576 6572 204f 6e77
    6172 6422 008d 15b8 014c 494e 4537 24e7
    226f 336d 6e74 3136 306c 3464 2e65 2e66
    232e 672e 6623 2e67 2e67 232e 612e 2200
    ce15 c201 574f 5244 5338 24e7 2254 6861
    7427 7320 7468 6520 7370 6972 6974 2074
    6861 7420 6861 7320 6272 6f75 6768 7420
    7573 2066 616d 6520 2d2d 2d2d 2d2d 2d22
    00f1 15cc 014c 494e 4538 24e7 2267 6138
    6267 3861 6238 6167 3865 2e6d 6c65 2e6d
    6e65 2200 1f16 d601 574f 5244 5339 24e7
    2257 6527 7265 2062 6967 2062 7574 2062
    6967 6765 7220 7765 2077 696c 6c20 6265
    2200 3e16 e001 4c49 4e45 3924 e722 6538
    6423 6538 6766 2338 6623 6638 6623 2e22
    006a 16ea 0157 4f52 4453 4124 e722 5765
    2063 616e 2774 2066 6169 6c20 666f 7220
    616c 6c20 6361 6e20 7365 6522 0085 16f4
    014c 494e 4541 24e7 2266 6623 3861 6738
    6766 2338 672e 2200 c116 fe01 574f 5244
    5342 24e7 2254 6861 7420 746f 2073 6572
    7665 2068 756d 616e 6974 7920 6861 7320
    6265 656e 206f 7572 2061 696d 202d 2d2d
    2d2d 2200 ea16 0802 4c49 4e45 4224 e722
    6623 6738 6261 3861 6723 3861 6538 6623
    6738 612e 6d6c 612e 6d6e 6122 002c 1712
    0257 4f52 4453 4324 e722 4f75 7220 7072
    6f64 7563 7473 206e 6f77 2061 7265 206b
    6e6f 776e 202d 2d2d 2d2d 2069 6e20 6576
    2772 7920 7a6f 6e65 202d 2d2d 2d22 0058
    171c 024c 494e 4543 24e7 2264 3863 2364
    3867 2e67 2e6d 6c67 2e6d 6e67 6438 652e
    662e 6d6c 672e 6d6e 6722 0091 1726 0257
    4f52 4453 4424 e722 4f75 7220 7265 7075
    7461 7469 6f6e 2073 7061 726b 6c65 7320
    6c69 6b65 2061 2067 656d 202d 2d2d 2d2d
    2d2d 2200 b817 3002 4c49 4e45 4424 e722
    6723 3861 6138 6162 386f 3463 2363 2338
    6f33 6261 386f 3464 3122 00e9 173a 0257
    4f52 4453 4524 e722 5765 2776 6520 666f
    7567 6874 206f 7572 2077 6179 2074 6872
    7520 616e 6420 6e65 7720 2200 0818 4402
    4c49 4e45 4524 e722 6338 6f33 6166 2338
    642e 652e 6623 2e67 2e22 0037 184e 0257
    4f52 4453 4624 e722 4669 656c 6473 2077
    6527 7265 2073 7572 6520 746f 2063 6f6e
    7175 6572 2074 6f6f 2200 5418 5802 4c49
    4e45 4624 e722 6623 6623 3867 6738 6723
    6723 3861 3822 0088 1862 0257 4f52 4453
    4724 e722 466f 7220 7468 6520 4576 6572
    204f 6e77 6172 6420 2049 2020 4220 204d
    202d 2d2d 2d2d 2d2d 2d22 00ad 186c 024c
    494e 4547 24e7 2267 2338 6138 626f 3463
    3864 6538 6f33 622e 612e 6731 7032 2200
    c718 7602 9120 574f 5244 5331 243a 2020
    fe93 204c 494e 4531 2400 e118 8002 9120
    574f 5244 5332 243a 2020 fe93 204c 494e
    4532 2400 fb18 8a02 9120 574f 5244 5333
    243a 2020 fe93 204c 494e 4533 2400 1519
    9402 9120 574f 5244 5334 243a 2020 fe93
    204c 494e 4534 2400 2f19 9e02 9120 574f
    5244 5335 243a 2020 fe93 204c 494e 4535
    2400 4919 a802 9120 574f 5244 5336 243a
    2020 fe93 204c 494e 4536 2400 6319 b202
    9120 574f 5244 5337 243a 2020 fe93 204c
    494e 4537 2400 7d19 bc02 9120 574f 5244
    5338 243a 2020 fe93 204c 494e 4538 2400
    9719 c602 9120 574f 5244 5339 243a 2020
    fe93 204c 494e 4539 2400 b119 d002 9120
    574f 5244 5341 243a 2020 fe93 204c 494e
    4541 2400 cb19 da02 9120 574f 5244 5342
    243a 2020 fe93 204c 494e 4542 2400 e519
    e402 9120 574f 5244 5343 243a 2020 fe93
    204c 494e 4543 2400 ff19 ee02 9120 574f
    5244 5344 243a 2020 fe93 204c 494e 4544
    2400 191a f802 9120 574f 5244 5345 243a
    2020 fe93 204c 494e 4545 2400 331a 0203
    9120 574f 5244 5346 243a 2020 fe93 204c
    494e 4546 2400 4d1a 0c03 9120 574f 5244
    5347 243a 2020 fe93 204c 494e 4547 2400
    531a 1603 8100 0000 1a1a 243a 2020 fe93
    204c 494e 4543 2400 ff19 ee02 9120 574f
    5244 5344 243a 2020 fe93 204c 494e 4544
    2400 191a f802 9120 574f 5244 5345 243a
    2020 fe93 204c 494e 4545 2400 331a 0203
    9120 574f 5244 5346 243a 2020 fe93 204c
    494e 4546 2400 4d1a 0c03 9120 574f 5244


    EVRONUNC.BAS


    10 REM Ever Onward
    20 '
    30 ' The following was taken from the inside cover of the sheet music for
    40 ' Ever Onward, The IBM Rally Song.
    50 '
    60 ' "The IBM rally song, Ever Onward, was written in 1931 by IBMer Fred
    70 ' Tappe. This rousing number was only one of many songs written and sung
    80 ' by the company's marketing representatives, students, managers and
    90 ' employees whenever they gatehered for group meetings.
    100 '
    110 ' "During the 50's and 60's, changing social emphasis precipitated a
    120 ' decline in group singing. The lyrics were rewritten in 1958 and sung
    130 ' mainly by marketing students in IBM schools. But the company sing-along
    140 ' has continued its steady decline; today the strains of Ever Onward
    150 ' echo only on old film soundtracks in the company's archives and in the
    160 ' memories of longtime IBMers."
    170 '
    180 ' This arrangement for IBM PC was done by W. E. Schmitt, IBM Charlotte 1982; tie 8-474-3511.
    190 '
    200 CLS
    210 KEY OFF
    220 PRINT SPC(25);
    230 COLOR 16,7
    240 PRINT "EVER ONWARD"
    250 COLOR 7,7
    260 PRINT
    270 PRINT SPC(10);"The IBM Rally song, written by Fred Tappe"
    280 PRINT SPC(10);"Arranged for IBM PC by W. E. Schmitt"
    290 PRINT SPC(29);" IBM Charlotte"
    300 PRINT
    310 WORDS1$="There's a feeling ev'ry where of bigger things in store --"
    320 WORDS2$="Of new horizons coming into view."
    330 LINE1$="o3mnt160l4bb8o4dd8o3gg8bb8ee8ee8mle."
    340 LINE2$="mnee8f#e8de8f#g8aa#8mlb.b.mnb."
    350 WORDS3$="Our aim is clear To make each year exceed the one before"
    360 WORDS4$="Staying in the lead in ev'rything we do."
    370 LINE3$="d.bb8o4dd8o3gg8bb8ee8ee8mle."
    380 LINE4$="mnef8f#e8de8f#g8ab8mlg.g.g.mng"
    390 WORDS5$="The will to win is built right in It will not be denied."
    400 WORDS6$="And we will go ahead we know by working side by side."
    410 LINE5$="g8f#f#8aa8o4dd8o3aa8f#f#8aa8o4mld.mnd"
    420 LINE6$="o4d8dd8dd8dd8dd8dc8o3af#8d2."
    430 WORDS7$="Ever Onward, Ever Onward"
    440 LINE7$="o3mnt160l4d.e.f#.g.f#.g.g#.a."
    450 WORDS8$="That's the spirit that has brought us fame -------"
    460 LINE8$="ga8bg8ab8ag8e.mle.mne"
    470 WORDS9$="We're big but bigger we will be"
    480 LINE9$="e8d#e8gf#8f#f8f#."
    490 WORDSA$="We can't fail for all can see"
    500 LINEA$="ff#8ag8gf#8g."
    510 WORDSB$="That to serve humanity has been our aim -----"
    520 LINEB$="f#g8ba8ag#8ae8f#g8a.mla.mna"
    530 WORDSC$="Our products now are known ----- in ev'ry zone ----"
    540 LINEC$="d8c#d8g.g.mlg.mngd8e.f.mlg.mng"
    550 WORDSD$="Our reputation sparkles like a gem -------"
    560 LINED$="g#8aa8ab8o4c#c#8o3ba8o4d1"
    570 WORDSE$="We've fought our way thru and new "
    580 LINEE$="c8o3af#8d.e.f#.g."
    590 WORDSF$="Fields we're sure to conquer too"
    600 LINEF$="f#f#8gg8g#g#8a8"
    610 WORDSG$="For the Ever Onward I B M --------"
    620 LINEG$="g#8a8bo4c8de8o3b.a.g1p2"
    630 PRINT WORDS1$: PRINT LINE1$
    640 PRINT WORDS2$: PRINT LINE2$
    650 PRINT WORDS3$: PRINT LINE3$
    660 PRINT WORDS4$: PRINT LINE4$
    670 PRINT WORDS5$: PRINT LINE5$
    680 PRINT WORDS6$: PRINT LINE6$
    690 PRINT WORDS7$: PRINT LINE7$
    700 PRINT WORDS8$: PRINT LINE8$
    710 PRINT WORDS9$: PRINT LINE9$
    720 PRINT WORDSA$: PRINT LINEA$
    730 PRINT WORDSB$: PRINT LINEB$
    740 PRINT WORDSC$: PRINT LINEC$
    750 PRINT WORDSD$: PRINT LINED$
    760 PRINT WORDSE$: PRINT LINEE$
    770 PRINT WORDSF$: PRINT LINEF$
    780 PRINT WORDSG$: PRINT LINEG$
    790 END


     

    Last edit: Kenneth Wayne Boyd 2016-06-07
  • Rob Hagemans

    Rob Hagemans - 2016-06-08

    Excellent stuff, thanks Ken!

    I'm going to try to see if I can recreate the crash on a Win64 VM with these precise instructions - if yes, then I can also investigate on my end - if not, perhaps it has something to do with different drivers, making things more difficult.

    If you have time, one thing that would also be very useful to find out is whether the issue arises with the SDL2 interface in the development branch. To use this you need to put the SDL2 binary from https://www.libsdl.org/download-2.0.php somewhere on your drive and set the environment variable PYSDL2_DLL_PATH to that location (sorry, more pain). You can then start PC-BASIC with the option --interface=sdl2.

    I'm hoping that the sound crash issue is limited to Pygame/SDL1.2 and that the SDL2 library doesn't have the problem, as I intend to replace the Pygame interface with SDL2 (or at least make SDL2 the default) after ironing out a few more issues with it.

    Thanks again for your work, do keep me updated!
    Rob

     
  • Kenneth Wayne Boyd

    I made another couple of attempts today. 2 Crashes in the development environment. One unsuccessful attempt with SDL2 where I couldn't get it to run in a LiClipse environment with the --interface=sdl2 option. I may have to go solve the mysteries around when things work and don't work with ansipipe in the mix. That may prevent progress here unless there is an equivalent .INI setting? Let me know.

    At any rate, there was a slightly different result with Attempt 2.1 in the development environment, but the screen disappeared and a message was left behind in the LiClipse console:

    Fatal Python error: (pygame parachute) Segmentation Fault
    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.

    I also tried less steps in Attempt 3.1 and got a crash with the fewest commands so far.

    I've attached the latest PC-BASIC Crash Notes document.
    Ken

     

    Last edit: Kenneth Wayne Boyd 2016-06-10
    • Rob Hagemans

      Rob Hagemans - 2016-06-10

      Hi Ken, thanks for this - my compliments on the excellent detail in your logs!

      The segmentation fault indicates there is a crash occurring in Pygame (or its underlying SDL1.2). That means it's a bug in that library or in SDL1.2. The best we can hope is to find workaround to avoid triggering it - for which what you're doing now could prove very useful, if we manage to narrow down the conditions when it happens. If we manage to reliably reproduce it and narrow it down we can send a bug report to the Pygame project.

      There is a possibility they have already found this bug and solved it in their development code. Unfortunately Pygame has not seen a new release for a long time... It would be useful to know which version of Pygame you're using though. The quickest way to find out is to run pcbasic -v --debug which should output (among other things) a list of Python modules and their versions. I think the newest released version for Windows is 1.9.2a0, but 1.9.1 is also common.

      SDL2 also appears to crash through a problem in the library. I may be able to reprouce this one on my Win64 VM - it doesn't seem to happen on Win32. Here we have a better chance of it being fixed by the project itself since SDL2 is seeing more active development. I have also found forum posts on the internet describing a crash in SDL2 happening on Win64 which went away upon recompiling the binary either with another compiler or on a Win64 rather than a Win32 machine, I'm not sure.

      I'll try to reproduce the crash and see if recompiling fixes the issue, in which case I can simply supply my own compoiled SDL binary with the PC-BASIC package.

      Rob

       
  • Kenneth Wayne Boyd

    Perhaps I'm doing something wrong.

    From the release version I get the following behaviours:

    ADMINISTRATOR COMMAND PROMPT
    C:\PROGRA~2\PCBASIC\pcbasic -v -- debug ->nothing happens
    C:\PROGRA~2\PCBASIC\pcbasic -v ->nothing happens
    C:\PROGRA~2\PCBASIC\pcbasic --debug ->screen: PCBASIC 15.08.8 [DEBUG mode]
    C:\PROGRA~2\PCBASIC\pcbasic -v --debug >>debugout.txt ->debugout.txt contents = "15.08.8"

    LiClipse Environment:
    Location:C:\Python27\ansipipe-launcher.exe
    Arguments:"python.exe C:\Users\Ken\DOCUME~1\LICLIP~1\PC-BASIC\PCBASI~1\pcbasic.py -v --debug"
    ->Nothing happens; console status:<terminated> ansipipe-launcher -v --debug [Program] C:\Python27\ansipipe-launcher.exe

    Location:C:\Python27\ansipipe-launcher.exe
    Arguments:"python.exe C:\Users\Ken\DOCUME~1\LICLIP~1\PC-BASIC\PCBASI~1\pcbasic.py --debug"
    PC-BASIC screen: PCBASIC 16.05.dev0

    I'm not sure about what I'm looking for regarding "should output (among other things) a list of Python modules and their versions."

    Thanks,
    Ken

     
    • Rob Hagemans

      Rob Hagemans - 2016-06-11

      Hi, apologies, it appears thet the last relese version did not include ansipipe - as a consequence you won't be able to see output on the ocmmand line. It should work with the development version if you're suing ansipipe-launcher, but perhaps LiClipse gets in the way somehow.

      Could you try with the following options:
      pcbasic -v --debug --logfile=debugout.txt

      Thast should ensure the command-line output ends up on debugout.txt.

      Thanks!
      Rob

       
      • Kenneth Wayne Boyd

        Here are the debugout.txt files for both the installed environment and the develoment environment that I can get to run.

        Environmental logs - other
        Pcbasic -v --debug --logfile=debugout.ext
        2016-06-11
        From installed environment REL-15.08.8
        Administrator Command Prompt
        C:\PROGRA~2\PC-BASIC>pcbasic.exe -v --debug --logfile=debugout.txt
        Resulting debugout.txt
        PLATFORM
        os: Windows Intel64 Family 6 Model 42 Stepping 7, GenuineIntel 6.1.7601
        python: 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] 32bit WindowsPE

        MODULES
        numpy: 1.8.0
        available

        pygame: 1.9.2pre
        curses: --
        pexpect: 2.3
        serial: 2.7
        parallel: --

        From installed environment DEV-A:16.05dev0
        Location: C:\Python27\ansipipe-launcher.exe
        Working Directory: C:\Users\Ken\Documents\LiClipse Workspace\PC-BASIC\pcbasic-master
        Argumens:"python.exe C:\Users\Ken\DOCUME~1\LICLIP~1\PC-BASIC\PCBASI~1\pcbasic.py -v --debug --logfile=debugout.txt"
        Resulting debugout.txt
        PLATFORM
        os: Windows Intel64 Family 6 Model 42 Stepping 7, GenuineIntel 6.1.7601
        python: 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] 32bit WindowsPE

        MODULES
        numpy: 1.10.4
        available

        sdl2: --
        pygame: 1.9.1release
        curses: --
        pexpect: --
        serial: --
        parallel: --

         
  • Rob Hagemans

    Rob Hagemans - 2016-06-11

    Hi Ken, on emore thing regarding SDL2: I noticed from your notes that you're using the x64 version. I just set up a dev environment on a 64-bit Windows 7 VM and I noticed that, counter-intuitively, I needed to use th x32 version of the SDL2 DLL. The x64 version leads to an immediate error (which would look much like a crash of PC-BASIC). I don't know why this is but presumably Python is a 32-bit executable, so it needs to link to the 32-bit library. Could you try with the 32-bit SDL2 DLL as well?

    Thanks again for your help - I really have a sense that we may be able to pin down and solve the 64-bit crashes this way!

    Rob

     
  • Kenneth Wayne Boyd

    I downloaded and tried... however, I don't actually think I'm successfully running with the --interface=sdl2 in the development environment. See Recreate Sessions 3.2, 4.1 and 4.2 which all didn't seem to successfully launch PC-BASIC at all.

    Does the --interface=sdl2 option work for the Release 15.08.8 version? If so, I could try from a command line with that version, although I had ansipipe problems... I'll have to probably clarify what works and doesn't work for me regarding starting the release version from the command line.

    Bottom line: I don't think I'm successfully getting the %PSYDL2_DLL_PATH% variable set when running from the development versions due to what I'm seeing with attempts 3.2, 4.1 and 4.2.

    Thanks,
    Ken

     
    • Rob Hagemans

      Rob Hagemans - 2016-06-12

      Hi Ken, thanks for trying this!

      Regarding SDL2: in your notes you refer to %PSYDL2_DLL_PATH%. Note that there is a typo in this, the variable should be %PYSDL2_DLL_PATH% (i.e. with the S and Y the other way around). Not sure if that's just a typo in the notes, but if you set the variable with the former name then it will not work.

      Maybe it's best if we check first what happens if you try to load the sdl2 module in Python. In other words, no PC-BASIC and no ansipipe, just run Python from the Windows C:\> prompt. First set the environment variable to the directory where you've put the 32-bit SDL2:

      C:\>SET PYSDL2_DLL_PATH=C:\drivers\SDL232X\
      C:\>C:\Python27\Python.exe
      

      You should see Python's version string and a >>> prompt at which you type import sdl2. If this works correctly, there should be no output at all. You can exit Python with quit():

      >>>import sdl2
      >>>quit()
      

      If there is a problem with the DLL or the environment variable, you should get an error message here, which could point us to how to solve this issue.

      In other news, I have followed your steps with the Ever Onward programs in my Win64 VM but I do not get any crash - for me it works correctly both with pygame and with sdl2. I'll push it around a bit more to see if any crash happens but it looks like (unfortunately) I still can't reproduce the issue - suggesting it only shows up with certain hardware or certain drivers. I'm still hoping SDL2 (once it works) won't crash on your machine either...

      Cheers
      Rob

       

      Last edit: Rob Hagemans 2016-06-12
      • Rob Hagemans

        Rob Hagemans - 2016-06-12

        To answer your other question, the --interface=sdl2 option does not work with the release version. The command line output issues with that version are because I forgot to include ansipipe in the package (will do better next release :)

        There are a few more things we can try with the 15.08 release version though. Pygame/SDL1.2 responds to a number of environment variables (see http://sdl.beuc.net/sdl.wiki/SDL_envvars for more info). In particular, the following would be good to try to set before starting the release version and seeing if it crashes:

        SDL_VIDEODRIVER=windib
        
        SDL_VIDEODRIVER=directx
        
        SDL_AUDIODRIVER=dsound
        
        SDL_AUDIODRIVER=waveout
        
        SDL_AUDIODRIVER=disk
        

        Apparently the disk audio driver should send the output to a raw audio file called sdlaudio.raw. You can change name/location of that file by setting another environment variable SDL_DISKAUDIOFILE.

        Rob

         
        • Rob Hagemans

          Rob Hagemans - 2016-06-18

          Hi Ken, I've packaged the SDL-based version as a pre-release, which you can install alongside the 15.08 version. You can get it from GitHub. Let's hope it finally releases us from those crashes!

          Rob

           
          • Anonymous

            Anonymous - 2016-06-18

            Thanks Rob. I'm "still on" regarding investigating this, so will try it out
            as soon as I can. I got sidetracked with some work items and a wedding of a
            daughter at our house In a couple of weeks. My wife is insisting her
            projects have higher priority! :)

            Sorry for the delay, but I Hope to finish answers to previous questions and
            try your new version soon.

            Ken

            On Saturday, June 18, 2016, Rob Hagemans robhagemans@users.sf.net wrote:

            Hi Ken, I've packaged the SDL-based version as a pre-release, which you
            can install alongside the 15.08 version. You can get it from GitHub
            https://github.com/robhagemans/pcbasic/releases/tag/16.06.0rc0. Let's
            hope it finally releases us from those crashes!

            Rob

            Recreate attempts of Windows 7 Intermittent Crashes
            https://sourceforge.net/p/pcbasic/discussion/bugs/thread/27eccbdb/?limit=25#1964/b6b9/d632/ef1a


            Sent from sourceforge.net because you indicated interest in
            https://sourceforge.net/p/pcbasic/discussion/bugs/

            To unsubscribe from further messages, please visit
            https://sourceforge.net/auth/subscriptions/

            --
            Ken Boyd
            520-344-2720

             
            • Rob Hagemans

              Rob Hagemans - 2016-06-19

              Cheers and congratulations on your daughter's wedding! Such things do have priority :)

              Rob

               
  • Kenneth Wayne Boyd

    Hi Rob, I got around to looking at this again.
    I confirmed I could still recreate the original symptoms at the 15.08.8 level. (2 crashes in 3 attempts.)
    Then I installed 16.06.0rc0 and tried another 3 recreate attempts.
    The good news: there were no outright "crashes."
    The bad news: I had 3 hangs in either attempting to play the music, or in entering commands after the music successfully finished.

    I'm attaching an updated "PC-BASIC Crash Notes.pdf"
    The notes on the 6 attempts (3 at 15.x and 3 at 16.x) are in the section "2016-07-23 Recreate Session 5 (RS5)" on page 7.

    I didn't get around to resolving the issues with the command line python environment and typos in my envioronment variables. I recorded the Action Item in the "Pending Actions" section AI-01:Open on page 22. I was hoping the new development release would resolve the issues.

    It could be that these Windows 7 environments are getting too old. I'm migrating to a new Dell XPS 13 running Microsoft Windows 10 Home Edition. But I'll be keeping the X220 with Windows 7 around as long as it keeps running.

    <TANGENT>
    As a side note on the Dell XPS 13. I got this XPS 13 system from CostCo, and it seems to be pretty good deal. $1,400 for 16GB / 512GB SSD. But I found it odd that it came with Windows 10 Home Edition rather than Windows 10 Pro as listed on the Dell website. As I had toyed with the idea of running Hiper-V, I searched for information on this XPS 13 model to see if it supported Hiper-V. It turns out there were a bunch of problems with video and the XPS 13. See here for a movie one user gave of the poblem. I'm conjecturing that there are problems with the XPS 13, Skylake, and Hiper-V... and Dell loaded Windows 10 Home (which does not support Hiper-V) on the problematic systems and dumped the product on the discounted market. Video is apparently a pain! :)
    </TANGENT>

    Ken

     
    • Rob Hagemans

      Rob Hagemans - 2016-07-24

      Hi Ken,

      Thanks for the new test results! It's a good sign that the crashes don't occur with the rc0 version, which suggests the switch from Pygame to SDL2 avoids that issue.

      I'll see if I can reproduce the unresponsive screen issue. There was an additional issue in rc0 with a memory leak in the code interfacing with SDL2 that someone reported on GitHub; this has now been fixed and will be in rc1 once that's released. I don't know if that issue is related to the hangs you see, but it might be consistent with your report - the rc0 version slowly eats up memory at every screen refresh and becomes unresponsive once the memory is full. It would also occur after a few minutes if PC-BASIC is simply left on its start screen with a blinking cursor.

      There are a few more issues to solve before I can package rc1 and I am quite busy at the moment so this will probably take a few weeks to appear.

      Note that the program EVRONWRD.BAS which you use for testing is designed to run on a monochrome setup; you'll get much better results if you run with the option preset=mda. This will produce green letters on black rather than the white on white, so it'll be easier to see what's going on!

      Thanks
      Rob

       
    • Rob Hagemans

      Rob Hagemans - 2016-07-24

      Hi Ken,
      Thanks for the new test results!  It's a good sign that the crashes don't occur with the rc0 version, which suggests the switch from Pygame to SDL2 avoids that issue. 
      I'll see if I can reproduce the unresponsive screen issue. There was an additional issue in rc0 with a memory leak in the code interfacing with SDL2 that someone reported on GitHub; this has now been fixed and will be in rc1 once that's released. I don't know if that issue is related to the hangs you see, but it might be consistent with your report - the rc0 version slowly eats up memory at every screen refresh and becomes unresponsive once the memory is full. It would also occur after a few minutes if PC-BASIC is simply left on its start screen with a blinking cursor.
      There are a few more issues to solve before I can package rc1 and I am quite busy at the moment so this will probably take a few weeks to appear.
      Note that the program EVRONWRD.BAS which you use for testing is designed to run on a monochrome setup; you'll get much better results if you run with the option preset=mda. This will produce green letters on black rather than the white on white, so it'll be easier to see what's going on!
      ThanksRob

      On Sunday, 24 July 2016, 5:50, Kenneth Wayne Boyd <kenwboyd@users.sf.net> wrote:
      

      Hi Rob, I got around to looking at this again. 
      I confirmed I could still recreate the original symptoms at the 15.08.8 level. (2 crashes in 3 attempts.)
      Then I installed 16.06.0rc0 and tried another 3 recreate attempts.
      The good news: there were no outright "crashes."
      The bad news: I had 3 hangs in either attempting to play the music, or in entering commands after the music successfully finished.

      I'm attaching an updated "PC-BASIC Crash Notes.pdf" 
      The notes on the 6 attempts (3 at 15.x and 3 at 16.x) are in the section "2016-07-23 Recreate Session 5 (RS5)" on page 7.

      I didn't get around to resolving the issues with the command line python environment and typos in my envioronment variables.  I recorded the Action Item in the "Pending Actions" section AI-01:Open on page 22.  I was hoping the new development release would resolve the issues.

      It could be that these Windows 7 environments are getting too old.  I'm migrating to a new Dell XPS 13 running Microsoft Windows 10 Home Edition.  But I'll be keeping the X220 with Windows 7 around as long as it keeps running.

      <TANGENT>
      As a side note on the Dell XPS 13.  I got this XPS 13 system from CostCo, and it seems to be pretty good deal. $1,400 for 16GB / 512GB SSD.  But I found it odd that it came with Windows 10 Home Edition rather than Windows 10 Pro as listed on the Dell website.  As I had toyed with the idea of running Hiper-V, I searched for information on this XPS 13 model to see if it supported Hiper-V.  It turns out there were a bunch of problems with video and the XPS 13.  See here for a movie one user gave of the poblem.  I'm conjecturing that there are problems with the XPS 13, Skylake, and Hiper-V... and Dell loaded Windows 10 Home (which does not support Hiper-V) on the problematic systems and dumped the product on the discounted market.  Video is apparently a pain!  :)
      </TANGENT>

      Ken

      Attachments:


      Recreate attempts of Windows 7 Intermittent Crashes


      Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/pcbasic/discussion/bugs/

      To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/

       
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.