[Bro-Dev] #491: Another logging framework segfault

Bro Tracker bro at tracker.bro-ids.org
Wed Jul 6 17:21:56 PDT 2011


#491: Another logging framework segfault
----------------------+--------------------
  Reporter:  seth     |      Owner:
      Type:  Problem  |     Status:  new
  Priority:  Normal   |  Milestone:  Bro1.6
 Component:  Bro      |    Version:
Resolution:           |   Keywords:
----------------------+--------------------

Old description:

> {{{
>
> (gdb) bt
> #0  0x00457ae4 in free () from /lib/libc.so.6
> #1  0x072c75c1 in operator delete(void*) () from /usr/lib/libstdc++.so.6
> #2  0x072c761d in operator delete[](void*) () from
> /usr/lib/libstdc++.so.6
> #3  0x0820776e in LogVal::~LogVal (this=0x1ab529e0, __in_chrg=<value
> optimized out>) at /usr/local/bro/src/LogMgr.cc:101
> #4  0x0820d20b in LogWriter::DeleteVals (this=0x9c9a348, vals=0x7ee62588)
> at /usr/local/bro/src/LogWriter.cc:147
> #5  0x0820d2a3 in LogWriter::Write (this=0x9c9a348, arg_num_fields=17,
> vals=0x7ee62588) at /usr/local/bro/src/LogWriter.cc:62
> #6  0x0820afd9 in LogMgr::Write (this=0x901fe50, id=0x92fdc80,
> columns=0x4b202710) at /usr/local/bro/src/LogMgr.cc:947
> #7  0x081cb8dc in BifFunc::Log::bro___write (frame=0x3e74c270,
> BiF_ARGS=0x44a5c300) at logging.bif:49
> #8  0x081c620d in BuiltinFunc::Call (this=0x91f3218, args=0x44a5c300,
> parent=0x3e74c270) at /usr/local/bro/src/Func.cc:462
> #9  0x081b39c9 in CallExpr::Eval (this=0x9094230, f=0x3e74c270) at
> /usr/local/bro/src/Expr.cc:4651
> #10 0x0826f1e1 in StmtList::Exec(Frame *, ._127 &) const (this=0x9093ed0,
> f=0x3e74c270, flow=@0xbfa42934) at /usr/local/bro/src/Stmt.cc:1432
> #11 0x081c6a16 in BroFunc::Call (this=0x9094300, args=0x40c29858,
> parent=0x6e9e2100) at /usr/local/bro/src/Func.cc:319
> #12 0x081b39c9 in CallExpr::Eval (this=0x92fdef8, f=0x6e9e2100) at
> /usr/local/bro/src/Expr.cc:4651
> #13 0x082742cc in ExprStmt::Exec(Frame *, ._127 &) const (this=0x92fdf58,
> f=0x6e9e2100, flow=@0xbfa42b24) at /usr/local/bro/src/Stmt.cc:397
> #14 0x0826f1e1 in StmtList::Exec(Frame *, ._127 &) const (this=0x92faf70,
> f=0x6e9e2100, flow=@0xbfa42b24) at /usr/local/bro/src/Stmt.cc:1432
> #15 0x0826e729 in IfStmt::DoExec(Frame *, Val *, ._127 &) const
> (this=0x92fe020, f=0x6e9e2100, v=0x4743a370, flow=@0xbfa42b24) at
> /usr/local/bro/src/Stmt.cc:512
> #16 0x082742ec in ExprStmt::Exec(Frame *, ._127 &) const (this=0x92fe020,
> f=0x6e9e2100, flow=@0xbfa42b24) at /usr/local/bro/src/Stmt.cc:401
> #17 0x0826f1e1 in StmtList::Exec(Frame *, ._127 &) const (this=0x92fa690,
> f=0x6e9e2100, flow=@0xbfa42b24) at /usr/local/bro/src/Stmt.cc:1432
> #18 0x081c6a16 in BroFunc::Call (this=0x92fe658, args=0x563a9fe0,
> parent=0x52d77848) at /usr/local/bro/src/Func.cc:319
> #19 0x081b39c9 in CallExpr::Eval (this=0x930ec58, f=0x52d77848) at
> /usr/local/bro/src/Expr.cc:4651
> #20 0x082742cc in ExprStmt::Exec(Frame *, ._127 &) const (this=0x930ecb8,
> f=0x52d77848, flow=@0xbfa42d14) at /usr/local/bro/src/Stmt.cc:397
> #21 0x0826f1e1 in StmtList::Exec(Frame *, ._127 &) const (this=0x930e328,
> f=0x52d77848, flow=@0xbfa42d14) at /usr/local/bro/src/Stmt.cc:1432
> #22 0x0826e729 in IfStmt::DoExec(Frame *, Val *, ._127 &) const
> (this=0x930ed80, f=0x52d77848, v=0x3f221658, flow=@0xbfa42d14) at
> /usr/local/bro/src/Stmt.cc:512
> #23 0x082742ec in ExprStmt::Exec(Frame *, ._127 &) const (this=0x930ed80,
> f=0x52d77848, flow=@0xbfa42d14) at /usr/local/bro/src/Stmt.cc:401
> #24 0x0826f1e1 in StmtList::Exec(Frame *, ._127 &) const (this=0x9304cc0,
> f=0x52d77848, flow=@0xbfa42d14) at /usr/local/bro/src/Stmt.cc:1432
> #25 0x081c6a16 in BroFunc::Call (this=0x90e4ed0, args=0x3c4c9358,
> parent=0x0) at /usr/local/bro/src/Func.cc:319
> ---Type <return> to continue, or q <return> to quit---
> #26 0x0817d413 in EventHandler::Call (this=0x902d940, vl=0x3c4c9358,
> no_remote=false) at /usr/local/bro/src/EventHandler.cc:96
> #27 0x0817caf7 in Dispatch (this=0x8340400) at
> /usr/local/bro/src/Event.h:43
> #28 EventMgr::Dispatch (this=0x8340400) at
> /usr/local/bro/src/Event.cc:107
> #29 0x0817cc18 in EventMgr::Drain (this=0x8340400) at
> /usr/local/bro/src/Event.cc:119
> #30 0x0821dd55 in net_packet_dispatch (t=1309686477.2723601,
> hdr=0x98d4f00, pkt=0x98d66c4 "E\020", hdr_size=0, src_ps=0x98d4ec8,
> pkt_elem=0x0)
>     at /usr/local/bro/src/Net.cc:381
> #31 0x0821e169 in net_packet_arrival (t=1309686477.2723601,
> hdr=0x98d4f00, pkt=0x98d66c4 "E\020", hdr_size=0, src_ps=0x98d4ec8) at
> /usr/local/bro/src/Net.cc:443
> #32 0x0822d4b1 in PktSrc::Process (this=0x98d4ec8) at
> /usr/local/bro/src/PktSrc.cc:275
> #33 0x0821dee7 in net_run () at /usr/local/bro/src/Net.cc:473
> #34 0x08136227 in main (argc=Cannot access memory at address 0x0
> ) at /usr/local/bro/src/main.cc:1009
> }}}

New description:

 {{{
 #0  0x0838a18a in base_type(._93) (tag=3617152) at
 /usr/local/bro/src/Type.cc:1611
 #1  0x0839cf5a in ListVal::ListVal(._112) (this=0x28b62e18, t=3617152) at
 /usr/local/bro/src/Val.cc:1475
 #2  0x0839d038 in TableVal::ConvertToList(._112) const (this=0x26309e18,
 t=3617152) at /usr/local/bro/src/Val.cc:2253
 #3  0x0839d1db in TableVal::ConvertToPureList (this=0x26309e18) at
 /usr/local/bro/src/Val.cc:2289
 #4  0x082eaea8 in LogMgr::ValToLogVal (this=0xa09b298, val=0x26309e18,
 ty=0xa3887e8) at /usr/local/bro/src/LogMgr.cc:1039
 #5  0x082eb209 in LogMgr::RecordToFilterVals (this=0xa09b298,
 stream=0xa9bc8d8, filter=0xa9c0b20, columns=0x26c8f4b8)
     at /usr/local/bro/src/LogMgr.cc:1102
 #6  0x082ee37c in LogMgr::Write (this=0xa09b298, id=0xa39b2d8,
 columns=0x26c8f4b8) at /usr/local/bro/src/LogMgr.cc:938
 #7  0x082a5be9 in BifFunc::Log::bro___write (frame=0x18758ae8,
 BiF_ARGS=0x1e93a220) at logging.bif:49
 #8  0x082b6b09 in BuiltinFunc::Call (this=0xa283308, args=0x1e93a220,
 parent=0x18758ae8) at /usr/local/bro/src/Func.cc:463
 #9  0x0827ed6b in CallExpr::Eval (this=0xa113350, f=0x18758ae8) at
 /usr/local/bro/src/Expr.cc:4651
 #10 0x0836aa21 in ReturnStmt::Exec(Frame *, ._122 &) const
 (this=0xa1133b8, f=0x18758ae8, flow=@0xbfc4822c)
     at /usr/local/bro/src/Stmt.cc:1332
 #11 0x0836c3e9 in StmtList::Exec(Frame *, ._122 &) const (this=0xa112fc0,
 f=0x18758ae8, flow=@0xbfc4822c) at /usr/local/bro/src/Stmt.cc:1392
 #12 0x082bd5d3 in BroFunc::Call (this=0xa113430, args=0x3a965ee0,
 parent=0x3f9858d0) at /usr/local/bro/src/Func.cc:320
 #13 0x0827ed6b in CallExpr::Eval (this=0xa39b578, f=0x3f9858d0) at
 /usr/local/bro/src/Expr.cc:4651
 #14 0x0836b9db in ExprStmt::Exec(Frame *, ._122 &) const (this=0xa39b5e0,
 f=0x3f9858d0, flow=@0xbfc4843c) at /usr/local/bro/src/Stmt.cc:357
 #15 0x0836c3e9 in StmtList::Exec(Frame *, ._122 &) const (this=0xa398300,
 f=0x3f9858d0, flow=@0xbfc4843c) at /usr/local/bro/src/Stmt.cc:1392
 #16 0x08370737 in IfStmt::DoExec(Frame *, Val *, ._122 &) const
 (this=0xa39b6b8, f=0x3f9858d0, v=0x37db3588, flow=@0xbfc4843c)
     at /usr/local/bro/src/Stmt.cc:472
 #17 0x0836ba0b in ExprStmt::Exec(Frame *, ._122 &) const (this=0xa39b6b8,
 f=0x3f9858d0, flow=@0xbfc4843c) at /usr/local/bro/src/Stmt.cc:361
 #18 0x0836c3e9 in StmtList::Exec(Frame *, ._122 &) const (this=0xa397990,
 f=0x3f9858d0, flow=@0xbfc4843c) at /usr/local/bro/src/Stmt.cc:1392
 #19 0x082bd5d3 in BroFunc::Call (this=0xa39bd58, args=0x25e1c220,
 parent=0x26626558) at /usr/local/bro/src/Func.cc:320
 #20 0x0827ed6b in CallExpr::Eval (this=0xa3ad318, f=0x26626558) at
 /usr/local/bro/src/Expr.cc:4651
 #21 0x0836b9db in ExprStmt::Exec(Frame *, ._122 &) const (this=0xa3ad380,
 f=0x26626558, flow=@0xbfc4864c) at /usr/local/bro/src/Stmt.cc:357
 #22 0x0836c3e9 in StmtList::Exec(Frame *, ._122 &) const (this=0xa3ac960,
 f=0x26626558, flow=@0xbfc4864c) at /usr/local/bro/src/Stmt.cc:1392
 #23 0x08370737 in IfStmt::DoExec(Frame *, Val *, ._122 &) const
 (this=0xa3ad458, f=0x26626558, v=0x37fa28a8, flow=@0xbfc4864c)
     at /usr/local/bro/src/Stmt.cc:472
 #24 0x0836ba0b in ExprStmt::Exec(Frame *, ._122 &) const (this=0xa3ad458,
 f=0x26626558, flow=@0xbfc4864c) at /usr/local/bro/src/Stmt.cc:361
 #25 0x0836c3e9 in StmtList::Exec(Frame *, ._122 &) const (this=0xa3a28f8,
 f=0x26626558, flow=@0xbfc4864c) at /usr/local/bro/src/Stmt.cc:1392
 #26 0x082bd5d3 in BroFunc::Call (this=0xa167180, args=0x29e7c400,
 parent=0x0) at /usr/local/bro/src/Func.cc:320
 #27 0x0825e70f in EventHandler::Call (this=0xa0a8d88, vl=0x29e7c400,
 no_remote=false) at /usr/local/bro/src/EventHandler.cc:73
 ---Type <return> to continue, or q <return> to quit---
 #28 0x081fd1ec in Event::Dispatch (this=0x3d8e9080, no_remote=false) at
 /usr/local/bro/src/Event.h:46
 #29 0x0825e158 in EventMgr::Dispatch (this=0x84609c0) at
 /usr/local/bro/src/Event.cc:107
 #30 0x0825e1b3 in EventMgr::Drain (this=0x84609c0) at
 /usr/local/bro/src/Event.cc:119
 #31 0x08304fe6 in net_packet_dispatch (t=1309987975.776865, hdr=0xa9a8d90,
 pkt=0xa9aa524 "E\020", hdr_size=0, src_ps=0xa9a8d58, pkt_elem=0x0)
     at /usr/local/bro/src/Net.cc:353
 #32 0x08305570 in net_packet_arrival (t=1309987975.776865, hdr=0xa9a8d90,
 pkt=0xa9aa524 "E\020", hdr_size=0, src_ps=0xa9a8d58)
     at /usr/local/bro/src/Net.cc:415
 #33 0x08318c87 in PktSrc::Process (this=0xa9a8d58) at
 /usr/local/bro/src/PktSrc.cc:275
 #34 0x08305296 in net_run () at /usr/local/bro/src/Net.cc:445
 #35 0x081fb44c in main (argc=7, argv=0xbfc48dd4) at
 /usr/local/bro/src/main.cc:993
 }}}

--

Comment (by seth):

 I replaced the stack trace with a new one because the other was with a
 bogus patch applied.  This is on an instance running current master with
 the Gilbert's patch in fastpath applied but it has been seen even before
 that patch was applied.

-- 
Ticket URL: <http://tracker.bro-ids.org/bro/ticket/491#comment:1>
Bro Tracker <http://tracker.bro-ids.org/bro>
Bro Issue Tracker



More information about the bro-dev mailing list