View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0001640 | OpenClonk | Engine - Network | public | 2016-01-18 22:24 | 2016-06-03 22:22 | ||||
Reporter | Luchs | ||||||||
Assigned To | Luchs | ||||||||
Priority | normal | Severity | crash | Reproducibility | always | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | Linux | OS | Arch Linux | OS Version | |||||
Product Version | |||||||||
Target Version | Fixed in Version | 8.0 | |||||||
Summary | 0001640: Pre-built engine crashes due to libupnp | ||||||||
Description | The pre-built engine from the binary download crashes when creating or joining a network game. With a self-built engine, I get UPnP errors, but the game does not crash. Arch currently packages libupnp 1.6.19 which seems to be exactly the same version as the one in Debian stable, so I don't know where that incompatibility is coming from. I'd be happy with an option to disable UPnP (which doesn't work here in any case), as the pre-built engine seems to work fine other than that. | ||||||||
Additional Information | Log with pre-built engine (it's not the most recent one): [23:09:45] Version: 7.0 unix linux-x86_64 (c54d917f7e85) [...] [23:10:31] Network: Creating savegame... [23:10:31] Registering game at league.openclonk.org... [23:10:31] Preparing file Luchs.ocp for network... [23:10:31] Awaiting participants... 7.0 unix: Caught signal SIGSEGV (0x0000000000000000) ./openclonk.bak[0x53b477] ./openclonk.bak[0x53b4f3] /usr/lib/libpthread.so.0(+0x10d60)[0x7fdd9aeacd60] /usr/lib/libixml.so.2(ixmlNode_getFirstChild+0x5)[0x7fdd9d56c3df] ./openclonk.bak(_ZN15C4Network2UPnPP15Callback_StaticE16Upnp_EventType_ePvS1_+0x174)[0x53b674] /usr/lib/libupnp.so.6(UpnpThreadDistribution+0x25d)[0x7fdd9d786d67] ./openclonk.bak[0x81b740] /usr/lib/libpthread.so.0(+0x74a4)[0x7fdd9aea34a4] /usr/lib/libc.so.6(clone+0x6d)[0x7fdd9a14313d] Log with self-built engine: [23:14:00] Joining game by Luchs... [23:14:00] Connecting to host on TCP:109.193.248.242:11112, UDP:109.193.248.242:11113, TCP:192.168.0.12:11112, UDP:192.168.0.12:11113... [23:14:01] UPnP operation u:AddPortMapping failed: UPNP_E_SOCKET_ERROR [23:14:01] UPnP operation u:AddPortMapping failed: UPNP_E_SOCKET_ERROR [23:14:06] FATAL ERROR: Could not connect to host Luchs. Backtrace from gdb: [23:19:24] Joining game by Luchs... [New Thread 0x7fffcd411700 (LWP 31816)] [New Thread 0x7fffccc10700 (LWP 31817)] [New Thread 0x7fffbfffd700 (LWP 31818)] [New Thread 0x7fffbf7fc700 (LWP 31819)] [New Thread 0x7fffbeffb700 (LWP 31820)] [New Thread 0x7fffbe7fa700 (LWP 31821)] [New Thread 0x7fffbdff9700 (LWP 31822)] [New Thread 0x7fffbd7f8700 (LWP 31823)] [New Thread 0x7fffbcff7700 (LWP 31824)] [Thread 0x7fffbcff7700 (LWP 31824) exited] [New Thread 0x7fffbcff7700 (LWP 31825)] [Thread 0x7fffbcff7700 (LWP 31825) exited] [New Thread 0x7fffbcff7700 (LWP 31826)] [23:19:24] Connecting to host on TCP:109.193.248.242:11112, UDP:109.193.248.242:11113, TCP:192.168.0.12:11112, UDP:192.168.0.12:11113... [New Thread 0x7fffa7fff700 (LWP 31827)] [New Thread 0x7fffa77fe700 (LWP 31828)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffccc10700 (LWP 31817)] 0x00007ffff51a23df in ixmlNode_getFirstChild () from /usr/lib/libixml.so.2 (gdb) bt #0 0x00007ffff51a23df in ixmlNode_getFirstChild () from /usr/lib/libixml.so.2 #1 0x000000000053b674 in C4Network2UPnPP::Callback_Static(Upnp_EventType_e, void*, void*) () #2 0x00007ffff53bcd67 in UpnpThreadDistribution () from /usr/lib/libupnp.so.6 0000003 0x000000000081b740 in ?? () #4 0x00007ffff2ad94a4 in start_thread () from /usr/lib/libpthread.so.0 0000005 0x00007ffff1d7913d in clone () from /usr/lib/libc.so.6 | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
![]() |
|
occ (reporter) 2016-06-03 15:22 |
Hi! There's been a check-in that references this bug. For more information you can visit the repository browser at this address: https://git.openclonk.org/openclonk.git/commitdiff/07e8c75bac387df28983d5d47196b7c5fd3c571c Changeset 07e8c75 by Lukas Werling <lukas.werling@gmail.com> Replace libupnp with miniupnpc - The new code works with my router while libupnp didn't. :) - There are some unexplainable crashes in libupnp: 0001640 - Using miniupnpc seems to be less complex than libupnp. - Apparently, miniupnpc also works on Windows, so we may be able to use it for all platforms. Disadvantage: UPnP queries aren't asynchronous anymore, but they seem to be pretty fast (< 1 s). |
Luchs (administrator) 2016-06-03 22:22 |
I replaced libupnp with miniupnpc, so it can't crash because of libupnp anymore! |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2016-01-18 22:24 | Luchs | New Issue | |
2016-06-03 15:22 | occ | Note Added: 0005113 | |
2016-06-03 22:22 | Luchs | Note Added: 0005114 | |
2016-06-03 22:22 | Luchs | Status | new => resolved |
2016-06-03 22:22 | Luchs | Fixed in Version | => 8.0 |
2016-06-03 22:22 | Luchs | Resolution | open => fixed |
2016-06-03 22:22 | Luchs | Assigned To | => Luchs |