Archived
This forum has been archived. Please start a new discussion on GitHub.
patch for alpha and linux-ppc
hello,
i created a small patch for the include/IceUtil/Config.h and the src/icecpp/config.h include files to make Ice compile (and at least partly run) on
Debian/powerpc/sid Linux (a G4 450MHz)
and on
Debian/alpha/sid Linux (a Digital AlphaPC 164SX 533 MHz)
(the changes are mainly due to the architecture (alpha = 64bit little endian, ppc = 32bit big endian) and due to the fact that the preprocessor symbol for 'powerpc' is not only "__ppc__" but on some linux distributions "__powerpc__" or "powerpc" or on 64bit powerpc architectures "powerpc64"
the patch consists of separate patch files in context diff format for the two header files
unfortunately the tests were not completely satisfying:
the ppc had the following error:
the alpha had the following error:
is there a possibility to get a better error reporting from these tests?
thanks for reading up to this point ;-)
Peter
i created a small patch for the include/IceUtil/Config.h and the src/icecpp/config.h include files to make Ice compile (and at least partly run) on
Debian/powerpc/sid Linux (a G4 450MHz)
and on
Debian/alpha/sid Linux (a Digital AlphaPC 164SX 533 MHz)
(the changes are mainly due to the architecture (alpha = 64bit little endian, ppc = 32bit big endian) and due to the fact that the preprocessor symbol for 'powerpc' is not only "__ppc__" but on some linux distributions "__powerpc__" or "powerpc" or on 64bit powerpc architectures "powerpc64"
the patch consists of separate patch files in context diff format for the two header files
unfortunately the tests were not completely satisfying:
the ppc had the following error:
... *** running tests in ./test/Freeze/evictor starting server... ok starting client... ok testing Freeze Evictor... ok *** running tests in ./test/IceStorm/single starting icestorm service... failed! test in ./test/IceStorm/single failed with exit status 256
the alpha had the following error:
... *** running tests in ./test/Ice/exceptions tests with regular server. starting server... ok starting client... ok testing servant registration exceptions... ok testing servant locator registrations exceptions... ok testing object factory registration exceptions... ok testing stringToProxy... ok testing checked cast... ok catching exact types... ok catching base types... ok catching derived types... ok catching unknown user exception... ok catching object not exist exception... ok catching facet not exist exception... ok catching operation not exist exception... ok catching unknown local exception... warning: connection exception: SslTransceiver.cpp:267: Ice::ConnectionLostException: connection lost: recv() returned zero local address = 127.0.0.1:12345 remote address = 127.0.0.1:32894 test in ./test/Ice/exceptions failed with exit status 256
is there a possibility to get a better error reporting from these tests?
thanks for reading up to this point ;-)
Peter
0
Comments
-
Hello Peter,
The 'exceptions' test is a very simple test; after adding $ICE_HOME/lib to your LD_LIBRARY_PATH, you can just run 'client' and 'server' in $ICE_HOME/test /Ice/exceptions. This will use TCP instead of SSL, but it does not look like an SSL issue. BTW you can run the entire test-suite without SSL by editing the top of $ICE_HOME/config/TestUtil.py.
For the IceStorm test failure, I recommend you try first the IceStorm demo, and figure out why IceStorm does not start.
I'll be happy to incorporate your patch to the Ice codebase once you have everything working!
Cheers,
Bernard0 -
first i recompiled everything without optimizations
after setting ld_library_path to the correct path, i tried the exception test on the ppc (which worked like before) and then tried to start the IceStorm service like described in the README file of the IceStorm demo:demo/IceStorm/clock$ ../../../bin/icebox --Ice.Config=config_service error: ServiceManager: exception while starting service IceStorm: ../../include/IceUtil/Handle.h:44: IceUtil::NullHandleException
on the alpha the exception tests worked after compiling in debug mode, the icestorm problem occured on this architecture too, but with the following message:demo/IceStorm/clock$ ../../../bin/icebox --Ice.Config=config_service error: ServiceManager: Network.cpp:357: Ice::SocketException: socket exception: Cannot assign requested address
i strace-d the program and this is the part which - i think - is relevant for this erroropen("/etc/hosts", O_RDONLY) = 3 fcntl(3, F_GETFD) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=365, ...}) = 0 mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000001a000 read(3, "127.0.0.1\tlocalhost\n128.131.167."..., 8192) = 365 read(3, "", 8192) = 0 close(3) = 0 munmap(0x2000001a000, 8192) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 pipe([536866384, 1]) = 3 clone(child_stack=0x120032e70, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND) = 6793 write(4, "\260\327\0\0\0\2\0\0\5\0\0\0\0\2\0\0\250\364\377\37\1\0"..., 168) = 168 osf_sigprocmask(0x1, 0, 0x11fffef08) = 2147483648 write(4, "@\200J\0\0\2\0\0\0\0\0\0\0\0@@\0\0\0\0\0\0\0\0008\307D"..., 168) = 168 osf_sigprocmask(0x1, 0, 0x11fffee20) = 2147483648 sigsuspend([ABRT BUS SEGV SYS ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO] <unfinished ...> --- SIGRT_0 (Unknown signal 32) @ 0 (0) --- <... sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now []) osf_sigprocmask(0x1, 0, 0x11ffff178) = 2147500035 write(4, "@\200J\0\0\2\0\0\0\0\0\0\0\0@@\0\0\0\0\0\0\0\0\274\356"..., 168) = 168 osf_sigprocmask(0x1, 0, 0x11ffff090) = 2147500035 sigsuspend([TRAP FPE PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO] <unfinished ...> --- SIGRT_0 (Unknown signal 32) @ 0 (0) --- <... sigsuspend resumed> ) = -1 EINTR (Interrupted system call) sigreturn() = ? (mask now [HUP INT TERM]) osf_old_open(0x2, 0x1, 0x6, 0, 0) = -1 ENONET (Machine is not on the network) osf_syscall(0x5, 0x6, 0x1, 0, 0x4, 0) = -1 ENONET (Machine is not on the network) osf_syscall(0x5, 0xffff, 0x8, 0, 0x4, 0) = 92 fork() = 92 osf_syscall(0x5, 0x4, 0x6, 0, 0x4, 0) = -1 ENONET (Machine is not on the network) osf_syscall(0x5, 0xffff, 0x4, 0, 0x4, 0) = 104 osf_getlogin(0x5, 0x12002d870, 0x10, 0x1, 0x4) = -1 ENXIO (No such device or address) osf_syscall(0x5, 0x12002d870, 0x10, 0, 0x4, 0) = 4 eexit(2) = ? rror: ServiceManager: Network.cpp:357: Ice::SocketException: socket exception: Cannot assign requested address --- SIGRT_0 (Unknown signal 32) @ 0 (0) --- _exit returned! ) = ? (mask now [HUP INT TERM])
is there any special capability the network interface must have for icestorm to connect? (i am not running this as root)0 -
Hi Peter,
There is nothing special about IceStorm. The demo uses port 9998 and 10000 (see config and config_service). Did you check if you have any server using these ports? Tried different ports?
Also, are the IceStorm tests the only tests failing now? You can easily remove tests from the test suite by editing allTests.py.
Cheers,
Bernard0 -
yes, the IceStorm tests are the only remaining failing tests now
some warnings do exist, but not as fatal as the IceStorm test exit0