REPORTING-BUGS --------------- This file will contain information for reporting problems with ezbounce. Ideally, ezbounce would never crash and have less than 3 very minor bugs. Unfortunately, this has not been the case :) Please send bug reports to the author at druglord@freelsd.org At the very least please include: - Description of the problem and whether/how you can reproduce it. - Detailed information about the system, including OS version, compiler version, network setup, etc. - Compiler warnings and error messages (if any) - What version of ezbounce you are using. Also, if you think it is relevant you may include: - Versions of IRC Clients or other software being used. - Your ezb configuration file (feel free to remove passwords, hostnames, etc) - The ezbounce logfile. - A stacktrace (if you don't know how to get one, see below) Detailed Debugging: Core Dumps & Stack Traces We can get the most detailed debugging information using core dumps and a debugger like GDB. If ezb crashes, hopefully it will produce a core dump (unless you're using a crappy system like CYGWIN32 or you have core dumps disabled -- type 'ulimit -c 99999999' to try and reenable them) At this point you have some options: * To just get a stack trace: gdb ezbounce core (once in gdb) (gdb) bt You should get output like this: #0 0x8055850 in conn::parse_from_server () #1 0x8053b54 in conn::server_sock::on_readable () #2 0x806448e in pollsocket::poll_all () #3 0x80614f6 in start_proxy () #4 0x805c05f in main () #5 0x8049891 in _start () Easy, no? Just email me the output and I'll have a better of where the problem is. * You can also just send me your core dump (AND ezbounce executable binary) This will save you the 2 minutes of trouble running gdb :) However, it may not suitable for some people concerned about privacy, as the core dump technically contains everything in ezb's memory, including channel names, passwords, nicknames, addresses, etc. I can give you my word about respecting your privacy; however, the risk always exists of a third party snooping and discovering your IRC secrets. So, it's your call. NOTE! Without the ezbounce binary, the core dump is worthless. SO PLEASE DON'T FORGET TO SEND THE BINARY. * (Most useful) you can also compile and run with debugging information. Building ezb with debugging information will produce the most detailed (and huge) core dumps, describing right down to the very line of code that caused the crash. To do this: ./configure --enable-debug [other options, if you want] make clean all Then run as normal. Note that there will be a tremendous amount of debugging information printed to stdout as well as the logfile. Once you get it to crash and produce a core dump, run gdb. It will tell you what line caused the crash. Send me this data, as well as the stacktrace. Of course you can also just send me the ezbounce binary and core dump. * (Last option) Debug it yourself. Some users will be competent C or C++ programmers and may be compelled to inspect data members and analyze memory and what not with debugger. Debugging is a joyous activity for programmers worldwide :) Feel free to do this and send me a patch :) If you're still confused, email me and I'll try to help. When I get around to it, hopefully one day there will be a mailing list or webboard for such things.