Starting with 12.0.1, the 32-bit MobiLink server is no longer supported on 64-bit operating systems.

This means that if you accidentally CONTINUE to use the 32-bit MobiLink server and client on the same machine after upgrading to 12.0.1, you will suddenly get a "Protocol version mismatch" as shown below.

That's because the old version 12.0.0 32-bit version of mlsrv12.exe is not removed by the 12.0.1 installation even though a 12.0.1 copy is not installed. However, the 32-bit version of dbmlsync.exe is installed. That means when you run the same sync setup that worked before, it starts failing with the oh-so-meaningful "Protocol version mismatch".

As Volker pointed out in a comment, this is not a bug... but it sure as heck is confusing :)

I. 2011-03-07 09:24:00. SQL Anywhere MobiLink Server Version 12.0.0.2601
...
I. 2011-03-07 09:30:07.  System event on shared administrative connection:
                        SELECT property_set_name, property_name, property_value FROM ml_property WHERE component_name = ? ORDER BY property_set_name 
I. 2011-03-07 09:30:07.  Translated SQL:
                        SELECT property_set_name, property_name, property_value FROM ml_property WHERE component_name = ? ORDER BY property_set_name 
E. 2011-03-07 09:30:31.  (,) [-10004] Protocol version mismatch -- expecting 49 but received 65
I. 2011-03-07 09:30:31.  (,) failed reading command with id:1 and handle:1

I. 2011-03-07 09:30:31.  (,) Synchronization failed
I. 2011-03-07 09:29:40. SQL Anywhere MobiLink Client Version 12.0.1.3152
...
I. 2011-03-07 09:30:31. Waiting for MobiLink to apply upload
E. 2011-03-07 09:30:31. Error code from MobiLink server: -10244
E. 2011-03-07 09:30:31. Server error: The MobiLink server has encountered an error and the synchronization has been aborted
E. 2011-03-07 09:30:31. Data read failed.  Requested 2 bytes but got 0 bytes.
E. 2011-03-07 09:30:31. Unable to read 0 bytes.
I. 2011-03-07 09:30:31. End synchronizing subscription(s) 'clifit'
I. 2011-03-07 09:30:31. Disconnecting from MobiLink server

asked 07 Mar '11, 14:49

Breck%20Carter's gravatar image

Breck Carter
27.4k425586838
accept rate: 21%

edited 08 Mar '11, 13:00

1

Hmm, Breck, is that a question? - AFAIK, 12.0.1 doesn't install the 32-bit ML server on 64-bit systems (possibly leaving 12.0.0 32-bit ML server components "un-upgraded"). Cf. http://dcx.sybase.com/index.html#1201en/sachanges/new1201-sectc-3789111.html (as you will have checked already...).

(07 Mar '11, 21:15) Volker Barth

@Breck: To clarify: T don't claim to know whether this behaviour should be regarded as a bug or not. - Personally, I find it at least surprising when an upgrade neither does update nor does remove a component when that component is considered obsolete:)

(08 Mar '11, 14:07) Volker Barth

FWIW, the Linux installer does upgrade any existing mlsrv12 binaries to ones that won't run (i.e. they spit out an error message). I cannot speak for the Windows installer, though.

permanent link

answered 11 Mar '11, 11:49

Phil%20Mitchell's gravatar image

Phil Mitchell
1.9k1831
accept rate: 27%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×102

question asked: 07 Mar '11, 14:49

question was seen: 1,678 times

last updated: 11 Mar '11, 11:49