Hello everyone.

I just learnt a foreach syntax from `src/tests/json_array_looping.sh`, so I
try to parse my logdata(yes, long json array in msg) as follow:

```

$MaxMessageSize 256k

template( name="local6JsonArray" type="string" string="%$.line%\n" )

Ruleset( name="forwardRuleSetJsonArray" )

{

    action( type="mmjsonparse" )

    foreach ($.line in $!msg) do {

        action ( type="omfile" file="/data0/logfile"
template="local6JsonArray")
    }
}
```

But I always got segment fault after restarted few minutes.

Before the rsyslogd died , I can watch some correct lines in the
"/data0/logfile".

While running `rsyslogd -dn`, I watch the last five lines were:

```

3295.820218609:main Q:Reg/w0  :     FOREACH .line IN

3295.820227632:main Q:Reg/w0  :       var '!msg'

3295.820240109:main Q:Reg/w0  : eval expr 0x7fe2044fefa0, type 'V[86]'

3295.821747011:main Q:Reg/w0  : rainerscript: var 200:!msg: '{"msg":[{
"end_time":"142...longmsghere....\"verieval expr 0x7fe2044fefa0, return
datatype 'J'
```

The length of such line is about 20k~30k, far away below my $MaxMessageSize.

So, why rsyslogd segment fault?
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to