PHP/tds issue - partial
Michael Kimsal
michael at tapinternet.com
Thu Sep 14 18:57:51 EDT 2000
Got part of this done...
gdb program 27552 worked...
Attaching to Pid 27552
0x40218ad4 in ?? ()
(gdb) where
#0 0x40218ad4 in ?? ()
#1 0x40049223 in ?? ()
#2 0x40049018 in ?? ()
#3 0x40046553 in ?? ()
#4 0x40045806 in ?? ()
#5 0x40041927 in ?? ()
#6 0x80c6bce in ?? ()
#7 0x4028eb0c in ?? ()
#8 0x4028ece1 in ?? ()
#9 0x402863d5 in ?? ()
#10 0x80dbbc8 in ?? ()
#11 0x8064ab1 in ?? ()
#12 0x8063489 in ?? ()
#13 0x4018a9cb in ?? ()
(gdb) print tds->in_pos
No symbol table is loaded. Use the "file" command.
(gdb) file
A program is being debugged already. Kill it? (y or n) n
Program not killed.
(gdb)
That's all I've got so far - I can't seem to print tds->in_pos,
unless it's not "print tds->in_pos" - is there another way to do that?
Brian Bruns wrote:
> Ok, now we're getting somewhere. Is the process just hanging at this point
> or does the program exit? If it is hanging can you (from another shell)
> attach to it (gdb -a <pid>) and run 'where' to get a stack trace? My guess
> is it'll be blocked in read() for the socket. If so see if you can print
> tds->in_pos and tds->in_buf[] which should give us a clue as to what is
> going on. Specifically, look for the last byte with a value of decimal 209
> (TDS_ROW_TOKEN) and everything that follows until tds->in_buf[tds->in_pos]
>
> Brian
>
> On Wed, 13 Sep 2000, Michael Kimsal wrote:
>
> > Little more info - maybe this is familiar to someone else too.
> >
> > Now doing some work with PHP/FreeTDS as CGI, and still getting the
> > same problems. Actually not CGI thru webserver, but from a command line.
> > Every 5th or 6th time I run a particular script, the process will
> > hang at the same query. The tdsdump log I have always stops
> > in the same spot.
> >
> >
> > 2000-09-13 18:53:12 inside dbnextrow()
> > 2000-09-13 18:53:12 processing row tokens. marker is d1
> > 2000-09-13 18:53:12 setting column 0 to NULL
> > 2000-09-13 18:53:12 setting column 1 to NULL
> > 2000-09-13 18:53:12 setting column 2 to NULL
> > 2000-09-13 18:53:12 setting column 3 to NULL
> > 2000-09-13 18:53:12 setting column 4 to NULL
> > 2000-09-13 18:53:12 leaving dbnextrow() returning -1
> >
> > it's looping thru this - it gets PART way thru the 29th row
> >
> > 2000-09-13 18:53:12 inside dbnextrow()
> > 2000-09-13 18:53:12 processing row tokens. marker is d1
> > 2000-09-13 18:53:12 setting column 0 to NULL
> > 2000-09-13 18:53:12 setting column 1 to NULL
> > 2000-09-13 18:53:12 setting column 2 to NULL
> > 2000-09-13 18:53:12 setting column 3 to NULL
> >
> > then stops on this column, even tho there are 43 rows to
> > get.
> >
> > If this behaviour is familiar to anyone the list, or anyone has
> > any ideas to help, please let me know.
> >
> > Thanks!
> >
> >
==========================
Michael Kimsal
http://www.tapinternet.com
734-480-9961
More information about the FreeTDS
mailing list