On Thursday 23 October 2008 23:05:16 Elder Costa wrote:
> Hi.
>
> I have experienced several errors when I tried to run ballista (through
> runltp script). There were several messages stating my system might not
> support some system calls, e.g. chroot.
>
> I replaced calltable.all with other with only the chroot line. Bellow an
> excerpt of the output to avoid cluttering the server. LTP checked out
> the last 21st.
>
> --------------------------------
>
> ./callGen "chroot"
> grep -w chroot callTable > /tmp/cgAARqy2
> mv callInclude.cpp callInclude.old
> ./replacer < callInclude.old > callInclude.cpp
> ./replacer < executeTestCase.fresh > executeTestCase.cpp
> g++ -DPOSIX_NO_REALTIME -w -O -fPIC -DB_HANDLE_EXCEPTIONS -c
> executeTestCase.cpp
> executeTestCase.cpp: In function 'int execute_test_case(char*)':
> executeTestCase.cpp:100: error: invalid conversion from 'void*' to
> 'const char*'
> executeTestCase.cpp:100: error: initializing argument 1 of 'int
> chroot(const char*)'
> make: *** [executeTestCase.o] Error 1
>
> makeBallista failed for chroot. chroot will not be tested -- this
> function may not exist on your operating system.Illegal division by zero
> at ostest_new.pl line 567.
> <<<execution_status>>>
> duration=1 termination_type=exited termination_id=25 corefile=no
> cutime=40 cstime=6
> <<<test_end>>>
> INFO: pan reported some tests FAIL
> LTP Version: LTP-20080930
>
> ----------------------------------
>
> I ran makeBallista:
>
> [EMAIL PROTECTED]:~/ltp/ltp-cvs-081021a/testcases/ballista/ballista#
> ./makeBallista chroot
> Function: chroot
> Datatype list: templates/b_ptr_void.o templates/b_ptr_buf.o
> Compiler options:
>
>
> g++ -DPOSIX_NO_REALTIME -w -O -fPIC -DB_HANDLE_EXCEPTIONS -c
> executeTestCase.cpp
> executeTestCase.cpp: In function ‘int execute_test_case(char*)’:
> executeTestCase.cpp:100: error: invalid conversion from ‘void*’ to
> ‘const char*’
> executeTestCase.cpp:100: error: initializing argument 1 of ‘int
> chroot(const char*)’
> make: ** [executeTestCase.o] Erro 1
> [EMAIL PROTECTED]:~/ltp/ltp-cvs-081021a/testcases/ballista/ballista#
>
> ------------------------------------
>
> And here an excerpt of the cpp file:
>
>
>
> //inlining variable instantiations
> int rval;
> b_ptr_buf param1;
>
>
> #ifdef B_HANDLE_EXCEPTIONS
> try{
> #endif // B_HANDLE_EXCEPTIONS
>
>
> //sigaction added to differentiate between setup robustness failures and
> //robustness failures related to the mut
> sigemptyset(&setup_action.sa_mask);
> setup_action.sa_handler = setup_catch_signal; //setup_catch_signal
> is the signal handler
> (void) sigaction (SIGINT, &setup_action, NULL);
> (void) sigaction (SIGQUIT, &setup_action, NULL);
> (void) sigaction (SIGTERM, &setup_action, NULL);
> (void) sigaction (SIGABRT, &setup_action, NULL);
> (void) sigaction (SIGBUS, &setup_action, NULL);
> (void) sigaction (SIGSEGV, &setup_action, NULL);
>
> //inlining userSetup, callInclude, and userShutdown
>
> #include <unistd.h> //included from calltable include field
> #include <signal.h>
> ref[1] = (void **) param1.access(params[0]);
> void* *temp1 = (void**) ref[1];
... snip ...
> rval = chroot(*temp1);
> ^^^^^^^^^^^^^^^^^^ this is the offending line
>
> ------------
>
> The prototype of chroot:
>
> [EMAIL PROTECTED]:/usr/include$ cat unistd.h | grep chroot
> extern int chroot (__const char *__path) __THROW __nonnull ((1)) __wur;
>
> ------------
>
>
> I guess the effort is worth to make these testcases work but I am
> affraid my current knowledge is not enough to figure out how to fix
> either my system should some requirement be missing or the
> templates/testcases.
This is caused by bad description of chroot in the callTable. See:
[EMAIL PROTECTED]:/usr/src/ltp-git$ grep chroot \
testcases/ballista/ballista/callTable*
testcases/ballista/ballista/callTable.all:unistd.h function int
chroot b_ptr_buf
The b_ptr_buf is causing problems. Given that chroot accepts directory names,
it should be replaced with b_fname. See the contents of templates/ directory
for the list of datatypes possible.
Regards
Jiri Palecek
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list