question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

External Kernel Extensions with Formatters cannot load anymore `System.MissingMethodException`

See original GitHub issue

Describe the bug

Since the newest update, kernel extension containing a call to Formatter.Register will fail with the following stack trace

Loading kernel extension "ClockKernelExtension" from assembly /home/gregor/.nuget/packages/clockextension/1.3.5/interactive-extensions/dotnet/ClockExtension.dll
Error: Microsoft.DotNet.Interactive.KernelExtensionLoadException: Failure loading Kernel Extension
---> System.MissingMethodException: Method not found: 'Void Microsoft.DotNet.Interactive.Formatting.Formatter.Register(System.Action`2<!!0,System.IO.TextWriter>, System.String, Boolean)'.
at ClockExtension.ClockKernelExtension.OnLoadAsync(Kernel kernel)
at Microsoft.DotNet.Interactive.Extensions.AssemblyBasedExtensionLoader.LoadFromAssembly(FileInfo assemblyFile, Kernel kernel, KernelInvocationContext context) in F:\workspace\_work\1\s\src\Microsoft.DotNet.Interactive\Extensions\AssemblyBasedExtensionLoader.cs:line 130
--- End of inner exception stack trace ---

I tested the most common overloads using the different Func and Action delegates as well as the one taking an ITypeFormatter. The behavior is reproducible with extensions written in F# (currently all my extensions are failing unfortunately) as well as the ones in C# (I tested the ClockExtension in this repo to see if it only hits F# projects - it appears to impact everything).

I tried to snoop around in the source code but I fear, that I don’t understand it well enough to find the problem. If I can add any more info I’m always happy to help.

Please complete the following:

VSCode Plugin Version: v1.0.157302 (Git SHA 6dfc99911743a633b5edbac09a8c5fe5e5e9f980)

image

  • OS
    • [ x] Windows 10 (remote on WSL2 Ubuntu 20.04)
    • macOS
    • Linux (Please specify distro)
    • iOS
    • Android
  • Browser
    • Chrome
    • Edge
    • Firefox
    • Safari
    • Not applicable
  • Frontend
    • Jupyter Notebook
    • Jupyter Lab
    • nteract
    • Visual Studio Code
    • Other (please specify)

Screenshots

image

image

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
colombodcommented, Nov 27, 2020

@WalternativE you are most welcome

0reactions
WalternativEcommented, Nov 27, 2020

I tested my extension packages with your suggested changes. It works perfectly 🎉🎉🎉🎉 Thank you very much for your help and for your patience with my issue. Really loving to see dotnet interactive being updated to .NET 5 that quickly.

Read more comments on GitHub >

github_iconTop Results From Across the Web

System.MissingMethodException: Method not found?
This is a problem which can occur when there is an old version of a DLL still lingering somewhere around. Make sure that...
Read more >
System and kernel extensions in macOS
In macOS 11 or later, if third-party kernel extensions (kexts) are enabled, they can't be loaded into the kernel on demand.
Read more >
System policy prevents loading the kernel extension. ...
System policy prevents loading the kernel extension. DO NOT have the option to 'Allow' in System Preferences.
Read more >
How to enable System Extensions on Apple M1 - YouTube
In this video I will show you How to enable system extensions in any of ... Spotify - https:// open.spotify.com/show/34R8tZiQ1wIEse7VvcdrPR 4.
Read more >
Approving Kernel Extensions for macOS - IS&T Contributions
Grant access to the kernel extension. Open Apple System Preferences. Open Security & Privacy. Select the General tab.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found