Recent changes Random page
GAMING
Gaming
 
WoWWiki
Halopedia
FFXIclopedia
Age of Conan
Warhammer Online
Grand Theft Wiki
See more...

Bug Reporting

From Freeciv

Jump to: navigation, search

Coding | Remember | How to Contribute | Bug Reporting | Commit Rules | Source Tree Access | Help Wanted Forum | Known Bugs | Browse Source Tree | Testing tips | edit navbar


To report a bug you should use our bug tracking system RT or send a mail to RT e-mail gateway. Before submitting a report you should check if the bug has already been reported. Take a look at the list of Known Bugs.

Good bug report should contain:

  • Description of the problem. The easiest bugs to fix are those which developers can reproduce. If it is possible please provide a step by step instruction to trigger a bug.
  • Freeciv version. Please specify how did you download or compiled your copy. If you report a problem in the client please tell us whether you are using win32, gtk2 or xaw client type.
  • Information about environment which your copy is run in: OS version, window manager, unusual compilator options, etc.

After submitting the report you should expect further questions. You may be asked for a savegame or backtrace. Therefore you should keep the savegame for some time.

[edit] Backtrace

Backtrace is a very usefull information about state of a process. Usually when program crashes, programmers look at the state to investigate a cause of the bug. To provide a backtrace you can either run the program inside the gdb program or by investigating a core file, which the program left on a disc after it had crashed.

$ gdb civclient
(gdb) run

or

$ gdb civclient -c core

In first case you have to reproduce a crash, in the second case a state of the program which crashed is already inside the core file. Now you should type

(gdb) bt full

The result will look like this:

#0  0xb78969e7 in raise () from /lib/tls/libc.so.6
#1  0xb789831b in abort () from /lib/tls/libc.so.6
#2  0xb788f885 in __assert_fail () from /lib/tls/libc.so.6
#3  0x08072414 in meswin_thaw () at messagewin_common.c:54
#4  0x0805d31c in reports_thaw () at climisc.c:967
#5  0x0807a718 in handle_thaw_hint () at packhand.c:2701
#6  0x0807aa36 in client_handle_packet (type=PACKET_THAW_HINT,
    packet=0x8bdfb90) at packhand_gen.c:35
#7  0x08059ae8 in handle_packet_input (packet=0x8bdfb90, type=3)
    at civclient.c:390

This is the information we are interested in. If you compile your copy with the '-g' compiler option, the result will contain more useful information.

[edit] Backtrace on Windows

You need gdb for Windows and the Freeciv binaries with debugging symbols. The necessary files for versions 2.0.9 and 2.1 are available prepackaged from ftp. The zip archives should be extracted into the Freeciv directory and then server and/or client can be loaded into gdb with "gdb civserver.exe" and "gdb civclient.exe".

Rate this article:
Share this article: