| Issue 1: | core dumped | |
| 1 person starred this issue and may be notified of changes. | Back to list |
运行multi-client-server的例子会出现段错误。
$ ./cs 10 1024 10
段错误 (core dumped)
在下面的环境中重新编译过。
libicu 3.8.1
libxercesc 2.8.0
libxqilla 2.0.0
libboost 1.37
调试发现出问题的似乎是xmlParser::getParamAmount中的这一句:
const DOMXPathExpression *expression_ =
document_->createExpression(XMLString::transcode(exp), 0);
有什么想法么?
Mar 22, 2009
这个问题是由于你要启动10个peon,而burrow.xml中只写了3个peon,所以读的时候出现了段错误; 注意:要启动几个peon,在burrow.xml中就要写几个peon
Status:
Verified
Mar 22, 2009
我疏忽了,不过不是这个的问题。是下面的代码产生的错误:
xmlParser parser("burrow.xml");
//............
std::string base = "/config/peon";
int num = parser.getParamAmount(base.c_str());
把10个peon都加到burrow.xml中依然core dumped
Mar 22, 2009
(No comment was entered for this change.)
Status:
Accepted
Mar 22, 2009
我这里试了一下,单纯的读xml,然后getParamAmount是没有错误的 你看看是不是对bug的定位有问题?
Mar 22, 2009
一般如果是xml解析有问题,会输出exception的,你看看有没有。如果没有,那可能不一定是 xmlparser的问题
Mar 22, 2009
burrow.xml是不是和cs的可执行文件放到一个目录下了?
Mar 23, 2009
放到一个目录下了,否则会提示xml Document not found 我怀疑会不会是xercesc或者xqilla的不同版本的问题? libicu 3.8.1 libxercesc 2.8.0 libxqilla 2.0.0 libboost 1.37 附件里有简单的测试程序,读xml后调用getParamAmount,会core dumped 包括编译好的二进制文件,请帮忙看一眼
Mar 23, 2009
(gdb) run Starting program: /home/yuanyelele/workspace/horde/common/testxmlparser/testxmlparser [Thread debugging using libthread_db enabled] warning: Lowest section in /usr/lib/libicudata.so.38 is .hash at 000000d4 [New Thread 0xb689b6d0 (LWP 23669)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb689b6d0 (LWP 23669)] 0x70b7c140 in ?? ()
Mar 23, 2009
我的xqilla的版本是2.1.3 不知道是不是这个问题
Mar 24, 2009
已解决: ubuntu软件仓库中的xerces-c++库使用icu转码器,出现core dumped可能是ICU和libicu38和 libxerces-c28两个包编译时使用了不兼容的编译参数。 从源代码编译xerces-c++ 2.8和xqilla 2.1.3,禁用icu选项,问题解决 注意: Makefile中需要指定-L/usr/local/lib,优先链接local中的库
Status:
Fixed
|
229 bytes View Download
880 bytes View Download