[Spread-users] 64-bit Solaris Spread binary fails to join spread segments

Eric Rybski rybskej at yahoo.com
Fri Jan 27 18:04:38 EST 2006


To whom this concerns,

   I've built and installed a 64-bit binary of spread, and tried to have it
join my spread segment, as defined below for 3 computers:

##### spread.conf #####
Spread_Segment  10.0.0.255:4803 {

        erybski         10.0.0.03
        erybskinew      10.0.0.04
        sol8_sv01       10.0.0.05
}
DebugFlags = { ALL }
#######################

It refuses to join the segment due to what appears to be internal  event return
state and message length calculation errors (getting -1 for a lot of things),
as seen in the spread debug output at the end of this message.  Eventually, the
daemon dies with the error:

     Insert_rep: proc 0 not exist


When building Spread as a 32-bit app on Solaris, this issue does not exist. 
Thus, my feeling is that spread probably has a few issues with bit-shifts using
64-bit integers (e.g. making the assumption that it's using 32-bit integers
when doing right shifts).

Has anyone else had similar issues?  This is not a critical issue at this
point, as I can run a 32-bit spread daemon and use 64-bit perl applications
(because all IPC is done via sockets); however, it still requires the
installation of both 32 and 64 bit binaries and we lose out on any performance
optimizations with our 64-bit sparcv9 processor servers.

If it helps the debugging process, I can also include a copy of the 64-bit make
output.

Regards,
Eric Rybski


##### spread output #####
Conf_init: using file: /usr/local/etc/spread.conf
Successfully configured Segment 0 [10.0.0.255:4803] with 3 procs:
                     erybski: 10.0.0.99
                  erybskinew: 10.0.0.98
                     usaapd1: 10.0.0.63
Set Alarm mask to: ffffffff
Finished configuration file.
Conf_init: My name: usaapd1, id: 10.0.0.63, port: 4803
E_init: went ok
new: creating pointer 0x286560 to object type 2 named pack_head_obj
new: creating pointer 0x284390 to object type 50 named packet_body
new: creating pointer 0x2865a0 to object type 8 named token_head_obj
new: creating pointer 0x284950 to object type 9 named token_body_obj
new: creating pointer 0x2865e0 to object type 8 named token_head_obj
new: creating pointer 0x284f20 to object type 50 named packet_body
Net_init: Bcast needed to address (167772415, 4803)
DL_init_channel: bind for recv_channel for port 4803 with chan 4 ok
DL_init_channel: setsockopt for recv and broadcast went ok
DL_init_channel: went ok on channel 4
DL_init_channel: bind for recv_channel for port 4804 with chan 5 ok
DL_init_channel: setsockopt for recv and broadcast went ok
DL_init_channel: went ok on channel 5
DL_init_channel: setsockopt for send and broadcast went ok
DL_init_channel: setting Mcast TTL to 1
DL_init_channel: went ok on channel 6
E_attach_fd: fd 4, fd_type 0, code 0, data 0x0, priority 2 Active_priority 0
E_attach_fd: fd 5, fd_type 0, code 0, data 0x0, priority 1 Active_priority 0
new: creating pointer 0x286620 to object type 2 named pack_head_obj
Memb_token_loss: I lost my token, state is 1
new: creating pointer 0x27cd50 to object type 35 named time_event
E_queue: (only) event queued func 0x17b58 code 0 data 0x0 in future (0:0)
new: creating pointer 0x27cda0 to object type 35 named time_event
E_queue: (last) event queued func 0x17878 code 0 data 0x0 in future (2:0)
E_dequeue: no such event
E_dequeue: no such event
E_dequeue: no such event
E_dequeue: no such event
E_dequeue: no such event
Net_set_membership: I am a Segment leader
Net_set_membership: Token_address : (167772223, 4804)
Sess_init: INET bind for port 4803 interface 0.0.0.0 ok
Sess_init: INET went ok on mailbox 7
Sess_init: UNIX bind for name /tmp/4803 ok
Sess_init: UNIX went ok on mailbox 8
E_attach_fd: fd 7, fd_type 0, code 2, data 0x0, priority 0 Active_priority 0
E_attach_fd: fd 7, fd_type 2, code 2, data 0x0, priority 0 Active_priority 0
E_attach_fd: fd 8, fd_type 0, code 1, data 0x0, priority 0 Active_priority 0
new: creating pointer 0x288560 to object type 50 named packet_body
new: creating pointer 0x288b20 to object type 50 named packet_body
new: creating pointer 0x2890e0 to object type 50 named packet_body
new: creating pointer 0x2896a0 to object type 50 named packet_body
new: creating pointer 0x289c60 to object type 50 named packet_body
new: creating pointer 0x28a220 to object type 50 named packet_body
new: creating pointer 0x28a7e0 to object type 50 named packet_body
new: creating pointer 0x28ada0 to object type 50 named packet_body
new: creating pointer 0x28b360 to object type 50 named packet_body
new: creating pointer 0x28b920 to object type 50 named packet_body
new: creating pointer 0x28bee0 to object type 50 named packet_body
new: creating pointer 0x28c4a0 to object type 50 named packet_body
new: creating pointer 0x28ca60 to object type 50 named packet_body
new: creating pointer 0x28d020 to object type 50 named packet_body
new: creating pointer 0x28d5e0 to object type 50 named packet_body
new: creating pointer 0x28dba0 to object type 50 named packet_body
new: creating pointer 0x28e160 to object type 50 named packet_body
new: creating pointer 0x28e720 to object type 50 named packet_body
new: creating pointer 0x28ece0 to object type 50 named packet_body
new: creating pointer 0x28f2a0 to object type 50 named packet_body
new: creating pointer 0x28f860 to object type 50 named packet_body
new: creating pointer 0x28fe20 to object type 50 named packet_body
new: creating pointer 0x2903e0 to object type 50 named packet_body
new: creating pointer 0x2909a0 to object type 50 named packet_body
new: creating pointer 0x290f60 to object type 50 named packet_body
new: creating pointer 0x291520 to object type 50 named packet_body
new: creating pointer 0x291ae0 to object type 50 named packet_body
new: creating pointer 0x2920a0 to object type 50 named packet_body
new: creating pointer 0x292660 to object type 50 named packet_body
new: creating pointer 0x292c20 to object type 50 named packet_body
new: creating pointer 0x2931e0 to object type 50 named packet_body
new: creating pointer 0x2937a0 to object type 50 named packet_body
new: creating pointer 0x293d60 to object type 50 named packet_body
new: creating pointer 0x294320 to object type 50 named packet_body
new: creating pointer 0x2948e0 to object type 50 named packet_body
new: creating pointer 0x294ea0 to object type 50 named packet_body
new: creating pointer 0x295460 to object type 50 named packet_body
new: creating pointer 0x295a20 to object type 50 named packet_body
new: creating pointer 0x295fe0 to object type 50 named packet_body
new: creating pointer 0x2965a0 to object type 50 named packet_body
new: creating pointer 0x296b60 to object type 50 named packet_body
new: creating pointer 0x297120 to object type 50 named packet_body
new: creating pointer 0x2976e0 to object type 50 named packet_body
new: creating pointer 0x297ca0 to object type 50 named packet_body
new: creating pointer 0x298260 to object type 50 named packet_body
new: creating pointer 0x298820 to object type 50 named packet_body
new: creating pointer 0x298de0 to object type 50 named packet_body
new: creating pointer 0x2993a0 to object type 50 named packet_body
new: creating pointer 0x299960 to object type 50 named packet_body
new: creating pointer 0x299f20 to object type 50 named packet_body
new: creating pointer 0x29a4e0 to object type 50 named packet_body
new: creating pointer 0x29aaa0 to object type 50 named packet_body
new: creating pointer 0x29b060 to object type 50 named packet_body
new: creating pointer 0x29b620 to object type 50 named packet_body
new: creating pointer 0x29bbe0 to object type 50 named packet_body
new: creating pointer 0x29c1a0 to object type 50 named packet_body
new: creating pointer 0x29c760 to object type 50 named packet_body
new: creating pointer 0x29cd20 to object type 50 named packet_body
new: creating pointer 0x29d2e0 to object type 50 named packet_body
new: creating pointer 0x29d8a0 to object type 50 named packet_body
new: creating pointer 0x29de60 to object type 50 named packet_body
new: creating pointer 0x29e420 to object type 50 named packet_body
new: creating pointer 0x29e9e0 to object type 50 named packet_body
new: creating pointer 0x29efa0 to object type 50 named packet_body
new: creating pointer 0x29f560 to object type 50 named packet_body
new: creating pointer 0x29fb20 to object type 50 named packet_body
new: creating pointer 0x2a00e0 to object type 50 named packet_body
new: creating pointer 0x2a06a0 to object type 50 named packet_body
new: creating pointer 0x2a0c60 to object type 50 named packet_body
new: creating pointer 0x2a1220 to object type 50 named packet_body
new: creating pointer 0x2a17e0 to object type 50 named packet_body
new: creating pointer 0x2a1da0 to object type 50 named packet_body
new: creating pointer 0x2a2360 to object type 50 named packet_body
new: creating pointer 0x2a2920 to object type 50 named packet_body
new: creating pointer 0x2a2ee0 to object type 50 named packet_body
new: creating pointer 0x2a34a0 to object type 50 named packet_body
new: creating pointer 0x2a3a60 to object type 50 named packet_body
new: creating pointer 0x2a4020 to object type 50 named packet_body
new: creating pointer 0x2a45e0 to object type 50 named packet_body
new: creating pointer 0x2a4ba0 to object type 50 named packet_body
new: creating pointer 0x2a5160 to object type 50 named packet_body
new: creating pointer 0x2a5720 to object type 50 named packet_body
new: creating pointer 0x2a5ce0 to object type 50 named packet_body
new: creating pointer 0x2a62a0 to object type 50 named packet_body
new: creating pointer 0x2a6860 to object type 50 named packet_body
new: creating pointer 0x2a6e20 to object type 50 named packet_body
new: creating pointer 0x2a73e0 to object type 50 named packet_body
new: creating pointer 0x2a79a0 to object type 50 named packet_body
new: creating pointer 0x2a7f60 to object type 50 named packet_body
new: creating pointer 0x2a8520 to object type 50 named packet_body
new: creating pointer 0x2a8ae0 to object type 50 named packet_body
new: creating pointer 0x2a90a0 to object type 50 named packet_body
new: creating pointer 0x2a9660 to object type 50 named packet_body
new: creating pointer 0x2a9c20 to object type 50 named packet_body
new: creating pointer 0x2aa1e0 to object type 50 named packet_body
new: creating pointer 0x2aa7a0 to object type 50 named packet_body
new: creating pointer 0x2aad60 to object type 50 named packet_body
new: creating pointer 0x2ab320 to object type 50 named packet_body
new: creating pointer 0x2ab8e0 to object type 50 named packet_body
new: creating pointer 0x2abea0 to object type 50 named packet_body
G_init:
Sess_init: ended ok
DL_init_channel: setsockopt for send and broadcast went ok
DL_init_channel: setting Mcast TTL to 1
DL_init_channel: went ok on channel 9
Stat_init: went ok
Spread: setugid and chroot successeful
E_handle_events: next event
E_sub_time: negative time result.
E_handle_events: poll select
E_handle_events: select with timeout (0, 0)
E_handle_events: next event
E_handle_events: exec time event
Scast_alive: State is 2
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: element[0]: 32 bytes
DL_send: element[1]: 8 bytes
DL_send: error: Message too long
 sending 40 bytes on channel 6 to address 10.0.0.255
DL_send: sent a message of -1 bytes to (10.0.0.255,4803) on channel 6
new: creating pointer 0x27cdf0 to object type 35 named time_event
E_queue: (first) event queued func 0x17b58 code 0 data 0x0 in future (1:0)
dispose: disposing pointer 0x27cd50 to object type 35 named time_event
E_handle_events: poll select
E_handle_events: select with timeout (0, 999888)
E_handle_events: next event
E_handle_events: exec time event
Scast_alive: State is 2
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: element[0]: 32 bytes
DL_send: element[1]: 8 bytes
DL_send: error: Message too long
 sending 40 bytes on channel 6 to address 10.0.0.255
DL_send: sent a message of -1 bytes to (10.0.0.255,4803) on channel 6
new: reusing pointer 0x27cd50 to object type 35 named time_event
E_queue: (last) event queued func 0x17b58 code 0 data 0x0 in future (1:0)
dispose: disposing pointer 0x27cdf0 to object type 35 named time_event
E_handle_events: poll select
E_handle_events: select with timeout (0, 551224)
E_handle_events: next event
E_handle_events: exec time event
dispose: disposing pointer 0x27cd50 to object type 35 named time_event
E_dequeue: first event dequeued func 0x17b58 code 0 data 0x0
E_dequeue: no such event
new: reusing pointer 0x27cd50 to object type 35 named time_event
E_queue: (only) event queued func 0x17c74 code 0 data 0x0 in future (0:0)
new: reusing pointer 0x27cdf0 to object type 35 named time_event
E_queue: (last) event queued func 0x19d98 code 0 data 0x0 in future (5:0)
dispose: disposing pointer 0x27cda0 to object type 35 named time_event
E_handle_events: exec time event
Send_join: State is 4
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: element[0]: 32 bytes
DL_send: element[1]: 8 bytes
DL_send: element[2]: 12 bytes
DL_send: error: Message too long
 sending 52 bytes on channel 6 to address 10.0.0.255
DL_send: sent a message of -1 bytes to (10.0.0.255,4803) on channel 6
new: reusing pointer 0x27cda0 to object type 35 named time_event
E_queue: (first) event queued func 0x17c74 code 0 data 0x0 in future (1:0)
dispose: disposing pointer 0x27cd50 to object type 35 named time_event
E_handle_events: poll select
E_handle_events: select with timeout (0, 999886)
E_handle_events: next event
E_handle_events: exec time event
Send_join: State is 4
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: delaying after failure in send to 10.0.0.255, ret is -1
DL_send: element[0]: 32 bytes
DL_send: element[1]: 8 bytes
DL_send: element[2]: 12 bytes
DL_send: error: Message too long
 sending 52 bytes on channel 6 to address 10.0.0.255
DL_send: sent a message of -1 bytes to (10.0.0.255,4803) on channel 6
new: reusing pointer 0x27cd50 to object type 35 named time_event
E_queue: (first) event queued func 0x17c74 code 0 data 0x0 in future (1:0)
dispose: disposing pointer 0x27cda0 to object type 35 named time_event
E_handle_events: poll select
E_handle_events: select with timeout (0, 999888)
E_handle_events: next event
E_handle_events: exec time event

[...]





More information about the Spread-users mailing list