xpipe-io / xpipe

Your entire server infrastructure at your fingertips
https://xpipe.io
Apache License 2.0
2.7k stars 73 forks source link

xpipe errors out on later versions #303

Closed JohnDoe-dev-spec closed 1 month ago

JohnDoe-dev-spec commented 1 month ago

Hi folks,

I have an issue with xPipe where when i unlock my vault with my passphrase the following errors getting thrown up;

java.lang.NullPointerException: Cannot invoke "io.xpipe.app.ext.DataStoreProvider.launchAction(io.xpipe.app.storage.DataStoreEntry)" because the return value of "io.xpipe.app.storage.DataStoreEntry.getProvider()" is null

java.lang.NullPointerException: Cannot invoke "io.xpipe.app.ext.DataStoreProvider.launchAction(io.xpipe.app.storage.DataStoreEntry)" because the return value of "io.xpipe.app.storage.DataStoreEntry.getProvider()" is null at io.xpipe.ext.base.action.LaunchStoreAction$2.isApplicable(LaunchStoreAction.java:81) at io.xpipe.app.comp.store.StoreEntryWrapper.lambda$update$11(StoreEntryWrapper.java:172) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1685) at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:129) at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:527) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:513) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:647) at io.xpipe.app.comp.store.StoreEntryWrapper.update(StoreEntryWrapper.java:173) at io.xpipe.app.comp.store.StoreViewState.lambda$updateContent$1(StoreViewState.java:80) at java.lang.Iterable.forEach(Iterable.java:75) at io.xpipe.app.comp.store.StoreViewState.updateContent(StoreViewState.java:80) at io.xpipe.app.comp.store.StoreViewState.init(StoreViewState.java:56) at io.xpipe.app.core.mode.PlatformMode.onSwitchTo(PlatformMode.java:57) at io.xpipe.app.core.mode.GuiMode.onSwitchTo(GuiMode.java:36) at io.xpipe.app.core.mode.OperationMode.set(OperationMode.java:327) at io.xpipe.app.core.mode.OperationMode.switchToSyncOrThrow(OperationMode.java:154) at io.xpipe.app.launcher.LauncherCommand.call(LauncherCommand.java:172) at io.xpipe.app.launcher.LauncherCommand.call(LauncherCommand.java:30) at picocli.CommandLine.executeUserObject(CommandLine.java:2045) at picocli.CommandLine.access$1500(CommandLine.java:148) at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465) at picocli.CommandLine$RunLast.handle(CommandLine.java:2457) at picocli.CommandLine$RunLast.handle(CommandLine.java:2419) at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277) at picocli.CommandLine$RunLast.execute(CommandLine.java:2421) at picocli.CommandLine.execute(CommandLine.java:2174) at io.xpipe.app.launcher.LauncherCommand.runLauncher(LauncherCommand.java:74) at io.xpipe.app.core.mode.OperationMode.init(OperationMode.java:133) at io.xpipe.app.Main.main(Main.java:27)

java.lang.NullPointerException: Cannot invoke "io.xpipe.app.ext.DataStoreProvider.shouldShow(io.xpipe.app.comp.store.StoreEntryWrapper)" because the return value of "io.xpipe.app.storage.DataStoreEntry.getProvider()" is null

java.lang.NullPointerException: Cannot invoke "io.xpipe.app.ext.DataStoreProvider.shouldShow(io.xpipe.app.comp.store.StoreEntryWrapper)" because the return value of "io.xpipe.app.storage.DataStoreEntry.getProvider()" is null at io.xpipe.app.comp.store.StoreEntryListOverviewComp.lambda$createGroupListHeader$3(StoreEntryListOverviewComp.java:78) at io.xpipe.app.fxcomps.util.DerivedObservableList$1.test(DerivedObservableList.java:171) at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:178) at java.util.AbstractList$RandomAccessSpliterator.forEachRemaining(AbstractList.java:722) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:575) at java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:260) at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:616) at java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:622) at java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:627) at io.xpipe.app.fxcomps.util.DerivedObservableList.lambda$filtered$10(DerivedObservableList.java:183) at io.xpipe.app.fxcomps.util.DerivedObservableList.filtered(DerivedObservableList.java:186) at io.xpipe.app.fxcomps.util.DerivedObservableList.filtered(DerivedObservableList.java:166) at io.xpipe.app.comp.store.StoreEntryListOverviewComp.createGroupListHeader(StoreEntryListOverviewComp.java:62) at io.xpipe.app.comp.store.StoreEntryListOverviewComp.createSimple(StoreEntryListOverviewComp.java:226) at io.xpipe.app.fxcomps.SimpleComp.createBase(SimpleComp.java:9) at io.xpipe.app.fxcomps.Comp.createStructure(Comp.java:199) at io.xpipe.app.fxcomps.Comp.createRegion(Comp.java:195) at io.xpipe.app.fxcomps.impl.VerticalComp.createBase(VerticalComp.java:39) at io.xpipe.app.fxcomps.Comp.createStructure(Comp.java:199) at io.xpipe.app.fxcomps.Comp.createRegion(Comp.java:195) at io.xpipe.app.comp.store.StoreSidebarComp.createSimple(StoreSidebarComp.java:38) at io.xpipe.app.fxcomps.SimpleComp.createBase(SimpleComp.java:9) at io.xpipe.app.fxcomps.Comp.createStructure(Comp.java:199) at io.xpipe.app.fxcomps.Comp.createRegion(Comp.java:195) at io.xpipe.app.comp.base.SideSplitPaneComp.createBase(SideSplitPaneComp.java:29) at io.xpipe.app.comp.base.SideSplitPaneComp.createBase(SideSplitPaneComp.java:14) at io.xpipe.app.fxcomps.Comp.createStructure(Comp.java:199) at io.xpipe.app.comp.store.StoreLayoutComp.createSimple(StoreLayoutComp.java:23) at io.xpipe.app.fxcomps.SimpleComp.createBase(SimpleComp.java:9) at io.xpipe.app.fxcomps.Comp.createStructure(Comp.java:199) at io.xpipe.app.fxcomps.Comp.createRegion(Comp.java:195) at io.xpipe.app.comp.base.MultiContentComp.createSimple(MultiContentComp.java:56) at io.xpipe.app.fxcomps.SimpleComp.createBase(SimpleComp.java:9) at io.xpipe.app.fxcomps.Comp.createStructure(Comp.java:199) at io.xpipe.app.fxcomps.Comp.createRegion(Comp.java:195) at io.xpipe.app.comp.AppLayoutComp.createBase(AppLayoutComp.java:48) at io.xpipe.app.fxcomps.Comp.createStructure(Comp.java:199) at io.xpipe.app.fxcomps.Comp.createRegion(Comp.java:195) at io.xpipe.app.core.window.AppMainWindow.setupContent(AppMainWindow.java:265) at io.xpipe.app.core.window.AppMainWindow.setContent(AppMainWindow.java:310) at io.xpipe.app.core.App.setupWindow(App.java:55) at io.xpipe.app.core.mode.GuiMode.lambda$onSwitchTo$2(GuiMode.java:45) at io.xpipe.app.fxcomps.util.PlatformThread.lambda$runLaterIfNeededBlocking$3(PlatformThread.java:339) at io.xpipe.app.fxcomps.util.PlatformThread.lambda$runLaterIfNeededBlocking$4(PlatformThread.java:348) at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456) at java.security.AccessController.doPrivileged(AccessController.java:400) at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184) at java.lang.Thread.run(Thread.java:1583)

However using version 9.4.1 i can unlock my vault and use xpipe no problem. It only appears to be an issue for releases newer than this.

Thanks!

crschnick commented 1 month ago

Is this using version 10.1.1?

JohnDoe-dev-spec commented 1 month ago

Is this using version 10.1.1?

Yeah this error is from version 10.1.1

I've tried multiple previous versions prior and only 9.4.1 seems to be working for me with my vault and save connections.

crschnick commented 1 month ago

So that is very weird, it shouldn't even be possible that the value is null there.

Does it start up eventually when clicking the error messages away?

crschnick commented 1 month ago

Also how old is the vault? I.e. what was the first version of xpipe it was created on

JohnDoe-dev-spec commented 1 month ago

I'm afraid not, i ignore the errors and then nothing, xpipe doesn't load up for me to use.

With regards to the vault, i honestly can't remember. Looking at the date modified in the stores folder its looking around November 2023.

crschnick commented 1 month ago

Alright, let me think about how to debug this

crschnick commented 1 month ago

Ok so I could in theory just make the loading more resilient to these issues but that would not tell me why this is happening in the first place.

What os is this on? Then I can quickly create a dev build with specific logging enabled for this problem.

JohnDoe-dev-spec commented 1 month ago

On Windows 11

Cheers!

crschnick commented 1 month ago

Alright can you try this: https://we.tl/t-rUMGhBxMES

Once the error occurs, you can go to /.xpipe/logs and search in the latest log for Invalid provider state, that should shed some light on this issue.

JohnDoe-dev-spec commented 1 month ago

xpipe.log

Log attached, thanks!

crschnick commented 1 month ago

Do you by any chance have the predefined scripts category synced to your vault?

I think this was possible in early versions but can no longer be done.

crschnick commented 1 month ago

Alright, I think I fixed the cause for this issue in this dev build: https://we.tl/t-OlVUf2PfFu

Let me know whether it works for you

JohnDoe-dev-spec commented 1 month ago

That has worked a treat, thank you!

I couldnt tell you whether i have the predefined scripts syncing to the vault, its not something i've used. But i can see there is 1 custom script with nothing setup and 13 predefined ones.

Thank you so much for quickly fixing the issue on this, i can now update my version of xpipe when the new release is out.

crschnick commented 1 month ago

This is now fixed in https://github.com/xpipe-io/xpipe/releases/tag/10.2