Results 1 to 5 of 5

Thread: patch for alpha and linux-ppc

  1. #1
    peter.s is offline Registered User
    Join Date
    Mar 2004
    Posts
    12

    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:
    Code:
    ...
    
    *** 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:
    Code:
    ...
    
    *** 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
    Attached Files Attached Files

  2. #2
    bernard's Avatar
    bernard is offline ZeroC Staff
    Name: Bernard Normier
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Palm Beach Gardens, FL
    Posts
    1,294
    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,
    Bernard

  3. #3
    peter.s is offline Registered User
    Join Date
    Mar 2004
    Posts
    12
    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:

    Code:
    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:
    Code:
    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 error
    Code:
    open("/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)

  4. #4
    bernard's Avatar
    bernard is offline ZeroC Staff
    Name: Bernard Normier
    Organization: ZeroC, Inc.
    Project: Ice
    Join Date
    Feb 2003
    Location
    Palm Beach Gardens, FL
    Posts
    1,294
    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,
    Bernard

  5. #5
    peter.s is offline Registered User
    Join Date
    Mar 2004
    Posts
    12
    yes, the IceStorm tests are the only remaining failing tests now

    some warnings do exist, but not as fatal as the IceStorm test exit

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Replies: 1
    Last Post: 02-05-2009, 06:49 AM
  2. PPC search engine
    By ramchandran in forum Help Center
    Replies: 1
    Last Post: 08-28-2006, 02:59 PM
  3. MIPS and Alpha support
    By fmoya in forum Bug Reports
    Replies: 2
    Last Post: 03-24-2006, 09:34 AM
  4. Icicle (Ice for C#) Alpha 2 released
    By michi in forum Announcements
    Replies: 0
    Last Post: 05-04-2004, 09:49 PM
  5. Ice 1.2.0 Linux build patch
    By bernard in forum Patches
    Replies: 0
    Last Post: 01-30-2004, 05:23 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •