InAnYan / jabref

Graphical Java application for managing BibTeX and biblatex (.bib) databases
https://devdocs.jabref.org
MIT License
0 stars 0 forks source link

[ai-week2] doesn't run with gradle #76

Closed ThiloteE closed 1 month ago

ThiloteE commented 1 month ago

JabRef version

Latest development branch build (please note build date below)

Operating system

Windows

Details on version and operating system

Windows 10

Checked with the latest development build (copy version output from About dialog)

Steps to reproduce the behaviour

Try to run with gradle run

Appendix

...

Log File ``` C:\Prog\Development\JabRef_GSoC2024_AI\InAnYan_jabref\jabref>gradle run Starting a Gradle Daemon, 2 incompatible and 1 stopped Daemons could not be reused, use --status for details > Configure project : Project : => 'org.jabref' Java module > Task :compileJava Hinweis: Einige Eingabedateien verwenden oder überschreiben eine veraltete API. Hinweis: Wiederholen Sie die Kompilierung mit -Xlint:deprecation, um Details zu erhalten. Hinweis: Einige Eingabedateien verwenden nicht geprüfte oder unsichere Vorgänge. Hinweis: Wiederholen Sie die Kompilierung mit -Xlint:unchecked, um Details zu erhalten. > Task :run FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':run'. > A problem occurred starting process 'command 'C:\Users\Thilo\.gradle\jdks\eclipse_adoptium-21-amd64-windows\jdk-21.0.3+9\bin\java.exe'' * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 2m 25s 9 actionable tasks: 4 executed, 5 up-to-date > Configure project : Project : => 'org.jabref' Java module > Task :run FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':run'. > A problem occurred starting process 'command 'C:\Users\Thilo\.gradle\jdks\eclipse_adoptium-21-amd64-windows\jdk-21.0.3+9\bin\java.exe'' * Try: > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. * Exception is: org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':run'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:130) at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:128) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:116) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314) at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47) Caused by: org.gradle.process.internal.ExecException: A problem occurred starting process 'command 'C:\Users\Thilo\.gradle\jdks\eclipse_adoptium-21-amd64-windows\jdk-21.0.3+9\bin\java.exe'' at org.gradle.process.internal.DefaultExecHandle.execExceptionFor(DefaultExecHandle.java:241) at org.gradle.process.internal.DefaultExecHandle.setEndStateInfo(DefaultExecHandle.java:218) at org.gradle.process.internal.DefaultExecHandle.failed(DefaultExecHandle.java:396) at org.gradle.process.internal.ExecHandleRunner.lambda$run$3(ExecHandleRunner.java:102) at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80) at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:101) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47) Caused by: net.rubygrapefruit.platform.NativeException: Could not start 'C:\Users\Thilo\.gradle\jdks\eclipse_adoptium-21-amd64-windows\jdk-21.0.3+9\bin\java.exe' at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:27) at net.rubygrapefruit.platform.internal.WindowsProcessLauncher.start(WindowsProcessLauncher.java:22) at net.rubygrapefruit.platform.internal.WrapperProcessLauncher.start(WrapperProcessLauncher.java:36) at org.gradle.process.internal.ExecHandleRunner.startProcess(ExecHandleRunner.java:122) at org.gradle.process.internal.ExecHandleRunner.lambda$run$0(ExecHandleRunner.java:80) at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80) at org.gradle.process.internal.ExecHandleRunner.run(ExecHandleRunner.java:79) ... 2 more Caused by: java.io.IOException: Cannot run program "C:\Users\Thilo\.gradle\jdks\eclipse_adoptium-21-amd64-windows\jdk-21.0.3+9\bin\java.exe" (in directory "C:\Prog\Development\JabRef_GSoC2024_AI\InAnYan_jabref\jabref"): CreateProcess error=206, Der Dateiname oder die Erweiterung ist zu lang at net.rubygrapefruit.platform.internal.DefaultProcessLauncher.start(DefaultProcessLauncher.java:25) ... 8 more Caused by: java.io.IOException: CreateProcess error=206, Der Dateiname oder die Erweiterung ist zu lang ... 9 more BUILD FAILED in 15s 9 actionable tasks: 1 executed, 8 up-to-date ```
InAnYan commented 1 month ago

😄

CreateProcess error=206, Der Dateiname oder die Erweiterung ist zu lang

Later I need to merge ai-pr-1 with ai-week2, because there are many changes

koppor commented 1 month ago

😄

CreateProcess error=206, Der Dateiname oder die Erweiterung ist zu lang

Later I need to merge ai-pr-1 with ai-week2, because there are many changes

Software Engineering question: Why cant you merge on a daily basis to avoid use merge load after weeks of non-merging?

koppor commented 1 month ago

The other alternative is to merge main, but there are conflicts, too:

$ git merge main
Auto-merging build.gradle
Auto-merging docs/getting-into-the-code/guidelines-for-setting-up-a-local-workspace/intellij-12-build.md
Auto-merging settings.gradle
Auto-merging src/main/java/org/jabref/gui/LibraryTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/CommentsTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/DeprecatedFieldsTab.java
CONFLICT (content): Merge conflict in src/main/java/org/jabref/gui/entryeditor/DeprecatedFieldsTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/DetailOptionalFieldsTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/EntryEditor.java
CONFLICT (content): Merge conflict in src/main/java/org/jabref/gui/entryeditor/EntryEditor.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/FieldsEditorTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/ImportantOptionalFieldsTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/OptionalFieldsTabBase.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/OtherFieldsTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/RequiredFieldsTab.java
CONFLICT (content): Merge conflict in src/main/java/org/jabref/gui/entryeditor/RequiredFieldsTab.java
Auto-merging src/main/java/org/jabref/gui/entryeditor/UserDefinedFieldsTab.java
CONFLICT (content): Merge conflict in src/main/java/org/jabref/gui/entryeditor/UserDefinedFieldsTab.java
Auto-merging src/main/java/org/jabref/gui/frame/JabRefFrame.java
Auto-merging src/main/java/org/jabref/gui/frame/MainMenu.java
Auto-merging src/main/java/org/jabref/gui/frame/MainToolBar.java
Auto-merging src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java
Auto-merging src/main/resources/l10n/JabRef_en.properties
Auto-merging src/main/resources/tinylog.properties
Auto-merging src/test/java/org/jabref/gui/entryeditor/CommentsTabTest.java
Automatic merge failed; fix conflicts and then commit the result.
koppor commented 1 month ago

Third option: Port back changes in build.gradle and settings.gradle to ai-week2.

The changes were https://github.com/JabRef/jabref/pull/11451

I tried to follow https://stackoverflow.com/a/7292109/873282 - but at the end, it was cp build.gradle build.gradle.txt (after the merge command) and then git reset --hard then mv build.gradle.txt build.gradle and git checkout main -- settings.gradle. Then commit.

koppor commented 1 month ago

I did option 3, tried it locally. Works. Pushed. @ThiloteE please check (and close the issue of it works for you).

ThiloteE commented 1 month ago

Doesn't work.

C:\Prog\Development\JabRef_GSoC2024_AI\InAnYan_jabref\jabref>git status
On branch ai-week2
Your branch is up to date with 'origin/ai-week2'.

nothing to commit, working tree clean

C:\Prog\Development\JabRef_GSoC2024_AI\InAnYan_jabref\jabref>gradle run

> Configure project :
Project : => 'org.jabref' Java module

> Task :run
WARNING: Unknown module: org.jabref.merged.module specified to --add-exports
Messages are not initialized before accessing key: Display help on command line options
2024-07-17 23:08:17 [JavaFX Application Thread] org.jabref.gui.theme.ThemeManager.addStylesheetToWatchlist()
INFO: Watching css C:\Prog\Development\JabRef_GSoC2024_AI\InAnYan_jabref\jabref\build\resources\main\org\jabref\gui\Base.css for live updates
2024-07-17 23:08:17 [JavaFX Application Thread] org.jabref.gui.theme.ThemeManager.updateThemeSettings()
INFO: Not updating theme because it hasn't changed
2024-07-17 23:08:17 [JavaFX Application Thread] org.jabref.gui.theme.ThemeManager.updateThemeSettings()
INFO: Theme set to Theme{type=EMBEDDED, name='Dark.css'} with base css StyleSheet{file:/C:/Prog/Development/JabRef_GSoC2024_AI/InAnYan_jabref/jabref/build/resources/main/org/jabref/gui/Base.css}
2024-07-17 23:08:17 [JavaFX Application Thread] org.jabref.gui.theme.ThemeManager.addStylesheetToWatchlist()
INFO: Watching css C:\Prog\Development\JabRef_GSoC2024_AI\InAnYan_jabref\jabref\build\resources\main\org\jabref\gui\Dark.css for live updates
2024-07-17 23:08:17 [JavaFX Application Thread] org.jabref.preferences.JabRefPreferences.getOpenAiTokenFromKeyring()
WARN: JabRef could not open keyring for retrieving OpenAI API token: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
        at java.base/com.sun.crypto.provider.CipherCore.unpad(CipherCore.java:861)
        at java.base/com.sun.crypto.provider.CipherCore.fillOutputBuffer(CipherCore.java:941)
        at java.base/com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:734)
        at java.base/com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
        at java.base/javax.crypto.Cipher.doFinal(Cipher.java:2244)
        at org.jabref@100.0.0/org.jabref.logic.shared.security.Password.decrypt(Password.java:58)
        at org.jabref@100.0.0/org.jabref.preferences.JabRefPreferences.getOpenAiTokenFromKeyring(JabRefPreferences.java:2744)
        at org.jabref@100.0.0/org.jabref.preferences.JabRefPreferences.getAiPreferences(JabRefPreferences.java:2696)
        at org.jabref@100.0.0/org.jabref.gui.JabRefGUI.initialize(JabRefGUI.java:157)
        at org.jabref@100.0.0/org.jabref.gui.JabRefGUI.start(JabRefGUI.java:88)
        at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
        at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
        at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
        at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
        at javafx.graphics@22.0.1/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
        at javafx.graphics@22.0.1/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at javafx.graphics@22.0.1/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Exception in Application start method
Exception in Application stop method
2024-07-17 23:08:19 [main] org.jabref.Launcher.main()
ERROR: Unexpected exception: java.lang.RuntimeException: Exception in Application start method
        at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
        at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
        at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.NullPointerException: Cannot invoke "org.jabref.preferences.AiPreferences$EmbeddingModel.ordinal()" because the return value of "org.jabref.preferences.AiPreferences.getEmbeddingModel()" is null
        at org.jabref@100.0.0/org.jabref.logic.ai.embeddings.AiEmbeddingModel.rebuild(AiEmbeddingModel.java:30)
        at org.jabref@100.0.0/org.jabref.logic.ai.embeddings.AiEmbeddingModel.<init>(AiEmbeddingModel.java:25)
        at org.jabref@100.0.0/org.jabref.logic.ai.AiService.<init>(AiService.java:30)
        at org.jabref@100.0.0/org.jabref.gui.JabRefGUI.initialize(JabRefGUI.java:157)
        at org.jabref@100.0.0/org.jabref.gui.JabRefGUI.start(JabRefGUI.java:88)
        at javafx.graphics@22.0.1/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
        at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
        at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
        at javafx.graphics@22.0.1/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
        at javafx.graphics@22.0.1/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
        at javafx.graphics@22.0.1/com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
        at javafx.graphics@22.0.1/com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
        ... 1 more

BUILD SUCCESSFUL in 12s
9 actionable tasks: 1 executed, 8 up-to-date
koppor commented 1 month ago

I guess I have to do option 3 on my local branch as well?

No. Your exceptin changed to

Caused by: java.lang.NullPointerException: Cannot invoke "org.jabref.preferences.AiPreferences$EmbeddingModel.ordinal()" because the return value of "org.jabref.preferences.AiPreferences.getEmbeddingModel()" is null

No more the 206 one, but another.

InAnYan commented 1 month ago

Closed as those errors are gone.

This is an "old" issue, I forgot to close it before