Skip to Content.
Sympa Menu

freetds - Re: [freetds] help debugging segfault

freetds AT lists.ibiblio.org

Subject: FreeTDS Development Group

List archive

Chronological Thread  
  • From: Chris Bandy <bandy.chris AT gmail.com>
  • To: FreeTDS Development Group <freetds AT lists.ibiblio.org>
  • Subject: Re: [freetds] help debugging segfault
  • Date: Mon, 4 Mar 2013 03:10:03 -0600

Hah. Since summer 2010. And the commit message for that line is "Actually
fix quoted identifiers this time".

-- Chris
On Mar 4, 2013 2:10 AM, "Frediano Ziglio" <freddy77 AT gmail.com> wrote:

> Error came from this line
> (
> http://git.php.net/?p=php-src.git;a=blob;f=ext/pdo_dblib/dblib_driver.c;h=77832f952047d8e3614bb46a49f7b7ca56e98d86;hb=e961c76a0bf81dbf7322fbd87fafc0642b6bef62
> )
>
> /* allow double quoted indentifiers */
> DBSETOPT(H->link, DBQUOTEDIDENT, 1);
>
> PHP pass a number as a pointer to string!
>
> >From MS documentation:
>
> "Note The param variable must always be a character string enclosed
> in quotation marks, even in the case of a numeric value, as in the
> preceding DBBUFFER example."
>
> Frediano
>
> 2013/3/4 Mark A. Hershberger <mah AT everybody.org>:
> > I'm working on enabling a connection to Azure's SQL server from PHP (see
> > https://bugs.php.net/bug.php?id=64338).
> >
> > The connection now works -- at least, I can connect to a database other
> > than the master one -- but since errors from the server are only
> > available from the debug log that FreeTDS has, I need to enable the
> > debug log.
> >
> > The problem: I get a segfault after turning on debugging.
> >
> > The end of the log is included at [1].
> >
> > I've also included a backtrace from gdb at [2].
> >
> > Is this a bug in FreeTDS? Or is the way I set up the connection from
> > PHP wrong?
> >
> > [1] Debug log end
> > 20:05:03.365572 867 (token.c:2355):tds_process_end() state set to
> TDS_IDLE
> > 20:05:03.365583 867 (util.c:156):Changed query state from READING to IDLE
> > 20:05:03.365595 867 (token.c:2370): rows_affected = 0
> > 20:05:03.365606 867 (util.c:104):logic error: cannot change query state
> > from IDLE to PENDING
> > 20:05:03.365618 867 (token.c:540):tds_process_tokens(0x1014090,
> > 0x7fffffff9b08, 0x7fffffff9b0c, 0x100)
> > 20:05:03.365630 867 (token.c:543):tds_process_tokens() state is COMPLETED
> > 20:05:03.365641 867 (login.c:496):successful login
> > 20:05:03.365656 867 (dblib.c:239):dblib_add_connection(0x7ffff0464640,
> > 0x1014090)
> > 20:05:03.365682 867 (dblib.c:4317):dbsetopt(0x1013520, 17, 2147483647,
> -1)
> > 20:05:03.365697 867 (dblib.c:4386):Got DBTEXTSIZE, with param
> > '2147483647' (max is 2147483647)
> >
> > (I added the "successful login" and the "Got DBTEXTSIZE" messages.)
> >
> > [2] Backtrace from gdb
> >
> > (gdb) bt
> > #0 0x00007ffff4da3304 in vfprintf () from
> /lib/x86_64-linux-gnu/libc.so.6
> > #1 0x00007ffff023d769 in ?? () from
> /usr/lib/x86_64-linux-gnu/libsybdb.so.5
> > #2 0x00007ffff020f774 in dbsetopt () from
> > /usr/lib/x86_64-linux-gnu/libsybdb.so.5
> > #3 0x00007fffeeae4629 in pdo_dblib_handle_factory (dbh=0x7ffff7fc4b70,
> > driver_options=0x7fffffe9)
> > at
> >
> /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/ext/pdo_dblib/dblib_driver.c:323
> > #4 0x00007ffff3e9fa41 in zim_PDO_dbh_constructor (ht=1,
> > return_value=0x7fffffe9, return_value_ptr=0x30,
> > this_ptr=0x7ffff7fc4b40, return_value_used=1) at
> > /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/ext/pdo/pdo_dbh.c:380
> > #5 0x00007ffff40c2edc in xdebug_execute_internal
> > (current_execute_data=0x7ffff7f8f060, return_value_used=0)
> > at /tmp/buildd/xdebug-2.2.1/build-php5/xdebug.c:1483
> > #6 0x00000000007468be in zend_do_fcall_common_helper_SPEC
> > (execute_data=0x7ffff7f8f060)
> > at
> > /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/Zend/zend_vm_execute.h:644
> > #7 0x00000000007002c7 in execute (op_array=0x7ffff7fc4070)
> > at
> > /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/Zend/zend_vm_execute.h:410
> > #8 0x00007ffff40c2a81 in xdebug_execute (op_array=0x7ffff7fc4070) at
> > /tmp/buildd/xdebug-2.2.1/build-php5/xdebug.c:1391
> > #9 0x00000000006a010e in zend_execute_scripts (type=8,
> > retval=0x7ffff7fc3800, file_count=3)
> > at /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/Zend/zend.c:1279
> > #10 0x000000000063f6e3 in php_execute_script
> (primary_file=0x7ffff4d9edbc)
> > at /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/main/main.c:2473
> > #11 0x0000000000749033 in do_cli (argc=0, argv=0x7fffffffe18b)
> > at
> /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/sapi/cli/php_cli.c:988
> > #12 0x00000000004310ca in main (argc=32767, argv=0xdb9210)
> > at
> /home/mah/work/DEB-BUILD/build-dir/php5-5.4.4/sapi/cli/php_cli.c:1361
> > --
> > http://hexmode.com/
> >
> > Many that live deserve death. And some that die deserve life. Can you
> > give it to them? Then do not be too eager to deal out death in
> > judgment. For even the very wise cannot see all ends.
> > -- J.R.R. Tolkien, The Fellowship of the Ring
> > _______________________________________________
> > FreeTDS mailing list
> > FreeTDS AT lists.ibiblio.org
> > http://lists.ibiblio.org/mailman/listinfo/freetds
> _______________________________________________
> FreeTDS mailing list
> FreeTDS AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds
>




Archive powered by MHonArc 2.6.24.

Top of Page