[syslog-ng] trap divide error

Dmitry Gilev dmitry.gilev at me.com
Wed Dec 21 21:45:01 CET 2011


GDB Info (only thread one as it seems to be the originator of trap):

Core was generated by `syslog-ng --enable-core -F'.
Program terminated with signal 8, Arithmetic exception.
#0  0x00007faa78e6d700 in log_source_msg_ack (msg=0x7faa60b94490, user_data=0x1b71780) at logsource.c:100
100	                  self->window_full_sleep_nsec = (diff / (cur_ack_count - self->last_ack_count));

===============

Thread 1 (Thread 0x7faa52bfd700 (LWP 23628)):
#0  0x00007faa78e6d700 in log_source_msg_ack (msg=0x7faa60b94490, user_data=0x1b71780) at logsource.c:100
        now = {tv_sec = 57168, tv_nsec = 177746384}
        diff = 1000000568
        self = 0x1b71780
        old_window_size = 1000
        cur_ack_count = 245760
        last_ack_count = 229376
#1  0x00007faa78e63b3c in log_msg_refcache_stop () at logmsg.c:1446
        old_value = 65538
        current_cached_refs = -1
        current_cached_acks = -1
        __PRETTY_FUNCTION__ = "log_msg_refcache_stop"
#2  0x00007faa78e71bfd in log_writer_flush (self=0x1ba2780, flush_mode=LW_FLUSH_NORMAL) at logwriter.c:1026
        lm = 0x7faa60b94490
        path_options = {ack_needed = -1, flow_control_requested = 0, matched = 0x0}
        consumed = 1
        proto = 0x1ba3250
        count = 16
        ignore_throttle = 0
#3  0x00007faa78e6f89c in log_writer_work_perform (s=0x1ba2780) at logwriter.c:129
        self = 0x1ba2780
        __PRETTY_FUNCTION__ = "log_writer_work_perform"
#4  0x00007faa78e739a9 in main_loop_io_worker_job_start (self=0x1ba2a10) at mainloop.c:367
        lh = 0x1b4e370
        lh2 = 0x1b4e398
        __PRETTY_FUNCTION__ = "main_loop_io_worker_job_start"
#5  0x00007faa78e9e909 in iv_work_thread_got_event (_thr=0x1ccac20) at iv_work.c:113
        work = 0x1ba2a30
        thr = 0x1ccac20
        pool = 0x1b4e370
        finish = {tv_sec = 57170, tv_nsec = 447346949}
#6  0x00007faa78e9d94b in iv_event_run_pending_events (_dummy=<value optimized out>) at iv_event.c:67
        ie = <value optimized out>
        current_pending_events = {next = 0x7faa52bfa530, prev = 0x7faa52bfa530}
#7  0x00007faa78e9dca9 in iv_event_raw_got_event (_this=0x7faa52bfd618) at iv_event_raw.c:82
        this = 0x7faa52bfd618
        buf = 
    "\001", '\000' <repeats 551 times>, " \000\000\000\000\000\000\000\004\000\000\000\000\000\000\000P\b", '\000' <repeats 30 times>, " \020\002\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\002", '\000' <repeats 14 times>, "\004\000\000\000\000\000\000 \000\000(\252\177\000\000\000\004\000\000\000\000\000\000\360W\000(\252\177\000\000\060I\000(\252\177\000\000@\000\000\000\000\000\000\000ޙ\247\320\065\000\000\000\000\004\000\000\000\000\000\000 \000\000(\252\177\000\000\360\003\000\000\000\000\000\000\340H\000(\252\177\000\000\320B\264\001", '\000' <repeats 12 times>"\227, \246\340\320\065\000\000\000\230\250\277R\252\177\000\000 \000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\340H\000(\252\177\000\000i\241\247\320\065\000\000\000P\000\000\000\000\000\000\000\210_"...
        ret = <value optimized out>
#8  0x00007faa78e9b6f6 in iv_run_active_list () at iv_main.c:219
        fd = 0x7faa52bfd628
        notify = 0
#9  iv_main () at iv_main.c:269
        to = {tv_sec = 10, tv_nsec = 0}
        msec = <value optimized out>
        active = {next = 0x7faa52bfa9b0, prev = 0x7faa52bfa9b0}
#10 0x00007faa78e9e62c in iv_work_thread (_thr=0x1ccac20) at iv_work.c:196
        thr = 0x1ccac20
        pool = 0x1b4e370
#11 0x00007faa78e9eeb7 in iv_thread_handler (_thr=0x1cc9f20) at iv_thread.c:100
        __cancel_buf = {__cancel_jmp_buf = {{__cancel_jmp_buf = {0, 1216329564017482648, 140735901864880, 140369509472704, 0, 3, -1173785613423256680, -1173833560446641256}, __mask_was_saved = 0}}, __pad = {0x7faa52bfab50, 0x0, 0x0, 
    0x0}}
        __cancel_routine = 0x7faa78e9ee30 <iv_thread_cleanup_handler>
        __cancel_arg = 0x1cc9f20
        not_first_call = <value optimized out>
        thr = 0x1cc9f20
#12 0x00000035d0e077f1 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#13 0x00000035d0ae570d in clone () from /lib64/libc.so.6

Let me know if I need to provide something else.

Thanks,
Dmitry

On Dec 21, 2011, at 10:00 AM, Gergely Nagy wrote:

> Dmitry Gilev <dmitry.gilev at me.com> writes:
> 
>> Hi,
>> 
>> I've started to get the following messages since upgrade to 3.3.3 (from 3.0.7:
>> 
>> From dmesg logs:
>> syslog-ng[30744] trap divide error ip:7fa0f8ed5a56 sp:7fa0f64423a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[30798] trap divide error ip:7fa0f8ed5a56 sp:7fa0df5fb3a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[31043] trap divide error ip:7fa0f8ed5a56 sp:7fa0d2bfa3a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[31059] trap divide error ip:7fa0f8ed5a56 sp:7fa0e6bfa3a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[31087] trap divide error ip:7fa0f8ed5a56 sp:7fa0de1f93a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[31145] trap divide error ip:7fa0f8ed5a56 sp:7fa0f64423a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[32733] trap divide error ip:7fa0f8ed5a56 sp:7fa0f64423a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[1404] trap divide error ip:7fa0f8ed5a56 sp:7fa0f6e433a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[1531] trap divide error ip:7fa0f8ed5a56 sp:7fa0f64423a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[1688] trap divide error ip:7fa0f8ed5a56 sp:7fa0e7ffc3a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[2013] trap divide error ip:7fa0f8ed5a56 sp:7fa0f4c2c3a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> syslog-ng[2019] trap divide error ip:7fa0f8ed5a56 sp:7fa0f6e433a0 error:0 in libsyslog-ng-3.3.3.so[7fa0f8ea3000+7b000]
>> 
>> Does anybody know what is wrong here? Is it known bug?
> 
> Could you perhaps get a backtrace from that?
> 
> The way to do that, is to run with --enable-debug, and it should drop a
> core file. Then you can use gdb to get a backtrace:
> 
> $ gdb -c /path/to/core /usr/local/sbin/syslog-ng
> (gdb) thread apply all bt full
> ...
> (gdb) quit
> 
> It would be best, if syslog-ng would be compiled with debugging symbols
> (-g), and not stripped. So that the backtrace would be actually useful
> :)
> 
> If this can't be done, then it would help if we'd know more about the
> stuation: were there any reloads around the time the crash occurred?
> What config do you use? How frequent does it crash?
> 
> Thanks!
> 
> -- 
> |8]
> 
> ______________________________________________________________________________
> Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng
> Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng
> FAQ: http://www.balabit.com/wiki/syslog-ng-faq
> 



More information about the syslog-ng mailing list