After committing some patches for palm-contact format into palm-sync trunk, the synchronization between file-sync and palm-sync contact still failed on the Ubuntu machine. It seems that it's the problem of pilot-link.
Here it the stack where segmentation fault happened:
psyncDBGetNthEntry() --> dlp_ReadRecordByIndex() --> dlp_exec() --> dlp_request_write() --> pi_write() --> pi_send() --> write()
Below is the configuration for file-sync and there's none files or dirs under the sync path.
<?xml version="1.0"?>
<config>
<directory>
<path>/home/test/sync1</path>
<objtype>contact</objtype>
</directory>
</config>
Below is the configuration of palm-sync:
<config><sockaddr>/dev/pilot</sockaddr><username>palm</username><timeout>0</timeout><type>0</type><speed>57600</speed><id>0</id><codepage>cp1252</codepage><popup>1</popup><mismatch>1</mismatch></config>
Below is the outputs of msynctool:
test@marathon:~/sync1$ msynctool --sync file-palm
Synchronizing group "file-palm"
The previous synchronization was unclean. Slow-syncing
contact sink of member 1 of type file-sync just connected
Main sink of member 1 of type file-sync just connected
contact sink of member 2 of type palm-sync just connected
Main sink of member 2 of type palm-sync just connected
All clients connected or error
contact sink of member 1 of type file-sync just sent all changes
Main sink of member 1 of type file-sync just sent all changes
Segmentation fault