Skip to content

Plugins Loading issue #4270

@superboyiii

Description

@superboyiii

Describe the bug
I found plugins loading has several issues after current changes on dev.

  1. RestServer can't load correctly although Applicationlogs can work well. The error is:
System.NullReferenceException: Object reference not set to an instance of an object.
   at Neo.Plugins.ApplicationLogs.LogReader.OnSystemLoaded(NeoSystem system)
   at Neo.NeoSystem..ctor(ProtocolSettings settings, IStoreProvider storageProvider, String storagePath) in E:\PR-test\neo-PR#4202\neo\src\Neo\NeoSystem.cs:line 154
   at Neo.NeoSystem..ctor(ProtocolSettings settings, String storageProvider, String storagePath) in E:\PR-test\neo-PR#4202\neo\src\Neo\NeoSystem.cs:line 128
   at Neo.CLI.MainService.Start(CommandLineOptions options) in E:\PR-test\neo-PR#4202\neo\src\Neo.CLI\CLI\MainService.cs:line 350
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

Seems RestServer is scanning all AppDomain which makes loading conflicts with ApplicationLogs
Here:

WebHost.CreateDefaultBuilder()
    .ConfigureServices((context, services) =>
    {
        services.AddControllers();
    })
  1. Can't load SignClient correctly. Error is:
System.ArgumentException: Can't find the storage provider LevelDBStore (Parameter 'storageProvider')
   at Neo.NeoSystem..ctor(ProtocolSettings settings, String storageProvider, String storagePath) in E:\PR-test\neo-PR#4202\neo\src\Neo\NeoSystem.cs:line 128
   at Neo.CLI.MainService.Start(CommandLineOptions options) in E:\PR-test\neo-PR#4202\neo\src\Neo.CLI\CLI\MainService.cs:line 350
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
  1. Can't load SqliteWallet correctly. The same error:
neo> System.ArgumentException: Can't find the storage provider LevelDBStore (Parameter 'storageProvider')
   at Neo.NeoSystem..ctor(ProtocolSettings settings, String storageProvider, String storagePath) in E:\PR-test\neo-PR#4202\neo\src\Neo\NeoSystem.cs:line 128
   at Neo.CLI.MainService.Start(CommandLineOptions options) in E:\PR-test\neo-PR#4202\neo\src\Neo.CLI\CLI\MainService.cs:line 350
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()

Expected behavior
They all should be loaded correctly.

@shargon @cschuchardt88 @Wi1l-B0t @vncoelho

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions