Unable to update Ganttproject (MAC)

Hi,

I’m using Ganttproject 3.0.3000 on Apple M1. When attempting to update to 3.0.3005 I receive the error in the image attached. Any way to solve this??

Best regards
Mikael

Can you post the log contents? Help > View log

Thanks!

ava.class.path: /Applications/GanttProject.app/Contents/app/eclipsito.jar:/Applications/GanttProject.app/Contents/app/lib/javagalician.jar
java.home: /Applications/GanttProject.app/Contents/runtime/Contents/Home
java.ext.dirs: null
java.io.tmpdir: /var/folders/h_/wf_69h290590r25_2dx8xssc0000gn/T/
java.runtime.version: 11.0.9.1+1-LTS
java.vendor: BellSoft
java.vm.name: OpenJDK 64-Bit Server VM
java.vm.vendor: BellSoft
java.vm.version: 11.0.9.1+1-LTS
os.arch: x86_64
os.name: Mac OS X
os.version: 10.16
sun.java.command: com.bardsoftware.eclipsito.Launch --verbosity 4 --version-dirs plugins:~/.ganttproject.d/updates --app net.sourceforge.ganttproject.GanttProject
user.country: SE
user.dir: /Applications/GanttProject.app/Contents/app
user.home: /Users/mikaelericsson
user.language: sv
user.timezone: Europe/Stockholm

mars 30, 2021 11:08:37 FM net.sourceforge.ganttproject.GPLogger log
INFO: Deleting old auto-save files
mars 30, 2021 11:08:38 FM biz.ganttproject.LoggerImpl debug
FIN: Creating main frame…
mars 30, 2021 11:08:38 FM biz.ganttproject.LoggerImpl debug
FIN: 1. loading look’n’feels
mars 30, 2021 11:08:39 FM biz.ganttproject.LoggerImpl debug
FIN: 2. loading options
mars 30, 2021 11:08:39 FM biz.ganttproject.LoggerImpl debug
FIN: 3. creating menus…
mars 30, 2021 11:08:39 FM biz.ganttproject.LoggerImpl debug
FIN: 4. creating views…
mars 30, 2021 11:08:39 FM biz.ganttproject.LoggerImpl debug
FIN: 5. calculating size and packing…
mars 30, 2021 11:08:40 FM biz.ganttproject.LoggerImpl debug
FIN: 6. changing language …
mars 30, 2021 11:08:40 FM biz.ganttproject.LoggerImpl debug
FIN: 7. first attempt to restore bounds
mars 30, 2021 11:08:40 FM biz.ganttproject.LoggerImpl debug
FIN: 8. finalizing…
mars 30, 2021 11:08:50 FM net.sourceforge.ganttproject.GPLogger logToLogger
VARNING: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
java.util.concurrent.CompletionException: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/java.util.concurrent.CompletableFuture.encodeRelay(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.completeRelay(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.stopOnError(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.errorCommon(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.onError(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$ReadSubscription.signalCompletion(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.read(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube$SocketFlowTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher$InternalReadSubscription.handleError(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube$InternalReadPublisher.signalError(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube$InternalWriteSubscriber.signalError(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube$InternalWriteSubscriber.onError(Unknown Source)
at java.net.http/jdk.internal.net.http.SocketTube.onError(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run1(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper$DownstreamPusher.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SubscriberWrapper.errorCommon(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Writer.processData(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Writer$WriterDownstreamPusher.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler.runOrSchedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Writer.schedule(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.resumeActivity(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.lambda$executeTasks$3(Unknown Source)
at java.net.http/jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.executeTasks(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate.doHandshake(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader.processData(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SSLFlowDelegate$Reader$ReaderDownstreamPusher.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SynchronizedRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$TryEndDeferredCompleter.complete(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$CompleteRestartableTask.run(Unknown Source)
at java.net.http/jdk.internal.net.http.common.SequentialScheduler$SchedulableTask.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)
Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)
at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(Unknown Source)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(Unknown Source)
at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(Unknown Source)
at java.base/sun.security.ssl.SSLHandshake.consume(Unknown Source)
at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(Unknown Source)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask$DelegatedAction.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/sun.security.ssl.SSLEngineImpl$DelegatedTask.run(Unknown Source)
at java.base/java.util.ArrayList.forEach(Unknown Source)
… 14 more
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.validator.PKIXValidator.doBuild(Unknown Source)
at java.base/sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
at java.base/sun.security.validator.Validator.validate(Unknown Source)
at java.base/sun.security.ssl.X509TrustManagerImpl.validate(Unknown Source)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
… 24 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)
at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
at java.base/java.security.cert.CertPathBuilder.build(Unknown Source)
… 30 more

Any suggestions on how to solve this?

Thanks in advance

I have no idea why it happens (and why it does not happen to other macOS users) and if there is any easy user-friendly way how to convince your system t o trust the SSL certificate.
However, we can try to test if it works when update files are delivered from other domains. You will need to find .ganttproject file in your home folder and change one line. Let me know if this sounds good.

Hi!

Thanks! OK, sounds great, I think I can manage that :slight_smile:

Regards
Mikael