ct-lib PR: message handler incorrectly detects charset error
"James K. Lowden" <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
In the log fragment below, the ct-lib message handler somehow gets confused and decides it can't convert the server message to the client's encoding. The problem was detected by trying to create a primary key on a column with dubplicate values. I'm having difficulty debugging it because on my platform gdb gets a td_map_lwp2thr error with sqsh. So, I'm giving up for now and posting this message in case someone else wants to look into it. --jkl ct.c:965:ct_send() succeeded ct.c:1099:ct_results() token.c:497:tds_process_tokens(0x8076700, 0xbfbfeb34, 0xbfbfeb38, 0x6914) util.c:162:Changed query state from PENDING to READING net.c:652:Received packet 0000 04 01 02 36 00 34 01 00-aa 4a 01 e1 05 00 00 01 |...6.4.. .J......| 0010 10 9a 00 43 00 52 00 45-00 41 00 54 00 45 00 20 |...C.R.E .A.T.E. | 0020 00 55 00 4e 00 49 00 51-00 55 00 45 00 20 00 49 |.U.N.I.Q .U.E. .I| 0030 00 4e 00 44 00 45 00 58-00 20 00 74 00 65 00 72 |.N.D.E.X . .t.e.r| 0040 00 6d 00 69 00 6e 00 61-00 74 00 65 00 64 00 20 |.m.i.n.a .t.e.d. | 0050 00 62 00 65 00 63 00 61-00 75 00 73 00 65 00 20 |.b.e.c.a .u.s.e. | 0060 00 61 00 20 00 64 00 75-00 70 00 6c 00 69 00 63 |.a. .d.u .p.l.i.c| 0070 00 61 00 74 00 65 00 20-00 6b 00 65 00 79 00 20 |.a.t.e. .k.e.y. | 0080 00 77 00 61 00 73 00 20-00 66 00 6f 00 75 00 6e |.w.a.s. .f.o.u.n| 0090 00 64 00 20 00 66 00 6f-00 72 00 20 00 69 00 6e |.d. .f.o .r. .i.n| 00a0 00 64 00 65 00 78 00 20-00 49 00 44 00 20 00 31 |.d.e.x. .I.D. .1| 00b0 00 2e 00 20 00 4d 00 6f-00 73 00 74 00 20 00 73 |... .M.o .s.t. .s| 00c0 00 69 00 67 00 6e 00 69-00 66 00 69 00 63 00 61 |.i.g.n.i .f.i.c.a| 00d0 00 6e 00 74 00 20 00 70-00 72 00 69 00 6d 00 61 |.n.t. .p .r.i.m.a| 00e0 00 72 00 79 00 20 00 6b-00 65 00 79 00 20 00 69 |.r.y. .k .e.y. .i| 00f0 00 73 00 20 00 27 00 53-00 65 00 70 00 20 00 31 |.s. .'.S .e.p. .1| 0100 00 34 00 20 00 32 00 30-00 30 00 32 00 20 00 20 |.4. .2.0 .0.2. . | 0110 00 35 00 3a 00 34 00 32-00 50 00 4d 00 00 00 20 |.5.:.4.2 .P.M... | 0120 00 7d 1a a8 0b 7d 1a 00-04 00 00 01 00 00 00 c0 |.}...}.. ........| 0130 72 7a 1a 12 48 00 00 94-b2 df 39 07 c3 46 00 18 |rz..H... ..9..F..| 0140 b3 df 39 27 00 2e 00 05-54 00 49 00 54 00 41 00 |..9'.... T.I.T.A.| 0150 4e 00 00 01 00 aa 78 00-d6 06 00 00 00 10 31 00 |N.....x. ......1.| 0160 43 00 6f 00 75 00 6c 00-64 00 20 00 6e 00 6f 00 |C.o.u.l. d. .n.o.| 0170 74 00 20 00 63 00 72 00-65 00 61 00 74 00 65 00 |t. .c.r. e.a.t.e.| 0180 20 00 63 00 6f 00 6e 00-73 00 74 00 72 00 61 00 | .c.o.n. s.t.r.a.| 0190 69 00 6e 00 74 00 2e 00-20 00 53 00 65 00 65 00 |i.n.t... .S.e.e.| 01a0 20 00 70 00 72 00 65 00-76 00 69 00 6f 00 75 00 | .p.r.e. v.i.o.u.| 01b0 73 00 20 00 65 00 72 00-72 00 6f 00 72 00 73 00 |s. .e.r. r.o.r.s.| 01c0 2e 00 05 54 00 49 00 54-00 41 00 4e 00 00 01 00 |...T.I.T .A.N....| 01d0 ab 5a 00 25 0e 00 00 00-00 22 00 54 00 68 00 65 |.Z.%.... .".T.h.e| 01e0 00 20 00 73 00 74 00 61-00 74 00 65 00 6d 00 65 |. .s.t.a .t.e.m.e| 01f0 00 6e 00 74 00 20 00 68-00 61 00 73 00 20 00 62 |.n.t. .h .a.s. .b| 0200 00 65 00 65 00 6e 00 20-00 74 00 65 00 72 00 6d |.e.e.n. .t.e.r.m| 0210 00 69 00 6e 00 61 00 74-00 65 00 64 00 2e 00 05 |.i.n.a.t .e.d....| 0220 54 00 49 00 54 00 41 00-4e 00 00 01 00 fd 02 00 |T.I.T.A. N.......| 0230 d8 00 00 00 00 00 - |......| token.c:512:processing result tokens. marker is aa(ERROR) token.c:110:tds_process_default_tokens() marker is aa(ERROR) token.c:2528:tds_process_msg() reading message 1505 from server util.c:334:tdserror(0x80786a0, 0x8076700, 2403, 0) ct.c:334:ct_con_props() action = CS_GET property = 9143 ct.c:1850:ct_close() mem.c:603:tds_free_all_results() util.c:162:Changed query state from READING to DEAD ct.c:1862:ct_con_drop() ct.c:243:ct_exit()