ActivityLog2 icon indicating copy to clipboard operation
ActivityLog2 copied to clipboard

Linux: ActivityLog2 freezes

Open idealist1508 opened this issue 4 years ago • 6 comments

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. grafik

idealist1508 avatar Nov 14 '21 15:11 idealist1508

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))

alex-hhh avatar Nov 15 '21 10:11 alex-hhh

This sample does not hangs. With a click on /media part, I can change a directory.

idealist1508 avatar Nov 15 '21 10:11 idealist1508

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

alex-hhh avatar Nov 15 '21 10:11 alex-hhh

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?

idealist1508 avatar Nov 15 '21 11:11 idealist1508

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...

alex-hhh avatar Nov 15 '21 12:11 alex-hhh

It happens on 8.3 as well as on 8.2. The callstack is the same.

idealist1508 avatar Nov 15 '21 13:11 idealist1508