ID:               26589
 Updated by:       [EMAIL PROTECTED]
 Reported By:      justin22 at v-biz dot net
-Status:           Open
+Status:           Assigned
 Bug Type:         MSSQL related
 Operating System: windows 2000
 PHP Version:      4CVS, 5CVS
-Assigned To:      
+Assigned To:      fmk


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

[2004-02-18 01:01:25] justin22 at v-biz dot net

running it from the command line ('php moneytest.php') also crashes:

dr watson:

function: RtlAllocateHeap

        77fcc4c9 897dcc           mov     [ebp+0xcc],edi        
ss:0154958a=????????

        77fcc4cc 884705           mov     [edi+0x5],al                
ds:020da096=??

        77fcc4cf 66894f02         mov     [edi+0x2],cx              
ds:020da097=????

        77fcc4d3 8a4e04           mov     cl,[esi+0x4]                
ds:020da076=??

        77fcc4d6 884f04           mov     [edi+0x4],cl                
ds:020da096=??

        77fcc4d9 66891f           mov     [edi],bx                  
ds:00cc01b0=2e6c

        77fcc4dc a810             test    al,0x10

        77fcc4de 0f8540020000     jne     RtlAllocateHeap+0x477
(77fcc724)

        77fcc4e4 8d0cdf           lea     ecx,[edi+ebx*8]       
ds:00002e6c=????????

        77fcc4e7 894dd0           mov     [ebp+0xd0],ecx        
ss:0154958a=????????

FAULT ->77fcc4ea 8a4105           mov     al,[ecx+0x5]                
ds:020f13f6=??

        77fcc4ed a801             test    al,0x1

        77fcc4ef 0f8419ebffff     je      _eFSQRT+0xd44 (77fcb00e)

        77fcc4f5 66895902         mov     [ecx+0x2],bx              
ds:020f13f7=????

        77fcc4f9 6681fb8000       cmp     bx,0x80

        77fcc4fe 0f8391f4ffff     jnb     RtlSizeHeap+0x8f (77fcb995)

        77fcc504 80670510         and     byte ptr [edi+0x5],0x10     
ds:020da096=??

        77fcc508 0fb7c3           movzx   eax,bx

        77fcc50b 8b4da4           mov     ecx,[ebp+0xa4]        
ss:0154958a=????????

        77fcc50e 8db4c178010000   lea     esi,[ecx+eax*8+0x178] 
ds:000006e6=????????

        77fcc515 89b500ffffff     mov     [ebp+0xffffff00],esi  
ss:0012f5a4=00000000

        77fcc51b 3936             cmp     [esi],esi             
ds:00cc0190=00cc0004



*----> Stack Back Trace <----*



FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Function Name

0012F6A4 100BFE82 00CC0000 00000001 00000018 00000001
ntdll!RtlAllocateHeap 

00000005 00000000 00000000 00000000 00000000 00000000 !emalloc

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

[2004-02-17 17:34:56] [EMAIL PROTECTED]

Does it crash if you run it from command line using CLI / CGI binary?



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

[2003-12-14 20:28:51] justin22 at v-biz dot net

I've created a sample database with my table, along with this script:



<?

echo "Connect to server<br>";

$ConnID = mssql_pconnect('justin', 'xxx', 'ppp');

if ($ConnID===false) die("Cannot connect to server");

echo "select Database<br>";

if (!mssql_select_db('PhpMoneyTest')) die('cannot select db
PHPmoneytest');

$sql="select amount as amount from Test";

$result = mssql_query($sql);



// php crashes here



echo "Test Passed"

// Finished



?>





php.ini settings are:

[MSSQL]

; Allow or prevent persistent links.

mssql.allow_persistent = on

; Maximum number of persistent links.  -1 means no limit.

mssql.max_persistent = -1

; Maximum number of links (persistent+non persistent).  -1 means no
limit.

mssql.max_links = -1

; Minimum error severity to display.

mssql.min_error_severity = 10

; Minimum message severity to display.

mssql.min_message_severity = 10

; Compatability mode with old versions of PHP 3.0.

mssql.compatability_mode = Off

; Valid range 0 - 2147483647.  Default = 4096.

;[jvp] allow more text!

mssql.textlimit = 16384

; Valid range 0 - 2147483647.  Default = 4096.

;[jvp]

mssql.textsize = 16384

; Limits the number of records in each batch.  0 = all records in one
batch.

mssql.batchsize = 0

; Use NT authentication when connecting to the server

mssql.secure_connection = 0

; Specify max number of processes. Default = 25

;mssql.max_procs = 25

; Disable date time conversions: dates formatted yyyy-mm-dd hh:mm:ssAA

mssql.datetimeconvert = 0



I tried changing some of these (in particular, tried without persistent
connections) without any effect.



I'm using apache module, but this dies with only a single process
(request), so its unlikely to be  a thread issue.  I'm very concerned
about your threadsafe comments - can you point me to any discussion of
this issue?



sample db with table 'Test' emailed as requested.



Thanks for your quick response!



Justin

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

[2003-12-12 01:02:00] [EMAIL PROTECTED]

I've tested this with the latest code from CVS of both php4 and php5
and I can't reproduce it.



Please provide some more details like php.ini settings for mssql and
are you using CGI or apache module ?



The Microsoft library used for the mssql extension is not thread safe.
That could be the problem if you are using apache module.



You can send your sample code and data to [EMAIL PROTECTED]

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

[2003-12-11 21:41:47] justin22 at v-biz dot net

Tried latest CVS, exact same result.

Could be same problem as reported in bug #19588, as I tried to do a
convert(smallmoney, amount) instead of float conversion and it still
failed.

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

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/26589

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

Reply via email to