This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
client:bugs [2018/03/15 15:36] karl [Pressing a keyboard key activates the command-line] Add link to the Changelog where that bug was fixed |
client:bugs [2024/12/30 16:42] (current) leaf Remove known client issues link |
||
---|---|---|---|
Line 3: | Line 3: | ||
The Crossfire [[:client]] has a longer version history, and I want to list bugs I found, using these older versions below the current versions 1.71.0 and 1.72.0 | The Crossfire [[:client]] has a longer version history, and I want to list bugs I found, using these older versions below the current versions 1.71.0 and 1.72.0 | ||
- | See also page [[:known_client_issues]] . | ||
====== All clients ===== | ====== All clients ===== | ||
Line 12: | Line 11: | ||
- Entering a web address with no crossfire specific protocol on their side like "google.com" | - Entering a web address with no crossfire specific protocol on their side like "google.com" | ||
- | See also : [[:known_client_issues#Client freezes]] | ||
====== GTK-v2 ====== | ====== GTK-v2 ====== | ||
+ | ===== Server listing does not show ===== | ||
+ | |||
+ | ==== Reason : No internet connection. ==== | ||
+ | |||
+ | Affected versions : 1.11.0 and 1.12.0 | ||
+ | |||
+ | Explanation : \\ | ||
+ | When the client starts, it tries to look up for the [[:servers:metaservers]] , that | ||
+ | are hardcoded inside, usually at http://crossfire.real-time.com/metaserver2 . \\ | ||
+ | But this look-up fails, because the connection to the world-wide-web is not possible. | ||
+ | |||
+ | Version 1.11 of the client loops forever printing //Choosing server 0// | ||
+ | when launched inside a terminal. The '0' reads in human minds as '1' . | ||
+ | From the list of metaservers a random metaserver gets chosen. | ||
+ | But because at that time there was just one metaserver-address | ||
+ | written in the code, it will be always number '1' ( as '0' would be the first of the list ). | ||
+ | |||
+ | Version 1.12 of the client does not loop forever, but still | ||
+ | tries the metaserver list, without stopping it at a point and presenting the | ||
+ | list from the **.**[[crossfire]] / servers.cache file instead. | ||
+ | |||
+ | Version 1.50 of the client works again. But this version is affected by the create character bug, when playing on a server of versions 1.50 and later. | ||
+ | |||
+ | ==== Reason : No internet connection and no servers.cache file ==== | ||
+ | |||
+ | Affected versions : Likely all versions of the client. | ||
+ | |||
+ | Explanation : \\ | ||
+ | When the client starts, it should present a list of servers consisting of entries | ||
+ | received by the metaserver lookup and by entries from the servers.cache file. | ||
+ | But the metaservers can not send a list, because they did not receive a request | ||
+ | and an empty or non-existent servers.cache file has no entries. | ||
+ | |||
+ | ===== Client freezes when connecting to a server ===== | ||
+ | |||
+ | Reason : No internet connection. \\ | ||
+ | |||
+ | Affected versions : 1.60.0 and 1.70.0; probably later versions. \\ | ||
+ | 1.50.0 works fine, but has the create character bug. | ||
+ | |||
+ | Explanation : \\ | ||
+ | When the client starts, it presents a list to select a server to play on. | ||
+ | This list is a mix of servers a gamer once connected to from | ||
+ | the file **.**[[crossfire]] / servers.cache and from the list, | ||
+ | the metaserver lookup received. While the terminal gets printed an error | ||
+ | message, the failed lookup message does not reach the average user | ||
+ | being printed somewhere visible to him. \\ | ||
+ | But the user can still select from the cached entries an on-line server. \\ | ||
+ | When the client tries to connect to the chosen on-line server, | ||
+ | the client freezes forever, on Linux | ||
+ | eating up one cpu-core 100% in //- system: processes executing in kernel mode// | ||
+ | state; whatever "kernel mode" means - | ||
+ | //linux/Documentation/filesystems/proc.txt// does not tell much about it. | ||
+ | |||
+ | Termination of the client on Linux is only possible by the KILL signal, | ||
+ | all other signals fail to close the client and freeing the CPU : \\ | ||
+ | ''killall -9 crossfire-client-gtk2'' . | ||
+ | |||
===== Quit the server connection ===== | ===== Quit the server connection ===== | ||
Line 34: | Line 90: | ||
===== Pressing a keyboard key activates the command-line ===== | ===== Pressing a keyboard key activates the command-line ===== | ||
- | The so-called "double press" issue as described at [[:known_client_issues#1.11.0]] , [[:known_client_issues#1.10.0]] and [[:known_client_issues#1.9.1]] describes the problem not really understandable. | + | The so-called "double press" issue as describes the problem not really understandable. |
To reproduce : \\ | To reproduce : \\ | ||
Line 53: | Line 109: | ||
====== GTK-v1 ====== | ====== GTK-v1 ====== | ||
+ | ===== Version 1.9.1 ===== | ||
+ | ==== Client crashes after having negotiated with the server ==== | ||
+ | The client crashes when it should present either the [[optional_parameters#-popups]] separate log-in window, or the login-messages and dialog in the info message pane, when the player would login when attempting to play on newer versions of the server 1.10.0 and above. \\ | ||
+ | The ''strace'' command shows | ||
+ | > read(11, "map2 =\20Q\2H\377A\20p\v \34\377E\20p\v \34\377I\20p\v \34\377"..., 1316) = 1316 | ||
+ | >--- SIGSEGV (Segmentation fault) @ 0 (0) --- | ||
+ | >rt_sigaction(SIGSEGV, {SIG_DFL}, {0xb73bb000, [], 0}, 8) = 0 | ||
+ | Reason : Unknown. \\ | ||
+ | Workaround: Use the GTK-2 version of the client. | ||
====== X11 ====== | ====== X11 ====== | ||
===== -pix -xpm -png cmdline options ===== | ===== -pix -xpm -png cmdline options ===== |