CulverLab / sparcd

https://wildcatresearch.arizona.edu/
GNU General Public License v3.0
4 stars 7 forks source link

Problem: Image Download Error: link appears "query download" but images are not saving ____ this is not working again, the link is not responsive after one click, not resetting #58

Closed smalusa closed 2 years ago

smalusa commented 2 years ago

No Images: In the Query Tab, when the query is complete, the list of link results appear in the lower half of page. The option to "Download images" is at the bottom of the list. The button can be clicked and then it leads the user to select a place to save images (this is functional as before), but no images are being saved.

julianpistorius commented 2 years ago

Could not reproduce on Linux. It was very slow compared to Windows. Not sure if we were using the same version of the app either. Moving this down to priority 2 for now since people can still use it for uploading, tagging, and querying.

Update: Once Sue closed SPARCd and re-opened the query was as slow as on Linux. We also noticed that the 'download images' was disabled after starting to save. This makes me think that the saving process does not complete properly and gets stuck in the middle somewhere. This would explain both the fact that no images are saved, as well as the disabled 'download images' button.

julianpistorius commented 2 years ago

Efren helped me debug on Windows. He got the following error:

Task failed! Error was:
Error Message: Performing query to figure out which images to download...
Stack trace: java.lang.NoSuchMethodError: 'model.cyverse.CyVerseConnectionManager model.SanimalData.getConnectionManager()'
        at controller.analysisView.VisDownloadController$1.call(VisDownloadController.java:102)
        at controller.analysisView.VisDownloadController$1.call(VisDownloadController.java:91)
        at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
        at java.base/java.lang.Thread.run(Thread.java:832)
julianpistorius commented 2 years ago

Trying to download two Ocelot photos (on Linux) I get this error, and only one image is saved:

downloadImages(): BEGIN
downloadImages(): image 'sparcd-78d6926c-c1e0-41bc-8947-0f88377f4415::Collections/XXXXX/IMAG0171.JPG'  local '/home/exouser/Documents/sparcd/xxxxx/IMAG0171.JPG'
downloadImages(): Saving remote: sparcd-78d6926c-c1e0-41bc-8947-0f88377f4415 'Collections/XXXXX/IMAG0171.JPG'
saveRemoteFile(): BEGIN 'sparcd-78d6926c-c1e0-41bc-8947-0f88377f4415'  'Collections/XXXXX/IMAG0171.JPG'
saveRemoteFile(): ObjectRequest 'Collections/XXXXX/IMAG0171.JPG'
saveRemoteFile(): saving
saveRemoteFile(): DONE
downloadImages(): image 'sparcd-78d6926c-c1e0-41bc-8947-0f88377f4415::Collections/XXXXX/IMAG0835.JPG'  local '/home/exouser/Documents/sparcd/xxxxx/IMAG0835.JPG'
downloadImages(): Saving remote: sparcd-78d6926c-c1e0-41bc-8947-0f88377f4415 'Collections/XXXXX/IMAG0835.JPG'
saveRemoteFile(): BEGIN 'sparcd-78d6926c-c1e0-41bc-8947-0f88377f4415'  'Collections/XXXXX/IMAG0835.JPG'
saveRemoteFile(): ObjectRequest 'Collections/XXXXX/IMAG0835.JPG'
There was an error downloading the image file, error was:
com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: 17012957964772A4; S3 Extended Request ID: 18ecb6cb-082c-482b-afe2-8d9fc2d4cad3), S3 Extended Request ID: 18ecb6cb-082c-482b-afe2-8d9fc2d4cad3
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleErrorResponse(AmazonHttpClient.java:1712)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1367)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1113)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:770)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:744)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:726)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:686)
    at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:668)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:532)
    at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:512)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4926)
    at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4872)
    at com.amazonaws.services.s3.AmazonS3Client.getObject(AmazonS3Client.java:1472)
    at model.s3.S3ConnectionManager.saveRemoteFile(S3ConnectionManager.java:1949)
    at model.s3.S3ConnectionManager.downloadImages(S3ConnectionManager.java:1669)
    at controller.analysisView.VisDownloadController$1.call(VisDownloadController.java:102)
    at controller.analysisView.VisDownloadController$1.call(VisDownloadController.java:91)
    at javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)

downloadImages(): DONE
julianpistorius commented 2 years ago

The most recent version (macOS, Windows, and Linux) does not exhibit this problem. Sue might have had an old JAR file.