[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] engine/core bcastmgr.cpp,1.104,1.105
From:       packard () helixcommunity ! org
Date:       2012-02-22 6:26:06
[Download RAW message or body]

Update of /cvsroot/server/engine/core
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv4113

Modified Files:
	bcastmgr.cpp 
Log Message:
Synopsis:
=========
The CR is a fix for three CAs found on uptime RC2.

Branch: SERVER_14_3_RN and SERVER_CURRENT_RN

Reviewed by : Chytanya


Description:
============
1. 
CA on Linux porxy
-------------------------------------------------------------------------------
> > > Fault (~15:51:49)
*** Helix Mobile Proxy Fault Report
When: 16-Feb-2012 15:51:52
Environment: linux-rhel5-x86_64, (Build 231338/17631), 14.3.0.224
PID 47688257108272: procnum 14 (streamer) 
Caught Signal 11 (Segmentation fault)
Fault State: 1

Stack Trace:
(Re)building function table: 
Highest address resolved: 0x2b5f47fb8fd1
0x5abeaf: T dump_info(int, int, char const*, int, siginfo*, ucontext*):rmproxy + \
                0x4af
0x5b4082: T server_fault(int, siginfo*, ucontext*):rmproxy + 0x3c2
0x371dc0eb10: ???
0x2b5f465e0ac9: t IncomingStreamSession::DescribeDone(int, IHXBuffer*):brcvplin.so + \
                0x599
0x2b5f465ec83c: t CBCNGRTSPClient::OnDescribeResponse(IHXRTSPResponseMessage*):brcvplin.so \
                + 0x6c
0x2b5f465f3a60: t CRTSPProtocol::DispatchMessage():brcvplin.so + 0x300
0x2b5f465f3ebe: t CRTSPProtocol::ReadDone(int, IHXBuffer*):brcvplin.so + 0x38e
0x2b5f465f36ab: t CRTSPProtocol::EventPending(unsigned int, int):brcvplin.so + 0xab
0x62a420: T CHXSocket::OnEvent(unsigned int):rmproxy + 0x1f0
0x5c42c2: T CServSockCB::Func():rmproxy + 0x22
0x6e0005: W Callbacks::invoke_one_ts():rmproxy + 0x2a5
0x6dda39: T ServerEngine::mainloop(int):rmproxy + 0x1009
0x5afe09: T PthreadEntryPoint(thread_args*):rmproxy + 0x189
0x371dc0673d: ???
0x371d0d3d1d: ???
-------------------------------------------------------------------------------
Disasemble  server-restricted/broadcast/transport/bcng/recv/strmsess.cpp

CA occurs here
if (m_pStreamHeaders [m_unRTSPSetupStream] && 
            (HXR_OK == m_pStreamHeaders \
[m_unRTSPSetupStream]->GetPropertyULONG32("TrackID", ulStreamID)) )  {
            //slide through
            
        }
-------------------------------------------------------------------------------
should check m_unRTSPSetupStream like IncomingStreamSession::SetupDone   doese

2. CA on win2k8 transmitter

-------------------------------------------------------------------------------
> > > Fault (~21:26:31)
*** Helix Mobile Server Fault Report
When: 16-Feb-2012 21:26:41
Environment: win-x86_64-vc10, (Build 231338/17631), 14.3.0.224 PID 3660: procnum 16 \
(rmplug) RealNetworks RTSP Live Packetizer Plugin Caught Exception c0000005 Fault \
State: 1

Stack Trace:
0x13f7d6edd: ?dummy_call@@YAXK@Z/servenglib:_main.obj:rmserver + 0xbd
0x13f7d7084: ?server_fault@@YAJPEAU_EXCEPTION_POINTERS@@@Z/servenglib:_main.obj:rmserver \
                + 0x94
0x77319450: ???
0x778a43b8: ???
0x778285a8: ???
0x77839d0d: ???
0x778291af: ???
0x77861278: ???
0x744c3063: ?StreamDone@CRTSPLiveHandler@@UEAAJG@Z/rtsplivehandler.obj:rtsplivepln.dll \
                + 0x13
0x13f7ee45c: ?DispatchPacket@BroadcastPacketManager@@QEAAJKAEAK@Z/servenglib:bcastmgr.obj:rmserver \
                + 0xbc
0x13f7ee736: ?Func@BroadcastPacketManager@@UEAAJXZ/servenglib:bcastmgr.obj:rmserver + \
                0xd6
0x13f88bff9: ?execute_locked_element@ServPQ@@QEAAPEAVServPQElem@@PEAV2@@Z/servstructlib:servpq.obj:rmserver \
                + 0x49
0x13f7e590d: ?mainloop@ServerEngine@@QEAAXH@Z/servenglib:server_engine.obj:rmserver + \
                0xaed
0x13f7e262e: ?func@MiscProcessInitCallback@@UEAAXPEAVProcess@@@Z/servenglib:misc_proc.obj:rmserver \
                + 0x2fe
0x13f7d2d45: ?WIN32_ThreadStart@@YAKPEAX@Z/servenglib:_main.obj:rmserver + 0x105
0x7729652d: ???
0x7783c521: ???

Disassmeble,
server_rn/boradcast/app/rtsplive/rtsplivehandler.cpp

; 715  :     
; 716  :     m_pFFResponse->StreamDone(unStreamNumber);   

  0000f   48 8b 49 38      mov        rcx, QWORD PTR [rcx+56]
  00013  48 8b 01   mov        rax, QWORD PTR [rcx]
  00016  ff 50 40     call QWORD PTR [rax+64]   //CA occurs here
-------------------------------------------------------------------------------  
The fix is checking m_pFFResponse before use it.


3. CA on win2k8 receiver
-------------------------------------------------------------------------------
> > > Fault (~15:05:14)
*** Helix Mobile Server Fault Report
When: 18-Feb-2012 15:05:18
Environment: win-x86_64-vc10, (Build 231338/17631), 14.3.0.224
PID 3836: procnum 13 (rmplug) RealNetworks Broadcast Redundancy Plugin
Caught Exception c0000005
Fault State: 1

Stack Trace:
0x13fb96edd: ?dummy_call@@YAXK@Z/servenglib:_main.obj:rmserver + 0xbd
0x13fb97084: ?server_fault@@YAJPEAU_EXCEPTION_POINTERS@@@Z/servenglib:_main.obj:rmserver \
                + 0x94
0x76f29380: ???
0x7714573c: ???
0x770c5148: ???
0x770e554d: ???
0x770c5d1c: ???
0x770ffe48: ???
0x13fbac38c: ?Func@LatencyCalcCallback@BroadcastGateway@@UEAAJXZ/servenglib:bcastmgr.obj:rmserver \
                + 0x6c
0x13fc4bff9: ?execute_locked_element@ServPQ@@QEAAPEAVServPQElem@@PEAV2@@Z/servstructlib:servpq.obj:rmserver \
                + 0x49
0x13fba590d: ?mainloop@ServerEngine@@QEAAXH@Z/servenglib:server_engine.obj:rmserver + \
                0xaed
0x13fba262e: ?func@MiscProcessInitCallback@@UEAAXPEAVProcess@@@Z/servenglib:misc_proc.obj:rmserver \
                + 0x2fe
0x13fb92d45: ?WIN32_ThreadStart@@YAKPEAX@Z/servenglib:_main.obj:rmserver + 0x105
0x76eaf56d: ???
0x770e3281: ???
-------------------------------------------------------------------------------
Disassemble server/engine/core/bcastmgr.cpp 

; 1651 :     {
; 1652 :         m_pBG->m_pInfo->m_pProc->pc->registry->SetInt(
; 1653 :                 m_pBG->m_ulMaxGwayLatencyRegID, m_pBG->m_ulMaxGwayLatency, \
m_pBG->m_pInfo->m_pProc);

  00062  48 8b d0   mov        rdx, rax
  00065  48 8b 80 c8 14
         00 00                  mov        rax, QWORD PTR [rax+5320]
  0006c   4c 8b 48 18       mov        r9, QWORD PTR [rax+24]    //CA occurs here
  00070  44 8b 82 58 15
------------------------------------------------------------------------------- 
 The fix is checking m_pBG->m_pInfo before use it.

 Files affected:
=========

/server-restricted/broadcast/transport/bcng/recv/strmsess.cpp
/server_rn/broadcast/app/rtsplive/rtsplivehandler.cpp
/server/engine/core/bcastmgr.cpp

 
 Testing Performed:
================
Unit Tests:
N/A

Integration Tests:
N/A

QA Hints
========
None.


Index: bcastmgr.cpp
===================================================================
RCS file: /cvsroot/server/engine/core/bcastmgr.cpp,v
retrieving revision 1.104
retrieving revision 1.105
diff -u -d -r1.104 -r1.105
--- bcastmgr.cpp	3 Feb 2012 09:23:28 -0000	1.104
+++ bcastmgr.cpp	22 Feb 2012 06:26:03 -0000	1.105
@@ -1641,13 +1641,13 @@
         ulAvgLatency = (INT32)(m_pBG->m_ulGwayLatencyTotal / \
m_pBG->m_ulGwayLatencyReps);  }
 
-    if (m_pBG->m_ulAvgGwayLatencyRegID)
+    if ( m_pBG->m_ulAvgGwayLatencyRegID && m_pBG->m_pInfo )
     {
         m_pBG->m_pInfo->m_pProc->pc->registry->SetInt(
                 m_pBG->m_ulAvgGwayLatencyRegID, (INT32)ulAvgLatency, \
m_pBG->m_pInfo->m_pProc);  }
 
-    if (m_pBG->m_ulMaxGwayLatencyRegID)
+    if ( m_pBG->m_ulMaxGwayLatencyRegID && m_pBG->m_pInfo )
     {
         m_pBG->m_pInfo->m_pProc->pc->registry->SetInt(
                 m_pBG->m_ulMaxGwayLatencyRegID, m_pBG->m_ulMaxGwayLatency, \
m_pBG->m_pInfo->m_pProc); @@ -1657,7 +1657,7 @@
     m_pBG->m_ulGwayLatencyReps = 0;
     // m_pBG->m_ulMaxGwayLatency = 0;
 
-    if (m_pBG->m_pLatencyCalcCallback)
+    if ( m_pBG->m_pLatencyCalcCallback && m_pBG->m_pInfo )
     {
         m_pBG->m_ulLatencyCalcCBHandle = 
             m_pBG->m_pInfo->m_pProc->pc->engine->ischedule.enter(


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic