Reporting a problem, a bug or a crash
1. The Mailing list
If you cannot solve your problem, first try to ask on the
mailing list. Maybe someone could help you, who knows ? But
please:
- Give details about your configuration : your processor, your distribution (Mandriva, SuSE, Debian, etc.) with the version number, your kernel version, and everything you find useful.
- TELL WHICH VERSION OF Gambas YOU ARE USING, and if you are using the gb.qt or the gb.gtk component for projects having a GUI.
- Try to isolate the problem in a small Gambas project, if possible.
2. Reporting a bug or a problem
As a last resort, and if you are almost sure that it is an awful bug, you can send me an e-mail, but
PLEASE:
- Put the word "bug" somewhere in the subject.
- Give details about your configuration : your processor, your distribution (Mandriva, SuSE, Debian, etc.) with the version number, your kernel version, and everything you find useful.
- TELL WHICH VERSION OF Gambas YOU ARE USING, and if you are using the gb.qt or the gb.gtk component for projects having a GUI.
- If it is a problem during the compilation or the execution of a program, SEND YOUR Gambas PROJECT so that I deal with it. If you don't want to send your project, try at least to isolate the problem in a small Gambas project.
- If it is a problem during the compilation or installation of Gambas, give the options you pass to ./configure and the output of the three commands (./configure, make, and make install). To do that, type the following commands in a terminal:
$ (./configure && make) > output.txt 2>&1
$ su
...
$ make install > install.txt 2>&1
and send the "output.txt" and "install.txt" files.
3. Reporting a crash (a segmentation fault, or a signal #11)
If
Gambas crashes, you can trace it and tell me where it crashed exactly. It is very helpful for me.
If you don't know how to do that, read the following carefully:
- Open a terminal, and go to the directory of the project that crashes. If the IDE crashes, go to the IDE sources in the appsrcgambas2 directory of the source package. For example:
$ cd ~/gambas2-2.XX.Y/app/src/gambas2
- Then compile all the IDE.
$ gbc2 -agt
$ gdb gbx2
GNU gdb 6.6-3mdv2008.0 (Mandriva Linux release 2008.0)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i586-mandriva-linux-gnu".
(gdb)
- You must type the following to prevent shared libraries to be preloaded.
(gdb) set args -p
- Run the program until it crashes.
(gdb) run
Starting program: /opt/gambas/bin/gbx2
...
Program received signal SIGSEGV, Segmentation fault.
0x4011010e in select () from /lib/i686/libc.so.6
(gdb)
- Then type the 'bt' command to get the stack contents.
(gdb) bt
#0 0x4011010e in select () from /lib/i686/libc.so.6
#1 0x408ae730 in typeinfo for QMotifStyle () from /usr/lib/qt3/lib/libqt-mt.so.3
#2 0x4040e270 in QApplication::enter_loop() () from /usr/lib/qt3/lib/libqt-mt.so.3
#3 0x401d5b0b in MyMainWindow::showModal() (this=0x81d56c0) at CWindow.cpp:770
#4 0x401d4a8b in CWINDOW_show_modal(void*, void*) (_object=0x81cc7c8, _param=0xbffff4c0)
at CWindow.cpp:222
#5 0x0804f624 in EXEC_call_native (exec=0x401d4a60 ,
object=0x81cc7c8, param=0xbffff4c0 "rubbish", type=4) at exec.c:592
#6 0x0804f79f in EXEC_native () at exec.c:643
#7 0x08050da3 in EXEC_loop () at exec_loop.c:1019
#8 0x0804f418 in EXEC_function_real (keep_ret_value=0 '\0') at exec.c:505
#9 0x08066ad6 in main (argc=1, argv=0xbffff814) at gbx.c:246
#10 0x40061082 in __libc_start_main () from /lib/i686/libc.so.6
(gdb)
Now send me the previous list so that I could understand what happened. Note that the previous example was not a real crash...
I will try to answer as quickly as possible, but do not forget I have few time to help people :-(
 |
If you want to report a crash for the development version, just replace gbx2 by gbx3 and the Gambas 2 paths by Gambas 3 paths.
|