<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="generator" content="Osso Notes">
    <title></title></head>
<body>
<p>----- Original message -----
<br>&gt; 
<br>&gt; 
<br>&gt; Sent: Tue Nov 15 2011 12:37:46 GMT-0700 (MST)
<br>&gt; From: Balazs Scheidler &lt;<a href="mailto:bazsi@balabit.hu">bazsi@balabit.hu</a>&gt;
<br>&gt; To: Syslog-ng users' and developers' mailing list 
<br>&gt; &lt;<a href="mailto:syslog-ng@lists.balabit.hu">syslog-ng@lists.balabit.hu</a>&gt;
<br>&gt; Subject: Re: [syslog-ng] syslog-ng 3.3.2 seg faulting sending message 
<br>&gt; via tcp
<br>&gt; &gt; On Sun, 2011-11-13 at 19:58 -0700, Patrick H. wrote:
<br>&gt; &gt; &gt; Syslog-ng 3.3.2 (obtained from
<br>&gt; &gt; &gt; <a href="http://www.balabit.com/downloads/files?path=/syslog-ng/sources/3.3.2/source">http://www.balabit.com/downloads/files?path=/syslog-ng/sources/3.3.2/source</a>)
<br>&gt; &gt; &gt; is segfaulting when it tries to send a message to a TCP destination.
<br>&gt; &gt; &gt; I'm asking here instead of a bug report because I didnt see a 3.3.2
<br>&gt; &gt; &gt; release announcement, so not sure if this is the final build or not.
<br>&gt; &gt; &gt; 
<br>&gt; &gt; &gt; Anyway, gdb backtrace shows:
<br>&gt; &gt; &gt; Program received signal SIGSEGV, Segmentation fault.
<br>&gt; &gt; &gt; [Switching to Thread 0x40f67940 (LWP 29440)]
<br>&gt; &gt; &gt; 0x00002b047a812261 in log_pipe_queue (s=0x12d0d94f, msg=0x12d04400,
<br>&gt; &gt; &gt; path_options=0x40f64150) at logpipe.h:288
<br>&gt; &gt; &gt; 288&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#32;s-&gt;queue(s, msg, path_options, s-&gt;queue_data);
<br>&gt; ...
<br>&gt; &gt; I could reproduce a crash here, and this one solves it. (was related to
<br>&gt; &gt; one of the leak fixes which went in before 3.3.2 was released)
<br>&gt; &gt; 
<br>&gt; &gt; $ git diff
<br>&gt; &gt; diff --git a/lib/driver.h b/lib/driver.h
<br>&gt; &gt; index c805da5..7f7acbd 100644
<br>&gt; &gt; --- a/lib/driver.h
<br>&gt; &gt; +++ b/lib/driver.h
<br>&gt; &gt; @@ -188,7 +188,6 @@ log_dest_driver_release_queue(LogDestDriver *self,
<br>&gt; &gt; LogQueue *q)
<br>&gt; &gt; if (q)
<br>&gt; &gt; {
<br>&gt; &gt; self-&gt;queues = g_list_remove(self-&gt;queues, q);
<br>&gt; &gt; -&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#32;log_queue_unref(q);
<br>&gt; &gt; 
<br>&gt; &gt; self-&gt;release_queue(self, q, self-&gt;release_queue_data);
<br>&gt; &gt; }
<br>&gt; &gt; 
<br>&gt; &gt; I still have to think through all consequences whether this
<br>&gt; &gt; reintroduces a leak, but this seems to be right, I just have to go now.
<br>&gt; &gt; 
<br>&gt; &gt; PS: it warrants a 3.3.2 if this solves the issue for you.
<br>&gt; &gt; 
<br>&gt; 
<br>&gt; I've been running this on several machines through the day and they all 
<br>&gt; appear stable.
<br>
<br>great news. I'll do a quick validation and release 3.3.3 before the masses get hit by this problem.
<br>
<br>thanks for the feedback.</p>
</body>
</html>