ID:               39134
 User updated by:  jr-phpbugs at cedric dot unob dot cz
 Reported By:      jr-phpbugs at cedric dot unob dot cz
-Status:           Feedback
+Status:           Open
 Bug Type:         MSSQL related
 Operating System: linux (irrelevant)
 PHP Version:      4.4.4
 New Comment:

Tested & confirmed: php_mssql extension does not have the problem
described. It is a php_sybase_ct extension bug in connection with
FreeTDS 0.64.


Previous Comments:
------------------------------------------------------------------------

[2006-10-31 15:41:33] [EMAIL PROTECTED]

try using --with-mssql instead of --with-sybase-ct. When you are
compiling with the sybase option you are not using the MSSQL extension
but the sybase extension that happens to have aliasses so you can use
mssql_* when you call the functions.

- Frank

------------------------------------------------------------------------

[2006-10-31 05:22:07] cameron dot mcshane at csiro dot au

I have also experienced this problem. Details:

SuSE SLES 9
php 4.4.2 ('./configure' '--with-apxs2=/usr/local/apache2/bin/apxs'
'--prefix=/usr/local/php' '--with-sybase-ct=/usr/local/freetds')
FreeTDS 0.64
MS MSL 2000

Have tested code as provided in original bug report.

CLI version:
- crash with "segmentation fault" message

libphp4.so version:
- affected thread produces a line "[notice] child pid XXXXX exit
signal
Segmentation fault (11)"  in Apache's error log.

backtrace included below:


Program received signal SIGSEGV, Segmentation fault.
0x4014c40c in memcpy () from /lib/tls/libc.so.6
(gdb) bt
#0  0x4014c40c in memcpy () from /lib/tls/libc.so.6
#1  0x0811d82b in _estrndup (s=0x820522c "", length=136454143) at
/usr/src/php-4.4.2/Zend/zend_alloc.c:387
#2  0x080e6c18 in php_sybase_fetch_result_row (result=0x81e825f,
numrows=-1) at /usr/src/php-4.4.2/ext/sybase_ct/php_sybase_ct.c:1185
#3  0x080e8586 in php_sybase_fetch_result_set (sybase_ptr=0x81caf7c,
buffered=0, store=<value optimized out>)
    at /usr/src/php-4.4.2/ext/sybase_ct/php_sybase_ct.c:1333
#4  0x080e8bbb in php_sybase_query (ht=<value optimized out>,
return_value=0x81cdb1c, this_ptr=<value optimized out>,
return_value_used=1, buffered=0)
    at /usr/src/php-4.4.2/ext/sybase_ct/php_sybase_ct.c:1497
#5  0x0813ad3c in execute (op_array=0x81caf14) at
/usr/src/php-4.4.2/Zend/zend_execute.c:1675
#6  0x08129623 in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /usr/src/php-4.4.2/Zend/zend.c:934
#7  0x0810181e in php_execute_script (primary_file=0xbffff3c0) at
/usr/src/php-4.4.2/main/main.c:1753
#8  0x0813bda2 in main (argc=2, argv=0xbffff484) at
/usr/src/php-4.4.2/sapi/cli/php_cli.c:830
(gdb) frame 5
#5  0x0813ad3c in execute (op_array=0x81caf14) at
/usr/src/php-4.4.2/Zend/zend_execute.c:1675
1675                                                           
((zend_internal_function *)
EX(function_state).function)->handler(EX(opline)->extended_value,
EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr,
return_value_used TSRMLS_CC);
(gdb) print (char
*)(executor_globals.function_state_ptr->function)->common.function_name
$1 = 0x8150075 "mssql_query"
(gdb) print (char *)executor_globals.active_op_array->function_name
$2 = 0x0
(gdb) print (char *)executor_globals.active_op_array->filename
$3 = 0x81cefdc ""
(gdb)

------------------------------------------------------------------------

[2006-10-12 10:32:07] jr-phpbugs at cedric dot unob dot cz

(gdb) bt
#0  0x003e830f in memcpy () from /lib/libc.so.6
#1  0x0816d0ca in _estrndup (s=0x838a4ac "", length=137940992,
    __zend_filename=0x8235d40
"/usr/local/src/php/php-4.4.4/ext/sybase_ct/php_sybase_ct.c",
__zend_lineno=1185, __zend_orig_filename=0x0, __zend_orig_lineno=0)
    at /usr/local/src/php/php-4.4.4/Zend/zend_alloc.c:409
#2  0x0813627c in php_sybase_fetch_result_row (result=0x838b450,
numrows=-1)
    at /usr/local/src/php/php-4.4.4/ext/sybase_ct/php_sybase_ct.c:1185
#3  0x08136857 in php_sybase_fetch_result_set (sybase_ptr=0x8352334,
    buffered=0, store=-1)
    at /usr/local/src/php/php-4.4.4/ext/sybase_ct/php_sybase_ct.c:1333
#4  0x08136ed3 in php_sybase_query (ht=-1, return_value=0x8389c14,
    this_ptr=0x0, return_value_used=1, buffered=0)
    at /usr/local/src/php/php-4.4.4/ext/sybase_ct/php_sybase_ct.c:1497
#5  0x081371e9 in zif_sybase_query (ht=2, return_value=0x8389c14,
    this_ptr=0x0, return_value_used=1)
    at /usr/local/src/php/php-4.4.4/ext/sybase_ct/php_sybase_ct.c:1626
#6  0x0818819c in execute (op_array=0x83522ac)
    at /usr/local/src/php/php-4.4.4/Zend/zend_execute.c:1675
#7  0x0817a183 in zend_execute_scripts (type=8, retval=0x0,
file_count=3)
    at /usr/local/src/php/php-4.4.4/Zend/zend.c:934
#8  0x0815336b in php_execute_script (primary_file=0xbfffdbe0)
    at /usr/local/src/php/php-4.4.4/main/main.c:1752
#9  0x0818c938 in main (argc=4, argv=0xbfffdc74)
    at /usr/local/src/php/php-4.4.4/sapi/cli/php_cli.c:832
#10 0x00381bb4 in __libc_start_main () from /lib/libc.so.6

(gdb) frame 6
#6  0x0818819c in execute (op_array=0x83522ac)
    at /usr/local/src/php/php-4.4.4/Zend/zend_execute.c:1675
1675                                                           
((zend_internal_function *)
EX(function_state).function)->handler(EX(opline)->extended_value,
EX(Ts)[EX(opline)->result.u.var].var.ptr, EX(object).ptr,
return_value_used TSRMLS_CC);

(gdb) print (char
*)(executor_globals.function_state_ptr->function)->common.function_name
$4 = 0x82358ed "mssql_query"

(gdb) print (char *)executor_globals.active_op_array->function_name
$5 = 0x0

(gdb) print (char *)executor_globals.active_op_array->filename
$6 = 0x83563b4 "/root/crash.php3"

------------------------------------------------------------------------

[2006-10-12 09:58:03] [EMAIL PROTECTED]

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.



------------------------------------------------------------------------

[2006-10-12 09:32:09] jr-phpbugs at cedric dot unob dot cz

Since I omitted double-quotes at the end of the query, here's the
corrected one:

$query="SELECT test_text FROM test WHERE test_id=2";

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/39134

-- 
Edit this bug report at http://bugs.php.net/?id=39134&edit=1

Reply via email to