[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-server-cvs
Subject: [Server-cvs] engine/dataflow fsmanager.cpp,1.25,1.26
From: yijil () helixcommunity ! org
Date: 2013-08-28 7:41:09
[Download RAW message or body]
Update of /cvsroot/server/engine/dataflow
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv23279
Modified Files:
fsmanager.cpp
Log Message:
Committed to: SERVER_15_1_0_RN, HEAD
Reviewed by: James
Synopsis:
=========
Fix CA in FSManager
Branch: SERVER_15_1_0_RN, HEAD
Suggested Reviewers: Anyone
Description:
============
Caught Signal 11 (Segmentation fault)
Fault State: 1
Stack Trace:
0x5b9035: _Z9dump_infoiiPKciP7siginfoP8ucontext+0x4c5 [00939c3c 00000000 2d2d2d0a \
2d2d2d2d 2d2d2d2d 2d2d2d2d] : rmserver.bin
0x5c0372: _Z12server_faultiP7siginfoP8ucontext+0x432 [ffffffff ffffffff ffffffff \
ffffffff ffffffff ffffffff] : rmserver.bin
0x3a1280f4a0: (null) [00000000 00000000 36a01000 00007fe8 00000000 ffffffff] : \
libpthread.so.0
0x626648: _ZN6ServPQ5enterE7TimevalP11IHXCallback+0x218 [216be800 00007fe8 00000000 \
00000000 00000000 00000000] : rmserver.bin
0x86c68a: _ZN9FSManager13_DeleteSafelyEv+0x5a [216be800 00007fe8 00000000 00000000 \
2038a6b0 00007fe8] : rmserver.bin
0x86c735: _ZN9FSManager7ReleaseEv+0x35 [2038a6b0 00000000 08104670 00007fe8 08104670 \
00007fe8] : rmserver.bin
0x86deee: _ZN9FSManager13DoesExistDoneEi+0x9e [005b1159 00000000 2047ea00 00007fe8 \
00000076 00000000] : rmserver.bin
0x7fe8bdbdf0d2: (null) [08104678 00007fe8 00000000 00007fe8 36bf7e70 00007fe8] : \
smplfsys.so
0x86dc31: _ZN9FSManager15CheckNextPluginEPN13PluginHandler10FileSystem10PluginInfoE+0xbb1 \
[0128a3c0 00000000 00000000 00000000 36bf803c 00007fe8] : \
rmserver.bin
0x86f081: _ZN9FSManager13GetFileObjectEP10IHXRequestP16IHXAuthenticator+0x391 \
[0000000d 00000000 36bf8140 00000058 00000000 00000000] : \
rmserver.bin
0x7fe8b4ff77bf: (null) [215b9000 00007fe8 36bf81c0 00007fe8 00000018 00000000] : \
m3ugenfsys.so
0x86bf6f: _ZN9FSManager4InitEP28IHXFileSystemManagerResponse+0x3f [080d3b30 00007fe8 \
36bf8410 00007fe8 b4ff3dac 00007fe8] : rmserver.bin
0x7fe8b4ff3dac: (null) [00000000 00000000 513742a0 00007fe7 b52b8350 00007fe8] : \
m3ugenfsys.so
0x7fe8b4ffaa65: (null) [ffffffff ffffffff 00000000 00000000 204f9bb5 00000000] : \
m3ugenfsys.so
0x7fe8b4ffab92: (null) [36bf88e0 00007fe8 36bf88a0 00007fe8 005b0e57 00000000] : \
m3ugenfsys.so
0x7fe8bdbe166f: (null) [bdbe003d 00007fe8 00000804 00000000 0308045a 00000000] : \
smplfsys.so
0x7fe8b4ffaebe: (null) [22cdd1d8 00007fe8 22cdd1d0 00007fe8 0be583f0 00007fe8] : \
m3ugenfsys.so
0x86c997: _ZN9FSManager17OnLocalResultDoneEi+0x77 [081ca370 00007fe8 36bf8af0 \
00007fe8 0082e7fc 00000000] : rmserver.bin
0x82e7fc: _ZN18CDistAdviseWrapper17NextOnLocalResultEv+0xfc [28191ec0 00007fe8 \
20515900 00007fe8 00000001 00000000] : rmserver.bin
0x82e84d: _ZN18CDistAdviseWrapper17OnLocalResultDoneEi+0x1d [b4bc4dac 00007fe8 \
087ab4c0 00007fe8 00000001 00000000] : rmserver.bin
0x7fe8b4bc4dac: (null) [00000001 00000000 081ca370 00007fe8 281913d0 00007fe8] : \
cdadplin.so
0x82e7be: _ZN18CDistAdviseWrapper17NextOnLocalResultEv+0xbe [096f2478 00007fe8 \
20515900 00007fe8 00000001 00000000] : rmserver.bin
0x82e8f0: _ZN18CDistAdviseWrapper13OnLocalResultEP36IHXContentDistributionAdviseResponseP10IHXRequesti+0x90 \
[09783600 00007fe8 00000000 00000000 081ca370 00007fe8] : \
rmserver.bin
0x86cae1: _ZN9FSManager13FileReadyHookEiP8IUnknown+0x101 [00000001 00000000 096f2450 \
00007fe8 09783600 00007fe8] : rmserver.bin
0x86de97: _ZN9FSManager13DoesExistDoneEi+0x47 [005b1159 00000000 21ad0920 00007fe8 \
0000004a 00000000] : rmserver.bin
0x7fe8bdbdf0d2: (null) [096f2458 00007fe8 00000000 00007fe8 36bf8c60 00007fe8] : \
smplfsys.so
ROOT CAUSE:
vhost_cached_fs_map is shared by all thread, it will cache filesystem, it caused \
thread problem
My Fix:
Make each thread has its own vhost_cached_fs_map
Files affected:
===============
server_rn/common/util/vhostapi.cpp
server/engine/dataflow/fsmanager.cpp
server/engine/core/core_proc.cpp
server/engine/core/proc_container.cpp
server/engine/core/pub/proc_container.h
Testing Performed:
================
Unit Tests:
None
Integration Tests:
Leak Tests: None
Performance Tests: N/A
Platforms Tested: CentOs64
Builds Verified: CentOs64
QA Hints
========
None.
Index: fsmanager.cpp
===================================================================
RCS file: /cvsroot/server/engine/dataflow/fsmanager.cpp,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- fsmanager.cpp 27 Aug 2013 09:09:27 -0000 1.25
+++ fsmanager.cpp 28 Aug 2013 07:41:01 -0000 1.26
@@ -871,10 +871,15 @@
if (m_pVhostAccount)
{
Dict_entry* pe = proc->pc->vhost_cached_fs_map->find(m_pVhostAccount);
- if (pe)
+ if (pe && pe->obj)
{
cached_fs_map = (CHXMapLongToObj*)pe->obj;
}
+ else
+ {
+ cached_fs_map = new CHXMapLongToObj();
+ proc->pc->vhost_cached_fs_map->enter(m_pVhostAccount, \
cached_fs_map); + }
}
if (!cached_fs_map)
_______________________________________________
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