Zgłoś błąd
Jeśli znajdziesz błąd w ClamAV, sprawdź czy nie został już poprawiony w kodzie SVN .
Jeśli nie jest jeszcze naprawiony, odwiedź nasz system zgłaszania błędów .
Proszę nie zgłaszać błędów dotyczących oprogramowania pochodzenia zewnętrznego (np. porty, którymi nie zarządzamy bezpośrednio), ponieważ nie mamy nad nim kontroli. Zamiast tego, skontaktuj się z właściwymi autorami.
Przy zgłaszaniu błędu, powinieneś załączyć następujące informacje:
- Adres e-mail: działający adres e-mail, poprzez który developerzy będą mogli kontaktować się z Tobą w celu uzyskania dodatkowych informacji oraz powiadomić, gdy błąd zostanie poprawiony.
- Wersja ClamAV: wynik następującej komendy:
clamconf -n
- System details: full specs of your system: e.g. output from:
uname -mrsp
- Library versions: your libc and possibly zlib versions
- How to reproduce the problem: if the issue is reproducible only when scanning a specific file, attach it to the message. Don’t forget to encrypt it or you may cause damage to the mail servers between you and us!
E.g.:
The content of the file will be kept confidential. Alternatively if the file is too big to mail it, you can upload it to a password protected website and send us the URL and the credentials to access it.zip -P virus -e file.zip file.ext - Backtrace of clamscan: if possible send us the backtrace obtained from gdb, the GNU Project Debugger.
Here are step by step instructions which will guide you through the process:
Assuming you get something like:
$ clamscan --some-options some_file
Segmentation fault
The first thing to do is having the kernel write a core dump. For bourne-like shells (e.g. bash):
$ ulimit -c unlimited
For C-like shells (e.g. tcsh):
> limit coredumpsize unlimited
Now you should see the core dumped message:
$ clamscan --some-options some_file
Segmentation fault (core dumped)
Looking at your current working directory should reveal a file named core.
The next step is to load the core file into gdb:
$ gdb -core=core --args clamscan --some-options some_file
(gdb)
You should now see the gdb prompt. Just use the bt command at the prompt to make gdb print a full backtrace.
Copy and paste it into the bug report. You can use the q command to leave gdb.
- Backtrace of clamd:
Use ps to get the PID of clamd (first number from the left):
$ ps -aux (or ps -elf on SysV)
clamav 24897 0.0 1.9 38032 10068 ? S Jan13 0:00 clamd
Attach gdb to the running process:
$ gdb /usr/sbin/clamd 24897
Replace 24897 with the pid of clamd and adjust the path of clamd. You should now get the gdb prompt, as:
(gdb)
If you want clamd to continue running, until a segmentation fault occurs for example, issue the continue gdb command, and wait for an error, at which point gdb will return to its prompt.
bt will give a backtrace for the current thread.
The command info threads will tell you how many threads there are.
The command thread n will change to the specified thread, after which you can use the bt command again to get it’s backtrace.
So, you basically want to do:
info threads to get the number of threads and their id numbers
For each thread do:
thread id_number
bt
Exit from gdb with the quit command. Reply y to the question about the program still running.
- Strace: optionally, if you think it can help, the output from strace (not covered here).
Warning: unless differently stated, we do not maintain any of these packages & ports directly. These packages are contributed by third parties.
We take no responsibility for them!
Please note that we do NOT accept reports for bugs that only affect a package we do not maintain!
When in doubt always compile ClamAV from sources.
Robimy co w naszej mocy, by przetłumaczona wersja tej strony była jak najświeższa, ale nie zawsze jest to możliwe. Odwiedź angielską wersję, by uzyskać najnowsze informacje.
