[
https://issues.apache.org/jira/browse/TS-3832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14682075#comment-14682075
]
Rafael Fonseca commented on TS-3832:
------------------------------------
Here is the log with debug build:
(gdb) r
Starting program:
/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils/.libs/lt-test_marshall
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
REGRESSION_TEST initialization begun
REGRESSION TEST MessageLength started
REGRESSION_RESULT MessageLength: PASSED
REGRESSION TEST MessageMarshall started
Program received signal SIGSEGV, Segmentation fault.
0x0000000010004b44 in data_is_nul_terminated (data=0x3fffffffdde0)
at MgmtMarshall.cc:43
43 if (str[data->len - 1] != '\0') {
(gdb) bt
#0 0x0000000010004b44 in data_is_nul_terminated (data=0x3fffffffdde0)
at MgmtMarshall.cc:43
#1 0x0000000010005edc in mgmt_message_parse_v (buf=0x3fffffffdf68, len=4096,
fields=0x10006e98 <sfields>, count=1, ap=0x3fffffffdee0 "")
at MgmtMarshall.cc:501
#2 0x0000000010005d64 in mgmt_message_parse (buf=0x3fffffffdf68, len=4096,
fields=0x10006e98 <sfields>, count=1) at MgmtMarshall.cc:462
#3 0x0000000010003900 in RegressionTest_MessageMarshall (
t=0x100208f0 <regressionTest_MessageMarshall>,
pstatus=0x10020908 <regressionTest_MessageMarshall+24>)
at test_marshall.cc:250
#4 0x00003fffb7f1f454 in start_test (
t=0x100208f0 <regressionTest_MessageMarshall>) at Regression.cc:77
#5 0x00003fffb7f1f600 in RegressionTest::run (atest=0x0) at Regression.cc:98
#6 0x00000000100043ac in main () at test_marshall.cc:326
(gdb) p str
$1 = 0x0
(gdb) p data->len
$2 = 0
(gdb) p data
$3 = (const MgmtMarshallData *) 0x3fffffffdde0
(gdb) p *data
$4 = {ptr = 0x0, len = 0}
(gdb) up
#1 0x0000000010005edc in mgmt_message_parse_v (buf=0x3fffffffdf68, len=4096,
fields=0x10006e98 <sfields>, count=1, ap=0x3fffffffdee0 "")
at MgmtMarshall.cc:501
501 ink_assert(data_is_nul_terminated(&data));
(gdb) p buf
$5 = (const void *) 0x3fffffffdf68
(gdb) p *buf
Attempt to dereference a generic pointer.
(gdb) p *((const uint8_t *)buf)
$6 = 0 '\000'
(gdb) p data
$7 = {ptr = 0x0, len = 0}
> test_marshall seg faults on ppc64
> ---------------------------------
>
> Key: TS-3832
> URL: https://issues.apache.org/jira/browse/TS-3832
> Project: Traffic Server
> Issue Type: Bug
> Components: Management API
> Reporter: Rafael Fonseca
>
> 'make check' fails on ppc64 (big endian) with a segmentation fault.
> make test_marshall
> make[3]: Entering directory
> '/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils'
> make[3]: 'test_marshall' is up to date.
> make[3]: Leaving directory
> '/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils'
> make check-TESTS
> make[3]: Entering directory
> '/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils'
> make[4]: Entering directory
> '/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils'
> ../../build/aux/test-driver: line 107: 8630 Segmentation fault (core
> dumped) "$@" > $log_file 2>&1
> FAIL: test_marshall
> ============================================================================
> Testsuite summary for Apache Traffic Server 5.3.0
> ============================================================================
> # TOTAL: 1
> # PASS: 0
> # SKIP: 0
> # XFAIL: 0
> # FAIL: 1
> # XPASS: 0
> # ERROR: 0
> ============================================================================
> See mgmt/utils/test-suite.log
> Please report to [email protected]
> ============================================================================
> Makefile:1018: recipe for target 'test-suite.log' failed
> make[4]: *** [test-suite.log] Error 1
> make[4]: Leaving directory
> '/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils'
> Makefile:1124: recipe for target 'check-TESTS' failed
> make[3]: *** [check-TESTS] Error 2
> make[3]: Leaving directory
> '/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils'
> Makefile:1197: recipe for target 'check-am' failed
> make[2]: *** [check-am] Error 2
> make[2]: Leaving directory
> '/builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils'
> Makefile:803: recipe for target 'check-recursive' failed
> make[1]: *** [check-recursive] Error 1
> make[1]: Leaving directory '/builddir/build/BUILD/trafficserver-5.3.0/mgmt'
> Makefile:671: recipe for target 'check-recursive' failed
> make: *** [check-recursive] Error 1
> Running gdb on the test:
> # gdb --args ./mgmt/utils/.libs/lt-test_marshall
> (gdb) r
> Starting program:
> /builddir/build/BUILD/trafficserver-5.3.0/mgmt/utils/.libs/lt-test_marshall
> Missing separate debuginfos, use: dnf debuginfo-install
> glibc-2.21-7.fc22.ppc64p7
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> REGRESSION_TEST initialization begun
> REGRESSION TEST MessageLength started
> REGRESSION_RESULT MessageLength: PASSED
> REGRESSION TEST MessageMarshall started
> RPRINT MessageMarshall: mgmt_message_parse(msgbuf, sizeof(msgbuf), sfields,
> countof(sfields), &mstring) returned length 4, expected 5
> Program received signal SIGSEGV, Segmentation fault.
> 0x000000002000434c in RegressionTest_MessageMarshall (t=<optimized out>,
> pstatus=<optimized out>) at test_marshall.cc:251
> 251 CHECK_STRING(s, mstring);
> (gdb) p s
> $1 = 0x0
> (gdb) p mstring
> $2 = (MgmtMarshallString) 0x0
> Let me know if you need any further info.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)