我有一个关于" Nack Oriented Reliable Multicast" (规范)。有时接收器会出现以下堆栈跟踪:
2011/08/16 11:38:55 - signals.cpp:73: Segmentation Fault!
2011/08/16 11:38:55 - signals.cpp:74: PID = 467
2011/08/16 11:38:55 - signals.cpp:75: info.si_signo = 11
2011/08/16 11:38:55 - signals.cpp:76: info.si_errno = 0
2011/08/16 11:38:55 - signals.cpp:78: info.si_code = 1 [SEGV_MAPERR]
2011/08/16 11:38:55 - signals.cpp:83: info.si_addr = 0x1f51
2011/08/16 11:38:55 - signals.cpp:159: reg[00] = 0xe7b6c70816994fb2
2011/08/16 11:38:55 - signals.cpp:159: reg[01] = 0xb6c70868e94f1391
2011/08/16 11:38:55 - signals.cpp:159: reg[02] = 0x0000003fa5be8121
2011/08/16 11:38:55 - signals.cpp:159: reg[03] = 0x0000000000000000
2011/08/16 11:38:55 - signals.cpp:159: reg[04] = 0x00000000102c1e10
2011/08/16 11:38:55 - signals.cpp:159: reg[05] = 0x0000000000000170
2011/08/16 11:38:55 - signals.cpp:159: reg[06] = 0x000000001020ae20
2011/08/16 11:38:55 - signals.cpp:159: reg[07] = 0x0000000000000002
2011/08/16 11:38:55 - signals.cpp:159: reg[08] = 0x000000001028b268
2011/08/16 11:38:55 - signals.cpp:159: reg[09] = 0x0000000044367b8c
2011/08/16 11:38:55 - signals.cpp:159: reg[10] = 0x0000000000001f51
2011/08/16 11:38:55 - signals.cpp:159: reg[11] = 0x000000001028b268
2011/08/16 11:38:55 - signals.cpp:159: reg[12] = 0x00000000000000ea
2011/08/16 11:38:55 - signals.cpp:159: reg[13] = 0x00000000102c1e80
2011/08/16 11:38:55 - signals.cpp:159: reg[14] = 0x00000000000001ea
2011/08/16 11:38:55 - signals.cpp:159: reg[15] = 0x0000000044367b40
2011/08/16 11:38:55 - signals.cpp:159: reg[16] = 0x0000003ce5a53f52
2011/08/16 11:38:55 - signals.cpp:159: reg[17] = 0x0000000000010202
2011/08/16 11:38:55 - signals.cpp:159: reg[18] = 0x0000000000000033
2011/08/16 11:38:55 - signals.cpp:159: reg[19] = 0x0000000000000004
2011/08/16 11:38:55 - signals.cpp:159: reg[20] = 0x000000000000000e
2011/08/16 11:38:55 - signals.cpp:159: reg[21] = 0x0000000000006a07
2011/08/16 11:38:55 - signals.cpp:159: reg[22] = 0x0000000000001f51
2011/08/16 11:38:55 - signals.cpp:93: Stack trace:
2011/08/16 11:38:55 - signals.cpp:148: /lib64/libpthread.so.0 [0x37c720eb10]
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : NormSegmentPool::Get()+0x1a
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : NormStreamObject::WriteSegment(NormBlockId, unsigned short, char const*)+0x590
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : NormObject::HandleObjectMessage(NormObjectMsg const&, NormMsg::Type, NormBlockId, unsigned short)+0xf79
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : NormSenderNode::HandleObjectMessage(NormObjectMsg const&)+0xfb1
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : NormSession::ReceiverHandleObjectMessage(timeval const&, NormObjectMsg const&, bool)+0x2b4
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : NormSession::HandleReceiveMessage(NormMsg&, bool, bool)+0xfd
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : NormSession::RxSocketRecvHandler(ProtoSocket&, ProtoSocket::Event)+0x87
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : ProtoSocket::LISTENER_TYPE<NormSession>::on_event(ProtoSocket&, ProtoSocket::Event)+0x33
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : ProtoSocket::OnNotify(ProtoSocket::Flag)+0x1c8
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : ProtoDispatcher:ispatch()+0xb2
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : ProtoDispatcher::Run(bool)+0x1a8
2011/08/16 11:38:55 - signals.cpp:138: /usr/lib64/libnorm_wrapper.so.2.0 : ProtoDispatcher:oThreadStart(void*)+0x94
2011/08/16 11:38:55 - signals.cpp:148: /lib64/libpthread.so.0 [0x37c720673d]
2011/08/16 11:38:55 - signals.cpp:143: /lib64/libc.so.6 : clone()+0x6d
2011/08/16 11:38:55 - signals.cpp:154: End of stack trace.
(END)
库配置为以流模式工作。 安装的版本是: 范静,1.4b4-0 范数1.4b4-0 PROTOLIB-2.1b1-0 PROTOLIB静电-2.1b1-0
您能分享一些关于这个图书馆的信息吗?对生产环境可靠吗?它有任何替代实现吗?
答案 0 :(得分:0)
Planète广播还提供了另一种NORM实现,但它不是新的。
http://planete-bcast.inrialpes.fr/rubrique.php3?id_rubrique=4
我建议尝试使用支持的主动可靠多播协议,并提供100%偏差:
http://en.wikipedia.org/wiki/Pragmatic_General_Multicast
我对协议的实施: