Anonymous Login
2017-05-25 16:18 CEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0001886OpenClonkEngine - Networkpublic2017-01-22 21:58
ReporterK-Pone 
Assigned ToLuchs 
PrioritynormalSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
PlatformDesktopOSWindows 7OS Version64 bit
Product Version 
Target VersionFixed in Version 
Summary0001886: Error in network lobby, no link-local adress available
DescriptionOn Windows clients there is no link-local IPv6 adress found. This seems to cause an error as seen in the attached screenshot.
Steps To ReproduceClick on refresh in the network lobby
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0005604

Luchs (developer)

@Isilkor: Can you check why the Windows C4NetIO::GetLocalAddresses() does not find any link-local addresses? It seems to only return the current IPv6 privacy address. (Actually, I'm not sure whether it does even that - the IPv6 address could also come from the netpuncher.)

~0005605

Isilkor (developer)

GetLocalAddresses does return link-local addresses on Windows. Local discovery fails because C4NetDiscoveryAddress is initialized before the startup code runs, which means Winsock isn't initialized yet, which means getaddrinfo fails, which means C4NetDiscoveryAddress contains an invalid sockaddr, which means we can't bind to it in order to send discovery messages.

~0005606

occ (reporter)

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/459adbd199a6614da46eacfa3383728f3fd1faf9

Changeset 459adbd by Lukas Werling <lukas.werling@gmail.com>
Fix local network discovery on Windows (0001886)

On Windows, we cannot resolve addresses using getaddrinfo() before
initializing Winsock. By storing the address as string, the address
parsed later on.

~0005607

Luchs (developer)

I fixed the early initialization. @K-Pone: Does this fix the error?

The missing local address was an observation from joining a game.

~0005608

K-Pone (developer)

@Luchs; It's fixed
+Notes

-Issue History
Date Modified Username Field Change
2017-01-20 18:40 K-Pone New Issue
2017-01-20 18:40 K-Pone File Added: ocerr.PNG
2017-01-20 19:29 Luchs Note Added: 0005604
2017-01-20 20:39 Isilkor Note Added: 0005605
2017-01-21 16:03 occ Note Added: 0005606
2017-01-21 16:05 Luchs Assigned To => Luchs
2017-01-21 16:05 Luchs Status new => feedback
2017-01-21 16:05 Luchs Note Added: 0005607
2017-01-22 21:31 K-Pone Note Added: 0005608
2017-01-22 21:31 K-Pone Status feedback => assigned
2017-01-22 21:58 Luchs Status assigned => resolved
2017-01-22 21:58 Luchs Resolution open => fixed
+Issue History