DrRacket 7, running on Windows 10 version 1803

I've been working on a GUI program that needs to show a table of data, the 
columns of which change according to checkbox selections. The checkboxes 
are arranged in several groups, each of which has "All" and "None" buttons 
to allow quick checking and clearing of all buttons in that group.

If I stress the program a bit by punching checkboxes and buttons more or 
less randomly, it eventually fails. 
I was able to come up with a smaller program that exhibits the same 
behavior. I've attached it to this message. 

Running it from the command line with errortrace gives the most information.

$ racket -l errortrace -t failure.rkt
ptr-ref: contract violation
  expected: (and/c cpointer? (not/c (lambda (p) (pointer-equal? p #f))))
  given: #f
  argument position: 1st
  other arguments...:
   #<ctype:scheme>
  errortrace...:
   C:\Users\danm\Documents\Racket\NMSRecipes\failure.rkt:124:6: (new 
message% (parent column) (label (number->string item)))
   C:\Users\danm\Documents\Racket\NMSRecipes\failure.rkt:123:4: (for ((item 
column-data)) (new message% (parent column) (label (number->string ....))))
   C:\Users\danm\Documents\Racket\NMSRecipes\failure.rkt:130:4: 
(make-column (format "Column ~a" i) (list-ref column-data i))
   C:\Users\danm\Documents\Racket\NMSRecipes\failure.rkt:129:2: (for ((i 
selected-indexes)) (make-column (format "Column ~a" i) (list-ref 
column-data i)))

Sometimes it can take a while to get the error; it's quite random.

I'm usually running it in DrRacket, but I've also tried it as a standalone 
executable, with the same result.

The DrRacket IDE isn't quite right after this happens, either. The program 
will fail (with the same error) immediately, if I can even restart it. 
Sometimes a separate black window opens, showing a similar error. The IDE 
usually cannot be exited normally. Most of the text editing functions still 
work, though.

Suggestions for workarounds are welcome. I'd be happy to open an issue on 
GitHub, but wanted to first get opinions on whether there's something wrong 
with my code.
Also, I'm not sure which of the Racket projects it rightly belongs to, 
since the error reporting doesn't usefully refer to anything outside of my 
own code.


-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Attachment: failure.rkt
Description: Binary data

Reply via email to