ActivityLog2
ActivityLog2 copied to clipboard
Linux: ActivityLog2 freezes
Steps to reproduce:
- Import activities from usb
- Disconnect watch
- Try to import activities from other folder
=> ActivityLog2 freezes and it is impossible to change dir.

On windows, it can handle non-existent directories by just showing a message. Can you try the following Racket program and see if it also hangs (you can try using the "/media/GARMIN/..." directory):
#lang racket
(require racket/gui)
(get-directory "Select directory for import..."
#f
"C:/Users/non/existent" ;; use a non-existent directory here
'(common))
This sample does not hangs. With a click on /media part, I can change a directory.
This is where that dialog is created in ActivityLog2, but the get-directory call is implemented inside Racket...
https://github.com/alex-hhh/ActivityLog2/blob/2337ad32c31b40c4199ca04d3bdf043bfefcacc3/rkt/toplevel.rkt#L1477
After click on a /media part on linux in ActivityLog2, i got an error
invalid memory reference. Some debugging context lost
context...:
.../private/sort.rkt:204:14: loop
.../private/sort.rkt:369:3
.../private/path-dialog.rkt:259:10: loop
.../private/path-dialog.rkt:306:6: set-dir
.../private/path-dialog.rkt:443:6: do-enter
.../wxme/text.rkt:536:2: on-default-event method in text%
.../wxme/editor-canvas.rkt:412:2: on-event method in editor-canvas%
.../private/more-scheme.rkt:148:2: call-with-break-parameterization
.../unsafe/atomic.rkt:73:13
.../gtk/window.rkt:823:4: dispatch-on-event method in window%
.../common/queue.rkt:435:6
.../common/queue.rkt:486:32
.../common/dialog.rkt:58:4: show method in dialog-mixin
.../private/more-scheme.rkt:148:2: call-with-break-parameterization
.../unsafe/atomic.rkt:73:13
.../private/path-dialog.rkt:801:6: run method in path-dialog%
Strange, why it works without an error in a sample?
the invalid memory reference indicates some internal memory corruption, which might not happen in the simple sample. In any case, it indicates an error inside Racket. I think we might need to ask the Racket developers about this, but before we do that, can you please make sure you run the latest Racket version (which should be 8.3) and see if it happens on that version as well...
It happens on 8.3 as well as on 8.2. The callstack is the same.