https://bugs.winehq.org/show_bug.cgi?id=49449
Bug ID: 49449 Summary: Terraria Server (.NET 4.x) crashes with System.NotImplementedException NATUPNPLib.IUPnPNAT.get_StaticPortMappingCollection() Product: Wine Version: 5.11 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: hnetcfg Assignee: wine-bugs@winehq.org Reporter: focht@gmx.net Distribution: ---
Hello folks,
extracted from https://bugs.winehq.org/show_bug.cgi?id=46005#c5
--- snip --- 0009:err:eventlog:ReportEventW L"Application: TerrariaServer.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.NotImplementedException\n at NATUPNPLib.IUPnPNAT.get_StaticPortMappingCollection()\n at Terraria.Netplay..cctor()\n\nException"... 0009:fixme:advapi:DeregisterEventSource (0xcafe4242) stub
Unhandled Exception: System.TypeInitializationException: The type initializer for 'Terraria.Main' threw an exception. ---> System.TypeInitializationException: The type initializer for 'Terraria.Netplay' threw an exception. ---> System.NotImplementedException: The method or operation is not implemented. at NATUPNPLib.IUPnPNAT.get_StaticPortMappingCollection() at Terraria.Netplay..cctor() --- End of inner exception stack trace --- at Terraria.Main..cctor() --- End of inner exception stack trace --- at Terraria.Main..ctor() at Terraria.Program.LaunchGame(String[] args) at Terraria.WindowsLaunch.Main(String[] args) wine: Unhandled exception 0xe0434352 in thread 9 at address 7B00DFA2 (thread 0009), starting debugger... --- snip ---
It was reported with Wine 5.0.1 but source inspection reveals the problem is still present with Wine 5.11.
Wine source:
https://source.winehq.org/git/wine.git/blob/1f6423f778f7036a3875613e10b9c8c3...
--- snip --- 717 static HRESULT WINAPI upnpnat_get_StaticPortMappingCollection(IUPnPNAT *iface, IStaticPortMappingCollection **collection) 718 { 719 upnpnat *This = impl_from_IUPnPNAT( iface ); 720 FIXME("%p, %p\n", This, collection); 721 if(collection) 722 *collection = NULL; 723 return E_NOTIMPL; 724 } --- snip ---
$ wine --version wine-5.11-111-g1f6423f778
Regards
https://bugs.winehq.org/show_bug.cgi?id=49449
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, download URL| |https://terraria.org/
https://bugs.winehq.org/show_bug.cgi?id=49449
Arek Hiler ahiler@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ahiler@codeweavers.com
--- Comment #1 from Arek Hiler ahiler@codeweavers.com --- I wonder if stubbing the collection of port mappings and E_NOTIMPL on all the calls there would help us. I'll play a bit with get_StaticPortMappingCollection() returning different things and see if this will help.
Anyway, someday someone should probably implement true upnp support so the port forwarding on compatible routers will just work through this API :-)
Let me try to reproduce the issue locally first.
https://bugs.winehq.org/show_bug.cgi?id=49449
Carsten carsten.friedrich@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |carsten.friedrich@gmail.com
--- Comment #2 from Carsten carsten.friedrich@gmail.com --- Just to clarify, Terraria has 2 server versions. Both run on Windows PCs, one is for PC multiplayer clients, the other one for mobile (Android, iOS) multiplayer clients.
My bug report was against the server for mobile clients, not the one for PC clients.
The mobile server software can be accessed here:
https://terraria.org/server/MobileTerrariaServer.zip
https://bugs.winehq.org/show_bug.cgi?id=49449
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #3 from Vijay Kamuju infyquest@gmail.com --- I think it should return S_OK as from windows 7 onwards it returns a null collection even if uPnP is enabled.
https://bugs.winehq.org/show_bug.cgi?id=49449
--- Comment #4 from Vijay Kamuju infyquest@gmail.com --- Created attachment 68370 --> https://bugs.winehq.org/attachment.cgi?id=68370 return S_OK in get_StaticPortMappingCollection
Please test with this patch applied
https://bugs.winehq.org/show_bug.cgi?id=49449
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Terraria Server (.NET 4.x) |Terraria Mobile Server |crashes with |(.NET 4.x) crashes with |System.NotImplementedExcept |System.NotImplementedExcept |ion |ion |NATUPNPLib.IUPnPNAT.get_Sta |NATUPNPLib.IUPnPNAT.get_Sta |ticPortMappingCollection() |ticPortMappingCollection()
--- Comment #5 from Gijs Vermeulen gijsvrm@gmail.com --- (In reply to Vijay Kamuju from comment #4)
Created attachment 68370 [details] return S_OK in get_StaticPortMappingCollection
Please test with this patch applied
I was able to generate a world and start the server with this world to the point it reached 'Listening on port 7777'. I can't test actually connecting to the world as I don't have Terraria Mobile.
https://bugs.winehq.org/show_bug.cgi?id=49449
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://terraria.org/ |https://terraria.org/server | |/MobileTerrariaServer.zip
https://bugs.winehq.org/show_bug.cgi?id=49449
--- Comment #6 from Carsten carsten.friedrich@gmail.com --- I can test it if you make a binary available to me. I don't think I can build it unless there are some more straight forward build instructions than the default Wine build instructions.
I'm running Intel 64Bit CPU, Ubuntu 20.04.
https://bugs.winehq.org/show_bug.cgi?id=49449
Anya maniikarabera@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maniikarabera@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=49449
--- Comment #7 from Vijay Kamuju infyquest@gmail.com --- This patch is now committed, you need to wait till 5.20 to test it then.
https://bugs.winehq.org/show_bug.cgi?id=49449
--- Comment #8 from Carsten carsten.friedrich@gmail.com --- Awesome. Looking forward to it.
https://bugs.winehq.org/show_bug.cgi?id=49449
--- Comment #9 from Carsten carsten.friedrich@gmail.com --- Just tested and Terraria Mobile Server now starts up without obvious issues.
Unfortunately this is now kind of obsolete as the developer has just released a new version of Terraria Mobile Server which now includes a native Linux version.
I suspect the issue was not specific to Terraria Mobile Server however, so hopefully other programs will still benefit from it.
Thanks to the Wine developer community for fixing this issue!
https://bugs.winehq.org/show_bug.cgi?id=49449
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED CC| |o.dierick@piezo-forte.be Fixed by SHA1| |5160c30fa75b631354586b528e3 | |be2851a1909c4
--- Comment #10 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Carsten from comment #9)
Just tested and Terraria Mobile Server now starts up without obvious issues.
Thanks to the Wine developer community for fixing this issue!
Hello,
Marking fixed by commit 5160c30fa75b631354586b528e3be2851a1909c4.
Regards.
https://bugs.winehq.org/show_bug.cgi?id=49449
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.21.
https://bugs.winehq.org/show_bug.cgi?id=49449
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |5.0.x
https://bugs.winehq.org/show_bug.cgi?id=49449
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|https://terraria.org/server |https://web.archive.org/web |/MobileTerrariaServer.zip |/20200609180658/https://ter | |raria.org/server/MobileTerr | |ariaServer.zip
https://bugs.winehq.org/show_bug.cgi?id=49449
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|5.0.x |---
--- Comment #12 from Michael Stefaniuc mstefani@winehq.org --- Removing the 5.0.x milestone from bug fixes included in 5.0.4.