[Rspamd-Users] Rspamc command returns: "IO read error: unexpected EOF"

Gabriele Nencioni gabriele.nencioni at register.it
Wed Feb 26 13:44:16 UTC 2020


Hi all,
I'm running rspamd with global and peruser statistic classifiers:
classifier {
    bayes {
        tokenizer {
            name = "osb";
        }
        name = "global";
        min_tokens = 11;
        min_learns = 200;
        languages_enabled = true;
        statfile {
            spam = false;
            symbol = "BAYES_HAM";
        }
        statfile {
            spam = true;
            symbol = "BAYES_SPAM";
        }
        learn_condition = <<EOD
return function(task, is_spam, is_unlearn)
  local learn_type = task:get_request_header('Learn-Type')

  if not (learn_type and tostring(learn_type) == 'bulk') then
    local prob = task:get_mempool():get_variable('bayes_prob', 'double')

    if prob then
      local in_class = false
      local cl
      if is_spam then
        cl = 'spam'
        in_class = prob >= 0.95
      else
        cl = 'ham'
        in_class = prob <= 0.05
      end

      if in_class then
        return false,string.format('already in class %s; probability
%.2f%%',
          cl, math.abs((prob - 0.5) * 200.0))
      end
    end
  end

  return true
end
EOD;
  .include(try=true; priority=1)
"$LOCAL_CONFDIR/local.d/classifier-bayes.conf"
  .include(try=true; priority=10)
"$LOCAL_CONFDIR/override.d/classifier-bayes.conf"

    }
}

classifier {
    bayes {
        tokenizer {
            name = "osb";
        }
        name = "peruser";
        backend = "redis";
        min_tokens = 11;
        min_learns = 0;
        languages_enabled = true;
        users_enabled = true;
        per_user = true;
        timeout = 20;
        servers = "127.0.0.1:6379";
        statfile {
            symbol = "BAYES_HAM_USER";
            spam = false;
        }
        statfile {
            symbol = "BAYES_SPAM_USER";
            spam = true;
        }
        learn_condition = <<EOD
return function(task, is_spam, is_unlearn)
  local learn_type = task:get_request_header('Learn-Type')

  if not (learn_type and tostring(learn_type) == 'bulk') then
    local prob = task:get_mempool():get_variable('bayes_prob', 'double')

    if prob then
      local in_class = false
      local cl
      if is_spam then
        cl = 'spam'
        in_class = prob >= 0.95
      else
        cl = 'ham'
        in_class = prob <= 0.05
      end

      if in_class then
        return false,string.format('already in class %s; probability
%.2f%%',
          cl, math.abs((prob - 0.5) * 200.0))
      end
    end
  end

  return true
end
EOD;
    }
}



and when I run one the following commands
rspamc email.eml
cat email.eml | rspamc -c global -t 90 -P password learn_spam

they return:
IO read error: unexpected EOF

Here the related log extration are:
2020-02-26 14:27:32.97579 #16721(controller) <a95af7>; csession;
rspamd_controller_check_password: allow unauthorized connection from a
trusted IP 127.0.0.1
2020-02-26 14:27:32.97697 #16721(controller) <a95af7>; csession;
rspamd_message_parse: loaded message; id:
<a46cdbfcf7dc09fad93335666db989d5f6a8006ea6 at quintet.fr>; queue-id:
<undef>; size: 135313; checksum: <5d494f775879a0ddf82e4da1cea975c8>
2020-02-26 14:27:32.97720 #16721(controller) <a95af7>; lua;
settings.lua:358: check for settings
2020-02-26 14:27:32.98098 #16721(controller) <a95af7>; csession;
rspamd_mime_part_detect_language: detected part language: de
2020-02-26 14:27:32.99493 #16721(controller) <a95af7>; csession;
rspamd_symcache_process_symbols:
<a46cdbfcf7dc09fad93335666db989d5f6a8006ea6 at quintet.fr> has already
scored more than 16.10, so do not plan more checks
2020-02-26 14:27:32.99602 #16721(controller) rspamd_crash_sig_handler:
caught fatal signal 11(Segmentation fault), pid: 16721, trace:
2020-02-26 14:27:32.99665 #16721(controller) rspamd_print_crash: 0:
00007F89A13E6676: strlen()+0x26
2020-02-26 14:27:32.99704 #16721(controller) rspamd_print_crash: 1:
00005609A1A53806: redisvFormatCommand()+0x8a6
2020-02-26 14:27:32.99732 #16721(controller) rspamd_print_crash: 2:
00005609A1A53D0F: redisvAsyncCommand()+0x2f
2020-02-26 14:27:32.99758 #16721(controller) rspamd_print_crash: 3:
00005609A1A53DEA: redisAsyncCommand()+0x8a
2020-02-26 14:27:32.99781 #16721(controller) rspamd_print_crash: 4:
00005609A1B20636: rspamd_redis_process_tokens()+0xa6
2020-02-26 14:27:32.99811 #16721(controller) rspamd_print_crash: 5:
00005609A1A8192F: rspamd_stat_classify()+0x40f
2020-02-26 14:27:32.99837 #16721(controller) rspamd_print_crash: 6:
00005609A1B13746: rspamd_task_process()+0x4b6
2020-02-26 14:27:32.99863 #16721(controller) rspamd_print_crash: 7:
00005609A1B134CD: rspamd_task_process()+0x23d
2020-02-26 14:27:32.99887 #16721(controller) rspamd_print_crash: 8:
00005609A1B134CD: rspamd_task_process()+0x23d
2020-02-26 14:27:32.99911 #16721(controller) rspamd_print_crash: 9:
00005609A1B97913: init_controller_worker()+0x693
2020-02-26 14:27:32.99940 #16721(controller) rspamd_print_crash: 10:
00005609A1A9D795: rspamd_session_pending()+0x55
2020-02-26 14:27:32.99966 #16721(controller) rspamd_print_crash: 11:
00005609A1AA3B22: rspamd_session_remove_event_full()+0x222
2020-02-26 14:27:32.99992 #16721(controller) rspamd_print_crash: 12:
00005609A19FB68C: rdns_process_read()+0x3ec
2020-02-26 14:27:33.00036 #16721(controller) rspamd_print_crash: 13:
00007F89A09905A0: event_base_loop()+0x6a0
2020-02-26 14:27:33.00062 #16721(controller) rspamd_print_crash: 14:
00005609A1B96B65: start_controller_worker()+0x6c5
2020-02-26 14:27:33.00087 #16721(controller) rspamd_print_crash: 15:
00005609A1A870D0: rspamd_fork_worker()+0x2b0
2020-02-26 14:27:33.00113 #16721(controller) rspamd_print_crash: 16:
00005609A1B63363: rspamd_task_timeout()+0xba3
2020-02-26 14:27:33.00138 #16721(controller) rspamd_print_crash: 17:
00005609A1B6363E: rspamd_task_timeout()+0xe7e
2020-02-26 14:27:33.00162 #16721(controller) rspamd_print_crash: 18:
00005609A19DB53A: main()+0x9fa
2020-02-26 14:27:33.00209 #16721(controller) rspamd_print_crash: 19:
00007F89A13862E1: __libc_start_main()+0xf1
2020-02-26 14:27:33.00233 #16721(controller) rspamd_print_crash: 20:
00005609A19DC38A: _start()+0x2a
2020-02-26 14:27:33.00287 #16721(controller) rspamd_print_crash: 21:
0000000000000000: <unknown>
2020-02-26 14:27:33.07530 #16719(main) <c3a910>; main;
rspamd_cld_handler: catch SIGCHLD signal, finding terminated workers
2020-02-26 14:27:33.07558 #16719(main) <c3a910>; main;
rspamd_cld_handler: controller process 16721 terminated abnormally by
signal: Segmentation fault and created core file



While if I remove the classifier "peruser" (BAYES_HAM_USER and
BAYES_SPAM_USER) everything works correctly.
What have I wrong on rpsamd configuration? How can I fix it without
removing the classifier "peruser" configuration?


I have attached the output of command bt full for GDB command against
rspamd core dump file (/coreland/rspamd.core.16721).
Can I have to attach the original email message?



Thanks in advance
Regards,
--
Gabriele Nencioni
-------------- next part --------------
gdb `which rspamd` -c /coreland/rspamd.core.16721
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/rspamd...Reading symbols from /usr/lib/debug/.build-id/5f/20bdac35679dd02e7d851afcb3104d339345c4.debug...done.
done.
[New LWP 16721]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `rspamd: controller process (0.0.0.0:11334)   '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  strlen () at ../sysdeps/x86_64/strlen.S:106
106	../sysdeps/x86_64/strlen.S: No such file or directory.
(gdb) bt full
#0  strlen () at ../sysdeps/x86_64/strlen.S:106
No locals.
#1  0x00005609a1a53806 in redisvFormatCommand (target=target at entry=0x7ffd33579fa0, format=<optimized out>, ap=ap at entry=0x7ffd33579fd0) at ./contrib/hiredis/hiredis.c:262
        size = <optimized out>
        c = 0x5609a2280afb "%s %s"
        cmd = 0x0
        pos = <optimized out>
        curarg = 0x7f899b74e088 ""
        newarg = 0x7f899b74e088 ""
        touched = <optimized out>
        curargv = 0x7f899c9fed60
        newargv = <optimized out>
        argc = 1
        totlen = 10
        error_type = 0
        j = <optimized out>
        __PRETTY_FUNCTION__ = "redisvFormatCommand"
#2  0x00005609a1a53d0f in redisvAsyncCommand (ac=0x7f899c90b400, fn=0x5609a1b208c0 <rspamd_redis_connected>, privdata=0x7f899959fd98, format=<optimized out>, ap=ap at entry=0x7ffd33579fd0)
    at ./contrib/hiredis/async.c:657
        cmd = 0x1 <error: Cannot access memory at address 0x1>
        len = <optimized out>
        status = <optimized out>
#3  0x00005609a1a53dea in redisAsyncCommand (ac=<optimized out>, fn=<optimized out>, privdata=<optimized out>, format=<optimized out>) at ./contrib/hiredis/async.c:672
        ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7ffd3357a0b0, reg_save_area = 0x7ffd33579ff0}}
        status = <optimized out>
#4  0x00005609a1b20636 in rspamd_redis_process_tokens (task=<optimized out>, tokens=<optimized out>, id=<optimized out>, p=<optimized out>, p=<optimized out>, id=<optimized out>, 
    tokens=<optimized out>, task=<optimized out>) at ./src/libstat/backends/redis_backend.c:1596
        tv = {tv_sec = 140228982828240, tv_usec = 140228982828104}
        ret = <optimized out>
        learned_key = <optimized out>
        query = <optimized out>
        p = 0x7f899959fd98
        id = 0
        tokens = 0x7f899ab34980
        task = 0x7f899c8a6e80
        rt = 0x7f899959fd98
        learned_key = 0x5609a2292a5e "learns"
        __func__ = "rspamd_redis_process_tokens"
#5  0x00005609a1a8192f in rspamd_stat_backends_process.isra.0 (task=0x7f899c8a6e80) at ./src/libstat/stat_process.c:269
        i = 0
        st = <optimized out>
        cl = <optimized out>
---Type <return> to continue, or q <return> to quit---
        bk_run = <optimized out>
#6  rspamd_stat_classify (task=0x7f899c8a6e80, L=<optimized out>, stage=128, err=<optimized out>) at ./src/libstat/stat_process.c:435
        st_ctx = 0x7f899b13a880
        __func__ = "rspamd_stat_classify"
#7  0x00005609a1b13746 in rspamd_task_process (task=task at entry=0x7f899c8a6e80, stages=stages at entry=131071) at ./src/libserver/task.c:783
        ret = 1
        stat_error = 0x0
        __func__ = "rspamd_task_process"
#8  0x00005609a1b134cd in rspamd_task_process (task=task at entry=0x7f899c8a6e80, stages=stages at entry=131071) at ./src/libserver/task.c:888
        ret = <optimized out>
        stat_error = 0x0
        __func__ = "rspamd_task_process"
#9  0x00005609a1b134cd in rspamd_task_process (task=0x7f899c8a6e80, stages=131071) at ./src/libserver/task.c:888
        ret = <optimized out>
        stat_error = 0x0
        __func__ = "rspamd_task_process"
#10 0x00005609a1b97913 in rspamd_controller_check_fin_task (ud=<optimized out>, ud=<optimized out>) at ./src/controller.c:1968
        ud = 0x7f899c8a6e80
        task = 0x7f899c8a6e80
        conn_ent = <optimized out>
        __func__ = "rspamd_controller_check_fin_task"
#11 0x00005609a1a9d795 in rspamd_session_pending (session=<optimized out>, session=<optimized out>) at ./src/libserver/events.c:304
        __func__ = "rspamd_session_pending"
#12 0x00005609a1aa3b22 in rspamd_session_remove_event_full (session=<optimized out>, fin=<optimized out>, ud=<optimized out>, loc=<optimized out>, loc=<optimized out>, ud=<optimized out>, 
    fin=<optimized out>, session=<optimized out>) at ./src/libserver/events.c:244
        search_ev = {subsystem = 0x0, 
          loc = 0x5609a19f9190 <rdns_request_reply_cmp+368> "\205\300u\234M\211\360L+D$\020H\213D$\030I\203\300\004L\211 at PH\203\304(I\215G\004[]A\\A]A^A_\303\017\037@", 
          fin = 0x5609a1aa6c60 <rspamd_dns_fin_cb>, user_data = 0x7f8999617ac8}
        found_ev = <optimized out>
        loc = 0x5609a2271e50 "/rspamd-1.8.3/src/libserver/dns.c:109"
        ud = 0x7f8999617ac8
        fin = 0x5609a1aa6c60 <rspamd_dns_fin_cb>
        session = 0x7f89995e3090
        __func__ = "rspamd_session_remove_event_full"
#13 0x00005609a19fb68c in rdns_process_read (fd=<optimized out>, arg=<optimized out>) at ./contrib/librdns/resolver.c:281
        ioc = <optimized out>
        resolver = <optimized out>
        req = 0x7f899c88bda0
        r = <optimized out>
        rep = 0x7f89996225b0
        in = "\002)\201\202\000\001\000\000\000\000\000\001 k3siw6ro7b8otm4n7bbjtqi69rtb5f6f\005uribl\006rspamd\003com\000\000\001\000\001\000\000)\020\000\000\000\000\000\000\000'\215\000\000\000\001,\000\000)\020\000\000\000\000\000\000\000\006\227\200\000\000\000\001\000\000)\020\000\000\000\000\000\000\000W3\375\177\000\000:\362\237\241\tV\000\000\000\000\000\000\000\000\36---Type <return> to continue, or q <return> to quit---
0?:\362\237\241\005\000\000\000\200\253\023\233\211\177\000\000G\000\000\000\000\000\000\000\023G\000\000\000\000\000\000\002\000\000\000\061\000\000\000\200\253\023\233\211\177\000\000\320퀢\211\177\000\000pׄA\000\000\000\000\340?Z"...
#14 0x00007f89a09905a0 in event_base_loop () from /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5
No symbol table info available.
#15 0x00005609a1b96b65 in start_controller_worker (worker=0x7f899ab555c0) at ./src/controller.c:3901
        ctx = 0x7f899bc0ce70
        mctx = <optimized out>
        iter = {dummy1 = 0x7f899c84b120, dummy2 = 0x7f89a21ba399 <__libc_fcntl+57>, dummy3 = 0x7ffd3358cc18 <clock_gettime+536>, dummy4 = 8, dummy5 = 32765, dummy6 = 0x200000003}
        key = 0x5609a225aac2
        value = 0x7f899b1b7020
        i = <optimized out>
        cache = <optimized out>
        stv = {tv_sec = 60, tv_usec = 0}
        m = <optimized out>
        __func__ = "start_controller_worker"
#16 0x00005609a1a870d0 in rspamd_fork_worker (rspamd_main=0x7f899c867080, cf=0x7f899c9a4c00, index=0, ev_base=<optimized out>) at ./src/libserver/worker_util.c:688
        wrk = 0x7f899ab555c0
        rc = <optimized out>
        rlim = {rlim_cur = 104857600, rlim_max = 104857600}
        __func__ = "rspamd_fork_worker"
#17 0x00005609a1b63363 in spawn_worker_type (rspamd_main=0x7f899c867080, ev_base=0x7f899c8a6c00, cf=0x7f899c9a4c00) at ./src/rspamd.c:539
        i = 0
        __func__ = "spawn_worker_type"
#18 0x00005609a1b6363e in spawn_workers (rspamd_main=0x7f899c867080, ev_base=0x7f899c8a6c00) at ./src/rspamd.c:632
        cur = <optimized out>
        ls = <optimized out>
        cf = <optimized out>
        p = <optimized out>
        bcf = <optimized out>
        listen_ok = <optimized out>
        seen_mandatory_workers = 0x7f899afdd500
        cw = <optimized out>
        wrk = <optimized out>
        i = <optimized out>
        __func__ = "spawn_workers"
#19 0x00005609a19db53a in main (argc=<optimized out>, argv=<optimized out>, env=<optimized out>) at ./src/rspamd.c:1485
        i = <optimized out>
        res = 0
        signals = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigpipe_act = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {4096, 0 <repeats 15 times>}}, sa_flags = 0, sa_restorer = 0x0}
        pworker = <optimized out>
        type = <optimized out>
---Type <return> to continue, or q <return> to quit---
        control_addr = 0x7f899abc4040
        ev_base = 0x7f899c8a6c00
        term_ev = {ev_active_next = {tqe_next = 0x0, tqe_prev = 0x0}, ev_next = {tqe_next = 0x7ffd3357b9a0, tqe_prev = 0x7f899c8a6d60}, ev_timeout_pos = {ev_next_with_common_timeout = {
              tqe_next = 0xffffffff, tqe_prev = 0x0}, min_heap_idx = -1}, ev_fd = 15, ev_base = 0x7f899c8a6c00, _ev = {ev_io = {ev_io_next = {tqe_next = 0x0, tqe_prev = 0x7f899b74ef50}, 
              ev_timeout = {tv_sec = -4609434218613702656, tv_usec = 0}}, ev_signal = {ev_signal_next = {tqe_next = 0x0, tqe_prev = 0x7f899b74ef50}, ev_ncalls = 0, ev_pncalls = 0x0}}, 
          ev_events = 24, ev_res = 0, ev_flags = 128, ev_pri = 0 '\000', ev_closure = 1 '\001', ev_timeout = {tv_sec = 0, tv_usec = 0}, ev_callback = 0x5609a1b62ce0 <rspamd_term_handler>, 
          ev_arg = 0x7f899c867080}
        int_ev = {ev_active_next = {tqe_next = 0x7ffd3357bd40, tqe_prev = 0x7ffd3357bd18}, ev_next = {tqe_next = 0x7ffd3357b880, tqe_prev = 0x7f899c8a6d60}, ev_timeout_pos = {
            ev_next_with_common_timeout = {tqe_next = 0xffffffff, tqe_prev = 0x0}, min_heap_idx = -1}, ev_fd = 2, ev_base = 0x7f899c8a6c00, _ev = {ev_io = {ev_io_next = {tqe_next = 0x0, 
                tqe_prev = 0x7f899b74ef80}, ev_timeout = {tv_sec = 0, tv_usec = 0}}, ev_signal = {ev_signal_next = {tqe_next = 0x0, tqe_prev = 0x7f899b74ef80}, ev_ncalls = 0, 
              ev_pncalls = 0x0}}, ev_events = 24, ev_res = 0, ev_flags = 128, ev_pri = 0 '\000', ev_closure = 1 '\001', ev_timeout = {tv_sec = 0, tv_usec = 0}, 
          ev_callback = 0x5609a1b62ce0 <rspamd_term_handler>, ev_arg = 0x7f899c867080}
        cld_ev = {ev_active_next = {tqe_next = 0x0, tqe_prev = 0x0}, ev_next = {tqe_next = 0x7ffd3357b7f0, tqe_prev = 0x7f899c8a6d60}, ev_timeout_pos = {ev_next_with_common_timeout = {
              tqe_next = 0x5609ffffffff, tqe_prev = 0x7ffd3357bd40}, min_heap_idx = -1}, ev_fd = 17, ev_base = 0x7f899c8a6c00, _ev = {ev_io = {ev_io_next = {tqe_next = 0x0, 
                tqe_prev = 0x7f899b74ef30}, ev_timeout = {tv_sec = 0, tv_usec = 0}}, ev_signal = {ev_signal_next = {tqe_next = 0x0, tqe_prev = 0x7f899b74ef30}, ev_ncalls = 0, 
              ev_pncalls = 0x0}}, ev_events = 24, ev_res = 0, ev_flags = 128, ev_pri = 0 '\000', ev_closure = 1 '\001', ev_timeout = {tv_sec = 140229101545880, tv_usec = 140725464841168}, 
          ev_callback = 0x5609a1b62d40 <rspamd_cld_handler>, ev_arg = 0x7f899c867080}
        hup_ev = {ev_active_next = {tqe_next = 0x7ffd3357b8c0, tqe_prev = 0x100000014}, ev_next = {tqe_next = 0x7ffd3357b910, tqe_prev = 0x7f899c8a6d60}, ev_timeout_pos = {
            ev_next_with_common_timeout = {tqe_next = 0x5609ffffffff, tqe_prev = 0xb889e1b}, min_heap_idx = -1}, ev_fd = 1, ev_base = 0x7f899c8a6c00, _ev = {ev_io = {ev_io_next = {
                tqe_next = 0x0, tqe_prev = 0x7f899b74ef00}, ev_timeout = {tv_sec = 0, tv_usec = 0}}, ev_signal = {ev_signal_next = {tqe_next = 0x0, tqe_prev = 0x7f899b74ef00}, 
              ev_ncalls = 0, ev_pncalls = 0x0}}, ev_events = 24, ev_res = 0, ev_flags = 128, ev_pri = 0 '\000', ev_closure = 1 '\001', ev_timeout = {tv_sec = 0, tv_usec = 0}, 
          ev_callback = 0x5609a1b63c70 <rspamd_hup_handler>, ev_arg = 0x7f899c867080}
        usr1_ev = {ev_active_next = {tqe_next = 0x7ffd3357b948, tqe_prev = 0x7f89a28234c8}, ev_next = {tqe_next = 0x7f899c8a6c28, tqe_prev = 0x7f899c8a6d60}, ev_timeout_pos = {
            ev_next_with_common_timeout = {tqe_next = 0xffffffff, tqe_prev = 0x0}, min_heap_idx = -1}, ev_fd = 10, ev_base = 0x7f899c8a6c00, _ev = {ev_io = {ev_io_next = {tqe_next = 0x0, 
                tqe_prev = 0x7f899b74ef40}, ev_timeout = {tv_sec = 0, tv_usec = 0}}, ev_signal = {ev_signal_next = {tqe_next = 0x0, tqe_prev = 0x7f899b74ef40}, ev_ncalls = 0, 
              ev_pncalls = 0x0}}, ev_events = 24, ev_res = 0, ev_flags = 128, ev_pri = 0 '\000', ev_closure = 1 '\001', ev_timeout = {tv_sec = 140229113688432, tv_usec = 140229113688432}, 
          ev_callback = 0x5609a1b63170 <rspamd_usr1_handler>, ev_arg = 0x7f899c867080}
        control_ev = {ev_active_next = {tqe_next = 0x7ffd3357b7e4, tqe_prev = 0x7f89a260746b <do_lookup_x+347>}, ev_next = {tqe_next = 0x5609a195d224, tqe_prev = 0x5609a194a868}, 
          ev_timeout_pos = {ev_next_with_common_timeout = {tqe_next = 0x7ffd3357b7e8, tqe_prev = 0xb889e1b}, min_heap_idx = 861386728}, ev_fd = 3023480, ev_base = 0x7f89a1c8ef98, _ev = {
            ev_io = {ev_io_next = {tqe_next = 0x7ffd3357b8c0, tqe_prev = 0x7f89a1c8c730}, ev_timeout = {tv_sec = 140725464840164, tv_usec = 140725464840368}}, ev_signal = {
              ev_signal_next = {tqe_next = 0x7ffd3357b8c0, tqe_prev = 0x7f89a1c8c730}, ev_ncalls = -18460, ev_pncalls = 0x7ffd3357b8b0}}, ev_events = 208, ev_res = -23935, 
          ev_flags = 32649, ev_pri = 0 '\000', ev_closure = 0 '\000', ev_timeout = {tv_sec = 25, tv_usec = 861387040}, ev_callback = 0x0, ev_arg = 0x1}
        term_tv = {tv_sec = 140229113646824, tv_usec = 140725464840168}
        skip_pid = 1
        valgrind_mode = 0
        __func__ = "main"
(gdb) quit



More information about the Users mailing list