-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No ingame upload possible with error message #156
Comments
Mirrored on Codeberg as #CB87. |
Assigned to Nordfriese |
Nope:
|
Mirrored from Codeberg Did you check out and compile the branch https://github.com/widelands/widelands/tree/mirror/Nordfriese/widelands/87-addon-upload-error ? (The bug is in Widelands, not in the server) |
I am unable to compile this branch. Tried in a virtual machine with Ubuntu and with LinuxMint. All dependencies are installed. The SegFault error occurs in every OS on another position. |
It must be a server problem. I just tried to overwrite the addon "europeans_tribe.wad" on the server with an empty addon (only containing the addon file) and I got the same error message. So it can't be because the amount of data is too large or the transfer is leaking or something like that. The server is sending some signal or data that the game cannot process correctly. Have you ever checked the hash algorithm that compares local and server data? |
Mirrored from Codeberg The server log simply says this:
The hashing algorithm is fine (tested a lot when first implementing it), so it must be a problem locally in the Widelands client. It might be related to the new timeouts, maybe try editing diff --git a/src/network/net_addons.cc b/src/network/net_addons.cc
index f62bcc7868..3b575384dc 100644
--- a/src/network/net_addons.cc
+++ b/src/network/net_addons.cc
@@ -199,17 +199,17 @@ void NetAddons::init(std::string username, std::string password) {
DWORD timeout_val = kTimeout * 1000;
const char* timeout_ptr = reinterpret_cast<const char*>(&timeout_val);
// Set timeout of read()
- setsockopt(client_socket_, SOL_SOCKET, SO_RCVTIMEO, timeout_ptr, sizeof(timeout_val));
+ // setsockopt(client_socket_, SOL_SOCKET, SO_RCVTIMEO, timeout_ptr, sizeof(timeout_val));
// Set timeout of write()
- setsockopt(client_socket_, SOL_SOCKET, SO_SNDTIMEO, timeout_ptr, sizeof(timeout_val));
+ // setsockopt(client_socket_, SOL_SOCKET, SO_SNDTIMEO, timeout_ptr, sizeof(timeout_val));
#else
struct timeval timeout_val;
timeout_val.tv_sec = kTimeout;
timeout_val.tv_usec = 0;
// Set timeout of read()
- setsockopt(client_socket_, SOL_SOCKET, SO_RCVTIMEO, &timeout_val, sizeof(timeout_val));
+ // setsockopt(client_socket_, SOL_SOCKET, SO_RCVTIMEO, &timeout_val, sizeof(timeout_val));
// Set timeout of write()
- setsockopt(client_socket_, SOL_SOCKET, SO_SNDTIMEO, &timeout_val, sizeof(timeout_val));
+ // setsockopt(client_socket_, SOL_SOCKET, SO_SNDTIMEO, &timeout_val, sizeof(timeout_val));
#endif
const std::string target_ip = get_config_string("addon_server_ip", "widelands.org"); |
That fixed the problem. |
Mirrored from Codeberg Ok, I have added a commit to the linked Widelands branch that suppresses the timeouts just for selected operations including uploading an add-on. The next time you update the europeans add-ons suite can you please try again with the latest commit to verify that the fix still works in that form? (We can't simply apply the above patch to master, the timeouts were added to fix a different bug…) |
Setting |
Since two weeks I cannot upload my Europeans tribe addon. There is always an error. See screenshot.
If I want to update the food addon, the upload works, but a similar error message appears afterwards.
Upload of my map addon or the debug script addon works fine.
The text was updated successfully, but these errors were encountered: