XMLString::transcode works properly only after you have invoked XMLPlatformUtils::Initialize(), but you are invoking it during the static initialization.

Alberto

On 2/8/2011 11:24 AM, Kshitiz Saxena wrote:
   Hi All,

My code is dumping code in XMLString::transcode. The code dump stack
trace is as follows :
t@1 (l@1) program terminated by signal SEGV (no mapping at the fault
address)
Current function is xercesc_2_8::XMLString::transcode
    563       return gTranscoder->transcode(toTranscode);
(dbx) where
current thread: t@1
=>[1] xercesc_2_8::XMLString::transcode(toTranscode = 0xfffffd7ffec48608
"cluster"), line 563 in "XMLString.cpp"
    [2] __SLIP.INIT_A(), line 29 in "LBConfigParser.cpp"
    [3] __STATIC_CONSTRUCTOR(), line 29 in "LBConfigParser.cpp"
    [4] __cplus_fini_at_exit(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
0xfffffd7ffec4248c
    [5] call_init(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3d271a
    [6] load_completion(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3d2cc3
    [7] dlmopen_intn(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3d7310
    [8] dlmopen_check(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3d73d2
    [9] _dlopen(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff3d74ab
    [10] apr_dso_load(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffefeca11
    [11] load_module(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x4a5d82
    [12] invoke_cmd(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x455866
    [13] execute_now(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x45706e
    [14] ap_build_config_sub(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x45640b
    [15] ap_build_config(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x456a76
    [16] process_resource_config_nofnmatch(0x0, 0x0, 0x0, 0x0, 0x0, 0x0),
at 0x457727
    [17] ap_process_resource_config(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at
0x45784b
    [18] ap_read_config(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x458707
    [19] main(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x43bbd0

My code of LBConfigParser.cpp is as follows :
.
.
       28
       29 const XMLCh* LBConfigParser::CLUSTER_TAG_NAME =
XERCES_CPP_NAMESPACE::XMLString::transcode("cluster");
       30 const XMLCh* LBConfigParser::CLUSTER_TAG_ATTRIB_NAME =
XERCES_CPP_NAMESPACE::XMLString::transcode("name");
       31 const XMLCh* LBConfigParser::CLUSTER_TAG_ATTRIB_POLICY =
XERCES_CPP_NAMESPACE::XMLString::transcode("policy");
       32 const XMLCh* LBConfigParser::CLUSTER_TAG_ATTRIB_POLICY_MODULE =
XERCES_CPP_NAMESPACE::XMLString::transcode("policy-module");

Any help is appreciated.

Thanks,
Kshitiz
.


Reply via email to