Skip to Content.
Sympa Menu

freetds - RE: [freetds] Problem with current snapshot

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: "Lowden, James K" <LowdenJK AT bernstein.com>
  • To: 'FreeTDS Development Group' <freetds AT lists.ibiblio.org>
  • Subject: RE: [freetds] Problem with current snapshot
  • Date: Thu, 13 Nov 2003 11:54:20 -0500

> From: ZIGLIO Frediano [mailto:Frediano.Ziglio AT vodafone.com]
> Sent: November 13, 2003 11:02 AM
> >
> > Just a quick note which hopefully may be of some use, I was
> > carrying out some testing today with
> > freetds-0.62.dev.20031113 (today's snapshot) and under load
> > got a number of the following failures:
> >
> > dblib.c:416: buffer_transfer_bound_data: Assertion `idx >=
> 0' failed.
>
> That's strange... could your post a dump (set TDSDUMP=out.txt, execute
> program and send out.txt, removing security information inside log)
> What platform are you using ?

A quick look at the code does not instill confidence:

414 int idx = buffer_index_of_resultset_row(buf, row_num);
415
416 --> assert(idx >= 0);
417 /* XXX now what? */
418

The answer is unfortunately quite tedious, I fear. The row buffering code
in db-lib is a few hundred lines of complex undocumented logic.

The above lines appear within a loop in buffer_transfer_bound_data() that
goes *across* a row, dealing with each column. It looks like a mistake not
to determine the row's buffer index before entering the loop. Other places
that that call buffer_transfer_bound_data() treat -1 as a demand to fetch
more rows. Seems reasonable.

> > I realise that I have not provided much diagnostics here but
> > my project deadline is short to for the moment I have
> > reverted to stable 0.61.2 which runs perfectly with the self
> > same code.

With Frediano, I'd be interested in seeing your log. If you could modify
the function to log its inputs and tell us what idx became, that would help
too. I'm particularly curious about whether this is a regular or compute
row.

Thanks for the report, Simon.

Regards,

--jkl
-----------------------------------------
The information contained in this transmission may contain privileged and
confidential information and is intended only for the use of the person(s)
named above. If you are not the intended recipient, or an employee or agent
responsible for delivering this message to the intended recipient, any
review, dissemination, distribution or duplication of this communication is
strictly prohibited. If you are not the intended recipient, please contact
the sender immediately by reply e-mail and destroy all copies of the original
message. Please note that we do not accept account orders and/or instructions
by e-mail, and therefore will not be responsible for carrying out such orders
and/or instructions.






Archive powered by MHonArc 2.6.24.

Top of Page