dbTalk Databases Forums  

Protocol Error on dbmlsync 9.-0.2.3124

sybase.public.sqlanywhere.mobilink sybase.public.sqlanywhere.mobilink


Discuss Protocol Error on dbmlsync 9.-0.2.3124 in the sybase.public.sqlanywhere.mobilink forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Breck Carter
 
Posts: n/a

Default Protocol Error on dbmlsync 9.-0.2.3124 - 07-13-2006 , 08:15 AM






How do I deal a "protocol error" on a very large 9.0.2.3124
initial download?

The dbmlsync log snippet below shows that the failure
happened during the download of one of the largest tables.
Notice the long times and the large stream size.

I have told the client (1) try rerunning, (2) try a later
EBF and (3) call tech support.

Does anything else come to mind?

Breck

I. 07/12 10:23:43. Synchronization Started
I. 07/12 10:23:43. 1: -c
I. 07/12 10:23:43. 2:
************************************************** ****
I. 07/12 10:23:43. 3: -e
I. 07/12 10:23:43. 4: adr=host=192.168.47;lt=OFF
I. 07/12 10:23:43. 5: -q
I. 07/12 10:23:43. 6: -vnosu
I. 07/12 10:23:43. 7: -x
I. 07/12 10:23:43. Adaptive Server Anywhere MobiLink
Synchronization Version 9.0.2.3124
....
I. 07/12 17:17:27. COMMIT
I. 07/12 20:07:57. Download stream: received 1195949857
bytes from MobiLink Server.
I. 07/12 20:07:57. Processing download stream ...
....
I. 07/12 20:08:01. Downloading into table: xxx
I. 07/12 20:08:02. # rows inserted/updated into table xxx :
315
I. 07/12 20:08:02. # rows deleted in table xxx : 0
I. 07/12 20:08:02. Downloading into table: yyy
E. 07/12 20:20:49. Protocol error

Reply With Quote
  #2  
Old   
Reg Domaratzki \(iAnywhere Solutions\)
 
Posts: n/a

Default Re: Protocol Error on dbmlsync 9.-0.2.3124 - 07-13-2006 , 09:51 AM






Do you have any embedded NULL characters in char or varchar columns that are
being downloaded? This will cause a protocol error.

If you know the problem is happening on table yyy, then a SQL statement
similar to the following ( on the product table in the asademo.db ) will
find you your embedded NULL character, assuming you include all the
character columns in your select.

select id,
locate( name, '\x00' ) as c1,
locate( description, '\x00' ) as c2,
locate( size, '\x00' ) as c3,
locate( color, '\x00' ) as c4
from product
where c1 > 0
or c2 > 0
or c3 > 0
or c4 > 0

It's unlikely that an EBF has fixed this BTW.

--
Reg Domaratzki, Sybase iAnywhere Solutions
Sybase Certified Professional - Sybase ASA Developer Version 8
Please reply only to the newsgroup

iAnywhere Developer Community : http://www.ianywhere.com/developer
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
ASA Patches and EBFs : http://downloads.sybase.com/swd/base.do
-> Choose SQL Anywhere Studio
-> Set filter to "Display ALL platforms IN ALL MONTHS"


<Breck Carter> wrote

Quote:
How do I deal a "protocol error" on a very large 9.0.2.3124
initial download?

The dbmlsync log snippet below shows that the failure
happened during the download of one of the largest tables.
Notice the long times and the large stream size.

I have told the client (1) try rerunning, (2) try a later
EBF and (3) call tech support.

Does anything else come to mind?

Breck

I. 07/12 10:23:43. Synchronization Started
I. 07/12 10:23:43. 1: -c
I. 07/12 10:23:43. 2:
************************************************** ****
I. 07/12 10:23:43. 3: -e
I. 07/12 10:23:43. 4: adr=host=192.168.47;lt=OFF
I. 07/12 10:23:43. 5: -q
I. 07/12 10:23:43. 6: -vnosu
I. 07/12 10:23:43. 7: -x
I. 07/12 10:23:43. Adaptive Server Anywhere MobiLink
Synchronization Version 9.0.2.3124
...
I. 07/12 17:17:27. COMMIT
I. 07/12 20:07:57. Download stream: received 1195949857
bytes from MobiLink Server.
I. 07/12 20:07:57. Processing download stream ...
...
I. 07/12 20:08:01. Downloading into table: xxx
I. 07/12 20:08:02. # rows inserted/updated into table xxx :
315
I. 07/12 20:08:02. # rows deleted in table xxx : 0
I. 07/12 20:08:02. Downloading into table: yyy
E. 07/12 20:20:49. Protocol error



Reply With Quote
  #3  
Old   
Breck Carter
 
Posts: n/a

Default Re: Protocol Error on dbmlsync 9.-0.2.3124 - 07-14-2006 , 08:32 AM



Here are some additional diagnostics: A valid row as it
exists on the consolidated database, followed by the
dbmlsync verbose display of the garbled version immediately
followed by Protocol error.

Note that the final two string columns look OK on the
consolidated ('DBA','DBA') but are totally mangled in the
verbose log.

Also note that the final four numeric column values are also
mangled; e.g.,

0,91,1,

became

I. 07/13 17:18:23. <deleted>: 0
I. 07/13 17:18:23. <zzz_id>: 134243704
I. 07/13 17:18:23. <zzz_db_id>: 28
I. 07/13 17:18:23. <alarm_type_id>: NULL
E. 07/13 17:18:23. Protocol error

I don't have the schema handy to email (thank you, firewall
police

Breck


17,137278,8,1,-1,-1,17,136,2005-09-20
16:51:26.830,'1',102,98,87.1734599999999881,21.968 168,-10.475617
,11.10023,-20.987259999999997,5.543602,-3.376951,2016.53686899999976
,-514.988007,-1949.66876599999964,0,9.92863599999999881,0,4.5254 83
,3,208.33333299999997,8,5,'0',1,2005-09-20
16:58:41.125,'','','1.3','DBA','DBA',2006-02-28
21:01:48.234,0,91,1,

I. 07/13 17:18:23. Insert/Update row:
I. 07/13 17:18:23. <yyy_db_id>: 17
I. 07/13 17:18:23. <yyy_id>: 137278
I. 07/13 17:18:23. <org_id>: 8
I. 07/13 17:18:23. <yyy_type_id>: 1
I. 07/13 17:18:23. <xxx_exposure_db_id>: -1
I. 07/13 17:18:23. <xxx_exposure_id>: -1
I. 07/13 17:18:23. <xxx_ddd_db_id>: 17
I. 07/13 17:18:23. <xxx_ddd_id>: 136
I. 07/13 17:18:23. <yyy_datetime>: 2005-09-20 16:51:26.83
I. 07/13 17:18:23. <valid_flag>: 1
I. 07/13 17:18:23. <suspect_temp>: 102
I. 07/13 17:18:23. <suspect_mag>: 98
I. 07/13 17:18:23. <actual_temp>: 87.1734599999999881
I. 07/13 17:18:23. <actual_linear_acc_resultant_mag>:
21.968168
I. 07/13 17:18:23. <actual_azi>: -10.475617
I. 07/13 17:18:23. <actual_ele>: 11.10023
I. 07/13 17:18:23. <actual_linearx>: -20.987259999999997
I. 07/13 17:18:23. <actual_lineary>: 5.543602
I. 07/13 17:18:23. <actual_linearz>: -3.376951
I. 07/13 17:18:23. <actual_rotational_acc_resultant_mag>:
2016.53686899999976
I. 07/13 17:18:23. <actual_rotx>: -514.988007
I. 07/13 17:18:23. <actual_roty>: -1949.66876599999964
I. 07/13 17:18:23. <actual_rotz>: 0
I. 07/13 17:18:23. <actual_gsi>: 9.92863599999999881
I. 07/13 17:18:23. <actual_hip>: 0
I. 07/13 17:18:23. <actual_hic>: 4.525483
I. 07/13 17:18:23. <adc_refvoltage>: 3
I. 07/13 17:18:23. <volts_to_units>: 208.33333299999997
I. 07/13 17:18:23. <accel_sensitivity_mv_per_g>: 8
I. 07/13 17:18:23. <accel_refvoltage>: 5
I. 07/13 17:18:23. <alarm_type>: 0
I. 07/13 17:18:23. <solver_type_id>: 1
I. 07/13 17:18:23. <creation_date>: 2005-09-20
16:58:41.125
I. 07/13 17:18:23. <ccc>:
I. 07/13 17:18:23. <bbb>:
I. 07/13 17:18:23. <aaa>: 1.3
I. 07/13 17:18:23. <created_by>: pn]Š

F"½øoĆÌ4²Ðòñ°6©â¾Y”7
I. 07/13 17:18:23. <modified_by>: –$=

5ò/8]˜ÓXò=qªç0Ô–R©‚ŽmXÉ™©BòÏQ G‚½øs6)äZ•ÐKJ¥
I. 07/13 17:18:23. <deleted>: 0
I. 07/13 17:18:23. <zzz_id>: 134243704
I. 07/13 17:18:23. <zzz_db_id>: 28
I. 07/13 17:18:23. <alarm_type_id>: NULL
E. 07/13 17:18:23. Protocol error

Quote:
Do you have any embedded NULL characters in char or
varchar columns that are being downloaded? This will
cause a protocol error.

If you know the problem is happening on table yyy, then a
SQL statement similar to the following ( on the product
table in the asademo.db ) will find you your embedded
NULL character, assuming you include all the character
columns in your select.

select id,
locate( name, '\x00' ) as c1,
locate( description, '\x00' ) as c2,
locate( size, '\x00' ) as c3,
locate( color, '\x00' ) as c4
from product
where c1 > 0
or c2 > 0
or c3 > 0
or c4 > 0

It's unlikely that an EBF has fixed this BTW.

--
Reg Domaratzki, Sybase iAnywhere Solutions
Sybase Certified Professional - Sybase ASA Developer
Version 8 Please reply only to the newsgroup

iAnywhere Developer Community :
http://www.ianywhere.com/developer iAnywhere Documentation
: http://www.ianywhere.com/developer/product_manuals ASA
Patches and EBFs : http://downloads.sybase.com/swd/base.do
-> Choose SQL Anywhere Studio
-> Set filter to "Display ALL platforms IN ALL MONTHS"


Breck Carter> wrote in message
news:44b6477e.4870.1681692777 (AT) sybase (DOT) com... How do I
deal a "protocol error" on a very large 9.0.2.3124
initial download?
The dbmlsync log snippet below shows that the failure
happened during the download of one of the largest
tables. Notice the long times and the large stream size.

I have told the client (1) try rerunning, (2) try a
later EBF and (3) call tech support.

Does anything else come to mind?

Breck

I. 07/12 10:23:43. Synchronization Started
I. 07/12 10:23:43. 1: -c
I. 07/12 10:23:43. 2:
************************************************** ****
I. 07/12 10:23:43. 3: -e
I. 07/12 10:23:43. 4: adr=host=192.168.47;lt=OFF
I. 07/12 10:23:43. 5: -q
I. 07/12 10:23:43. 6: -vnosu
I. 07/12 10:23:43. 7: -x
I. 07/12 10:23:43. Adaptive Server Anywhere MobiLink
Synchronization Version 9.0.2.3124
...
I. 07/12 17:17:27. COMMIT
I. 07/12 20:07:57. Download stream: received 1195949857
bytes from MobiLink Server.
I. 07/12 20:07:57. Processing download stream ...
...
I. 07/12 20:08:01. Downloading into table: xxx
I. 07/12 20:08:02. # rows inserted/updated into table
xxx : 315
I. 07/12 20:08:02. # rows deleted in table xxx : 0
I. 07/12 20:08:02. Downloading into table: yyy
E. 07/12 20:20:49. Protocol error



Reply With Quote
  #4  
Old   
Reg Domaratzki \(iAnywhere Solutions\)
 
Posts: n/a

Default Re: Protocol Error on dbmlsync 9.-0.2.3124 - 07-14-2006 , 09:03 AM



It looks like ML has definitely generated an invalid stream, but I'm still
not convinced you don't have any embedded NULLs in the character columns.

Is column "aaa" a char/varchar column as well? That column is most likely
be the culprit if there is an embedded NULL character. Does

select locate( aaa, '\x00' ) from yyy where [ primary_key = whatever ]

return "4"? You specifically talk about the final two string columns where
'DBA' is the data, but not the aaa column.

PS : The data might "look" fine if it has an embedded NULL. Try the
following :

Create the table and add a row any way you like :
{sql} create table t1 ( c1 char(20) );
{sql} insert into t1 values ( 'Reg\x00Domaratzki' );

Now, execute dbisql -nogui from the command line :

[0] [90] dbisql -nogui -c dba,sql select c1, locate(c1, '\x00'), length(c1)
from t1;
Execution time: 0.015 seconds
c1 locate(t1.c1,'\x00') length(t1.c1)
-------------------------------------------------
Reg Domaratzki 4 14

If you're using the DBIQSL gui version, you'll see a box where \x00 is, and
if you're using dbisqlc, you'll just see "Reg". Don't trust your eyes,
trust the LOCATE function. Embedded NULLs are almost as annoying as SQL
NULLs IMHO.

--
Reg Domaratzki, Sybase iAnywhere Solutions
Sybase Certified Professional - Sybase ASA Developer Version 8
Please reply only to the newsgroup

iAnywhere Developer Community : http://www.ianywhere.com/developer
iAnywhere Documentation : http://www.ianywhere.com/developer/product_manuals
ASA Patches and EBFs : http://downloads.sybase.com/swd/base.do
-> Choose SQL Anywhere Studio
-> Set filter to "Display ALL platforms IN ALL MONTHS"


<Breck Carter> wrote

Here are some additional diagnostics: A valid row as it
exists on the consolidated database, followed by the
dbmlsync verbose display of the garbled version immediately
followed by Protocol error.

Note that the final two string columns look OK on the
consolidated ('DBA','DBA') but are totally mangled in the
verbose log.

Also note that the final four numeric column values are also
mangled; e.g.,

0,91,1,

became

I. 07/13 17:18:23. <deleted>: 0
I. 07/13 17:18:23. <zzz_id>: 134243704
I. 07/13 17:18:23. <zzz_db_id>: 28
I. 07/13 17:18:23. <alarm_type_id>: NULL
E. 07/13 17:18:23. Protocol error

I don't have the schema handy to email (thank you, firewall
police

Breck


17,137278,8,1,-1,-1,17,136,2005-09-20
16:51:26.830,'1',102,98,87.1734599999999881,21.968 168,-10.475617
,11.10023,-20.987259999999997,5.543602,-3.376951,2016.53686899999976
,-514.988007,-1949.66876599999964,0,9.92863599999999881,0,4.5254 83
,3,208.33333299999997,8,5,'0',1,2005-09-20
16:58:41.125,'','','1.3','DBA','DBA',2006-02-28
21:01:48.234,0,91,1,

I. 07/13 17:18:23. Insert/Update row:
I. 07/13 17:18:23. <yyy_db_id>: 17
I. 07/13 17:18:23. <yyy_id>: 137278
I. 07/13 17:18:23. <org_id>: 8
I. 07/13 17:18:23. <yyy_type_id>: 1
I. 07/13 17:18:23. <xxx_exposure_db_id>: -1
I. 07/13 17:18:23. <xxx_exposure_id>: -1
I. 07/13 17:18:23. <xxx_ddd_db_id>: 17
I. 07/13 17:18:23. <xxx_ddd_id>: 136
I. 07/13 17:18:23. <yyy_datetime>: 2005-09-20 16:51:26.83
I. 07/13 17:18:23. <valid_flag>: 1
I. 07/13 17:18:23. <suspect_temp>: 102
I. 07/13 17:18:23. <suspect_mag>: 98
I. 07/13 17:18:23. <actual_temp>: 87.1734599999999881
I. 07/13 17:18:23. <actual_linear_acc_resultant_mag>:
21.968168
I. 07/13 17:18:23. <actual_azi>: -10.475617
I. 07/13 17:18:23. <actual_ele>: 11.10023
I. 07/13 17:18:23. <actual_linearx>: -20.987259999999997
I. 07/13 17:18:23. <actual_lineary>: 5.543602
I. 07/13 17:18:23. <actual_linearz>: -3.376951
I. 07/13 17:18:23. <actual_rotational_acc_resultant_mag>:
2016.53686899999976
I. 07/13 17:18:23. <actual_rotx>: -514.988007
I. 07/13 17:18:23. <actual_roty>: -1949.66876599999964
I. 07/13 17:18:23. <actual_rotz>: 0
I. 07/13 17:18:23. <actual_gsi>: 9.92863599999999881
I. 07/13 17:18:23. <actual_hip>: 0
I. 07/13 17:18:23. <actual_hic>: 4.525483
I. 07/13 17:18:23. <adc_refvoltage>: 3
I. 07/13 17:18:23. <volts_to_units>: 208.33333299999997
I. 07/13 17:18:23. <accel_sensitivity_mv_per_g>: 8
I. 07/13 17:18:23. <accel_refvoltage>: 5
I. 07/13 17:18:23. <alarm_type>: 0
I. 07/13 17:18:23. <solver_type_id>: 1
I. 07/13 17:18:23. <creation_date>: 2005-09-20
16:58:41.125
I. 07/13 17:18:23. <ccc>:
I. 07/13 17:18:23. <bbb>:
I. 07/13 17:18:23. <aaa>: 1.3
I. 07/13 17:18:23. <created_by>: pn]S

F"½øoÄ?Ì4²Ðòñ°6©â¾Y"7
I. 07/13 17:18:23. <modified_by>: -$=

5ò/8]~ÓXò=qªç0Ô-R©,ZmXÉT©BòÏQ G,½øs6)äZ.ÐKJ¥
I. 07/13 17:18:23. <deleted>: 0
I. 07/13 17:18:23. <zzz_id>: 134243704
I. 07/13 17:18:23. <zzz_db_id>: 28
I. 07/13 17:18:23. <alarm_type_id>: NULL
E. 07/13 17:18:23. Protocol error

Quote:
Do you have any embedded NULL characters in char or
varchar columns that are being downloaded? This will
cause a protocol error.

If you know the problem is happening on table yyy, then a
SQL statement similar to the following ( on the product
table in the asademo.db ) will find you your embedded
NULL character, assuming you include all the character
columns in your select.

select id,
locate( name, '\x00' ) as c1,
locate( description, '\x00' ) as c2,
locate( size, '\x00' ) as c3,
locate( color, '\x00' ) as c4
from product
where c1 > 0
or c2 > 0
or c3 > 0
or c4 > 0

It's unlikely that an EBF has fixed this BTW.

--
Reg Domaratzki, Sybase iAnywhere Solutions
Sybase Certified Professional - Sybase ASA Developer
Version 8 Please reply only to the newsgroup

iAnywhere Developer Community :
http://www.ianywhere.com/developer iAnywhere Documentation
: http://www.ianywhere.com/developer/product_manuals ASA
Patches and EBFs : http://downloads.sybase.com/swd/base.do
-> Choose SQL Anywhere Studio
-> Set filter to "Display ALL platforms IN ALL MONTHS"


Breck Carter> wrote in message
news:44b6477e.4870.1681692777 (AT) sybase (DOT) com... How do I
deal a "protocol error" on a very large 9.0.2.3124
initial download?
The dbmlsync log snippet below shows that the failure
happened during the download of one of the largest
tables. Notice the long times and the large stream size.

I have told the client (1) try rerunning, (2) try a
later EBF and (3) call tech support.

Does anything else come to mind?

Breck

I. 07/12 10:23:43. Synchronization Started
I. 07/12 10:23:43. 1: -c
I. 07/12 10:23:43. 2:
************************************************** ****
I. 07/12 10:23:43. 3: -e
I. 07/12 10:23:43. 4: adr=host=192.168.47;lt=OFF
I. 07/12 10:23:43. 5: -q
I. 07/12 10:23:43. 6: -vnosu
I. 07/12 10:23:43. 7: -x
I. 07/12 10:23:43. Adaptive Server Anywhere MobiLink
Synchronization Version 9.0.2.3124
...
I. 07/12 17:17:27. COMMIT
I. 07/12 20:07:57. Download stream: received 1195949857
bytes from MobiLink Server.
I. 07/12 20:07:57. Processing download stream ...
...
I. 07/12 20:08:01. Downloading into table: xxx
I. 07/12 20:08:02. # rows inserted/updated into table
xxx : 315
I. 07/12 20:08:02. # rows deleted in table xxx : 0
I. 07/12 20:08:02. Downloading into table: yyy
E. 07/12 20:20:49. Protocol error





Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.