TechnitiumSoftware / DnsServer

Technitium DNS Server

Home Page:https://technitium.com/dns/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Query Logs on Musl/Alpine not working

gitfoohub opened this issue · comments

commented

When using technitium on Alpine/Musl the Query Logs App seems to use the linux-x64 binary and not linux-musl-x64 (The log shows the error: "fcntl64: symbol not found"). After deleting the linux-x64 folder in the config/apps/Query Logs (Sqlite)/runtimes folder and copying the linux-musl-x64 to linux-x64 everything worked fine.

Thanks for the feedback. Please share the complete error log so that I can try to reproduce same here.

Also, let me know the exact OS version that you are using.

commented

---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.DllNotFoundException: Unable to load shared library '/tmp/tmpgFEeoH.tmp' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
Error relocating /tmp/tmpgFEeoH.tmp: fcntl64: symbol not found

at System.Runtime.InteropServices.NativeLibrary.Load(String libraryPath)
at System.Runtime.Loader.AssemblyLoadContext.LoadUnmanagedDllFromPath(String unmanagedDllPath)
at DnsServerCore.Dns.DnsApplicationAssemblyLoadContext.LoadUnmanagedDll(String unmanagedDllName) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\Applications\DnsApplicationAssemblyLoadContext.cs:line 142
at System.Runtime.Loader.AssemblyLoadContext.ResolveUnmanagedDll(String unmanagedDllName, IntPtr gchManagedAssemblyLoadContext)
at SQLitePCL.SQLite3Provider_e_sqlite3.NativeMethods.sqlite3_libversion_number()
at SQLitePCL.SQLite3Provider_e_sqlite3.SQLitePCL.ISQLite3Provider.sqlite3_libversion_number()
at SQLitePCL.raw.SetProvider(ISQLite3Provider imp)
at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodBaseInvoker.InvokeWithNoArgs(Object obj, BindingFlags invokeAttr)
at Microsoft.Data.Sqlite.SqliteConnection..cctor()
--- End of inner exception stack trace ---
at QueryLogsSqlite.App.Dispose() in Z:\Technitium\Projects\DnsServer\Apps\QueryLogsSqliteApp\App.cs:line 158
at DnsServerCore.Dns.Applications.DnsApplication.Dispose(Boolean disposing) in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\Applications\DnsApplication.cs:line 233
at DnsServerCore.Dns.Applications.DnsApplication.Dispose() in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\Applications\DnsApplication.cs:line 245
at DnsServerCore.Dns.Applications.DnsApplicationManager.UnloadAllApplications() in Z:\Technitium\Projects\DnsServer\DnsServerCore\Dns\Applications\DnsApplicationManager.cs:line 163

I'm running it in a LXC Container with Alpine Edge, 3.19 doesn't have NET 8. The host is Proxmox in case that makes a difference.

Thanks for the details. Will get this fixed in the next update.

Technitium DNS Server v12.2.1 is now available that fixes this issue. Do update and let me know your feedback.

commented

Everything works fine. Thank you for your great work!

Thanks for the feedback!