Re: [PHP4BETA] IMAP
| From: | Dustin Marquess | Date: | Sat, 31 Jul 1999 19:34:44 +0000 |
| Subject: | Re: [PHP4BETA] IMAP | ||
| References: | 1 2 | Groups: | php.version4 |
| Request: | Send a blank email to php-version4+get-3020@lists.php.net to get a copy of this message | ||
At 06:31 AM 7/31/99 , Zeev Suraski wrote:
>At 07:54 31/07/99 , Dustin Marquess wrote:
>>At 06:36 PM 7/30/99 , Zeev Suraski wrote:
>> >zeev Fri Jul 30 19:36:21 1999 EDT
>> >
>> > Modified files:
>> > /php4/ext/imap imap.c
>> > Log:
>> > Ok, that should be a good start. Can somebody verify that this actually
>> >compiles,
>> > and perhaps check if it runs?
>>
>> The only thing keeping it from compiling is the fact tha the
>> prototype and
>>the declaration for add_assoc_object() don't match. The prototype is
>>designed with tmp being a pointer to pval and the declaration is defined
>>with tmp being a pval. Changing the declaration to match the prototype
>>allowed it to compile.
>>
>> On the downside, php3_imap_headerinfo() still seems to be
messing-up.
>>
>>[Sat Jul 31 00:55:53 1999] [notice] child pid 9604 exit signal Illegal
>>instruction (4)
>
>Well, the way gcc may have resolved the declaration conflict may have had
>something to do with it...
>I fixed it, please try it now.
Well, it did compile cleanly this time... but it still crashes. It looks
like it's trying to access a NULL ht->pHashFunction again...
Here's the gdb output:
F:~/temp/php4-work$ gdb
GDB is free software and you are welcome to distribute copies of it
under certain conditions; type "show copying" to see the conditions.
There is absolutely no warranty for GDB; type "show warranty" for details.
GDB 4.16 (i586-unknown-linux), Copyright 1996 Free Software Foundation, Inc.
(gdb) file ./php
Reading symbols from ./php...done.
(gdb) set args ./checkmail.php
(gdb) run
Starting program: /usr2/jailbird/temp/php4-work/./php ./checkmail.php
[SNIP SCRIPT OUTPUT]
Program received signal SIGILL, Illegal instruction.
0x81c6119 in ?? ()
(gdb) bt
#0 0x81c6119 in ?? ()
#1 0x807be11 in zend_hash_add_or_update (ht=0x81c5740, arKey=0x8138552 "to",
nKeyLength=3, pData=0xbfffdacc, nDataSize=4, pDest=0x0, flag=1)
at zend_hash.c:131
#2 0x808b137 in add_assoc_object (arg=0xbfffefb8, key=0x8138552 "to",
tmp=0x82004a8) at imap.c:185
#3 0x808d5aa in php3_imap_headerinfo (ht=2, return_value=0xbfffefb8,
list=0x81c567c, plist=0x81c56a8, this_ptr=0x0) at imap.c:1201
#4 0x80863dc in execute (op_array=0x81de240) at zend_execute.c:1410
#5 0x80601e7 in php_execute_script (primary_file=0xbffffc3c) at main.c:1131
#6 0x8066ab7 in main (argc=2, argv=0xbffffc78) at cgi_main.c:448
#7 0x805ed0e in _start ()
(gdb) list zend_hash.c:131
126 return FAILURE;
127 }
128
129
HANDLE_NUMERIC(arKey,nKeyLength,zend_hash_index_update_or_next_insert(ht,idx
,pData,nDataSize,pDest,flag));
130
131 h = ht->pHashFunction(arKey, nKeyLength);
132 nIndex = h % ht->nTableSize;
133
134 p = ht->arBuckets[nIndex];
135 while (p != NULL) {
-Dustin