Description of problem: Unable to start Maelstrom. Running it from the command line gives the error message "Couldn't create bound network socket". Version-Release number of selected component (if applicable): Maelstrom-3.0.6-1 How reproducible: Sometimes (usually works, but when it doesn't, it doesn't work reproducibly for the duration of the session. Rebooting fixes it.) Presumably the resource is either used up, or Maelstrom makes false assumptions which limit access to it. Steps to Reproduce: 1. Try to run Maelstrom from the command line. Actual results: Error message "Couldn't create bound network socket". Expected results: Maelstrom should run. Additional info: The last few lines from "strace -f Maelstrom" (I saved the whole thing to a file if that's needed): open("/home/andre/.Maelstrom-data", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0664, st_size=35, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xbf537000 read(3, "MAEL3\4\23\0\0\0 \0\0\0\21\1\0\0\23\1\0\0\24\1\0\0\t\0"..., 4096) = 35 close(3) = 0 munmap(0xbf537000, 4096) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 bind(3, {sa_family=AF_INET, sin_port=htons(44718), sin_addr=inet_addr("0.0.0.0")}, 16) = -1 EADDRINUSE (Address already in use) close(3) = 0 write(2, "Couldn\'t create bound network so"..., 36Couldn't create bound network socket) = 36 exit_group(1) = ?
What's on port 44718 on your system when this fails?
[andre@localhost andre]$ /usr/sbin/lsof|grep 44718 esd 3465 andre 3u IPv4 50161 UDP *:44718 This time it happened immediately after quitting Maelstrom. The next time I tried to start it, it was hosed. I've upgraded to FC2 since creating this bug report so it's still there. After I killed the esd process, Maelstrom works again. It appears that after exiting, the esd process is supposed to die but sometimes it doesn't.
Maelstrom uses a hardcoded portnumber which can be already in use when the game is started. There is no easy way to fix this behaviour because the clients of the other players (in a network game) have no way of autodetecting the portnumer of your Maelstrom client if you change the sources to use the next available free port number. Btw: The same will happen if any other process takes hold of port 44718 befor Maelstrom starts up, that's not limited to esd. It's expected behaviour as long as Maelstrom is using a fixed portnumber.
Is the esd process always supposed to automatically exit when Maelstrom does? If so, then that's the core problem here, and this bug should be reassigned to esound (or whatever the appropriate package is) instead of just closed.