#19280 [Opn->Fbk]: imap_header() fails with many To: addresses

From: Date: Sat, 07 Sep 2002 21:10:41 +0000
Subject: #19280 [Opn->Fbk]: imap_header() fails with many To: addresses
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-18639@lists.php.net to get a copy of this message
 ID:               19280
 Updated by:       kalowsky@php.net
 Reported By:      mose@ns.cune.edu
-Status:           Open
+Status:           Feedback
 Bug Type:         IMAP related
 Operating System: RedHat 7.3, 2.4.19
 PHP Version:      4CVS-2002-09-07
 New Comment:

Can you try setting the memory_limit in your php.ini a little higher?  


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

[2002-09-07 13:56:28] mose@ns.cune.edu

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 17426 (LWP 25688)]
0x4207a3b4 in chunk_alloc () from /lib/i686/libc.so.6
(gdb) bt
#0  0x4207a3b4 in chunk_alloc () from /lib/i686/libc.so.6
#1  0x4207a148 in malloc () from /lib/i686/libc.so.6
#2  0x403450f4 in _emalloc (size=40)
    at /home/mose/php4-200209070600/Zend/zend_alloc.c:154
#3  0x40356bf6 in _object_and_properties_init (arg=0x4423b834,
    class_type=0x40463900, properties=0x0, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/Zend/zend_API.c:585
#4  0x40356c61 in _object_init_ex (arg=0x4423b834,
class_type=0x40463900,
    tsrm_ls=0x44391698) at
/home/mose/php4-200209070600/Zend/zend_API.c:597
#5  0x40356c8b in _object_init (arg=0x4423b834, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/Zend/zend_API.c:603
#6  0x40280659 in _php_imap_parse_address (addresslist=0x44349c20,
    fulladdress=0x42b2c314, paddress=0x4423b7b4, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/ext/imap/php_imap.c:3555
#7  0x402808df in _php_make_header_object (myzvalue=0x44457f04,
en=0x443aea78,
    tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/ext/imap/php_imap.c:3587
#8  0x40279348 in zif_imap_headerinfo (ht=5, return_value=0x44457f04,
    this_ptr=0x0, return_value_used=1, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/ext/imap/php_imap.c:1479
#9  0x403691b3 in execute (op_array=0x4425b308, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:1602
#10 0x403693ae in execute (op_array=0x44345d24, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:1646
#11 0x4036e8e5 in execute (op_array=0x44469ba4, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:2168
#12 0x4036e8e5 in execute (op_array=0x4423ef8c, tsrm_ls=0x44391698)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:2168
#13 0x403558ea in zend_execute_scripts (type=8, tsrm_ls=0x44391698,
    retval=0x0, file_count=3) at
/home/mose/php4-200209070600/Zend/zend.c:814
#14 0x4032c3f2 in php_execute_script (primary_file=0x42b3489c,
    tsrm_ls=0x44391698) at
/home/mose/php4-200209070600/main/main.c:1510
#15 0x40371a15 in php_output_filter (f=0x444022f0, bb=0x44402f68)
    at
/home/mose/php4-200209070600/sapi/apache2filter/sapi_apache2.c:409
#16 0x0806eeb7 in ap_pass_brigade (next=0x444022f0, bb=0x44402428)
    at util_filter.c:540
#17 0x08075280 in default_handler (r=0x443b7fe8) at core.c:3293
#18 0x08065b1e in ap_run_handler (r=0x443b7fe8) at config.c:193
#19 0x08066039 in ap_invoke_handler (r=0x443b7fe8) at config.c:400
#20 0x08061d63 in ap_process_request (r=0x443b7fe8) at
http_request.c:257
#21 0x0805dff8 in ap_process_http_connection (c=0x442c4e70) at
http_core.c:293
#22 0x0806d3ea in ap_run_process_connection (c=0x442c4e70) at
connection.c:85
#23 0x08062e5a in process_socket (p=0x442c4d60, sock=0x442c4d98,
    my_child_num=0, my_thread_num=15, bucket_alloc=0x818c3a0) at
worker.c:632
#24 0x08063439 in worker_thread (thd=0x8100b20, dummy=0x8169790)
    at worker.c:947
#25 0x400f7330 in dummy_worker (opaque=0x8100b20) at thread.c:127
#26 0x4016dfef in pthread_start_thread () from
/lib/i686/libpthread.so.0
#27 0x4016e0df in pthread_start_thread_event () from
/lib/i686/libpthread.so.0


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 19476 (LWP 25869)]
0x4207a3b4 in chunk_alloc () from /lib/i686/libc.so.6
(gdb) bt
#0  0x4207a3b4 in chunk_alloc () from /lib/i686/libc.so.6
#1  0x4207a148 in malloc () from /lib/i686/libc.so.6
#2  0x403450f4 in _emalloc (size=40)
    at /home/mose/php4-200209070600/Zend/zend_alloc.c:154
#3  0x40356bf6 in _object_and_properties_init (arg=0x88c1e94,
    class_type=0x40463900, properties=0x0, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/Zend/zend_API.c:585
#4  0x40356c61 in _object_init_ex (arg=0x88c1e94,
class_type=0x40463900,
    tsrm_ls=0x87aa430) at
/home/mose/php4-200209070600/Zend/zend_API.c:597
#5  0x40356c8b in _object_init (arg=0x88c1e94, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/Zend/zend_API.c:603
#6  0x40280659 in _php_imap_parse_address (addresslist=0x8539a20,
    fulladdress=0x42f2c314, paddress=0x88c1e14, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/ext/imap/php_imap.c:3555
#7  0x402808df in _php_make_header_object (myzvalue=0x8624d7c,
en=0x89308a0,
    tsrm_ls=0x87aa430) at
/home/mose/php4-200209070600/ext/imap/php_imap.c:3587
#8  0x40279348 in zif_imap_headerinfo (ht=5, return_value=0x8624d7c,
    this_ptr=0x0, return_value_used=1, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/ext/imap/php_imap.c:1479
#9  0x403691b3 in execute (op_array=0x879e010, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:1602
#10 0x403693ae in execute (op_array=0x8858c74, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:1646
#11 0x4036e8e5 in execute (op_array=0x84d714c, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:2168
#12 0x4036e8e5 in execute (op_array=0x84cdda4, tsrm_ls=0x87aa430)
    at /home/mose/php4-200209070600/Zend/zend_execute.c:2168
#13 0x403558ea in zend_execute_scripts (type=8, tsrm_ls=0x87aa430,
retval=0x0,
    file_count=3) at /home/mose/php4-200209070600/Zend/zend.c:814
#14 0x4032c3f2 in php_execute_script (primary_file=0x42f3489c,
    tsrm_ls=0x87aa430) at
/home/mose/php4-200209070600/main/main.c:1510
#15 0x40371a15 in php_output_filter (f=0x85a9ab8, bb=0x85aa730)
    at
/home/mose/php4-200209070600/sapi/apache2filter/sapi_apache2.c:409
#16 0x0806eeb7 in ap_pass_brigade (next=0x85a9ab8, bb=0x85a9bf0)
    at util_filter.c:540
#17 0x08075280 in default_handler (r=0x84059c0) at core.c:3293
#18 0x08065b1e in ap_run_handler (r=0x84059c0) at config.c:193
#19 0x08066039 in ap_invoke_handler (r=0x84059c0) at config.c:400
#20 0x08061d63 in ap_process_request (r=0x84059c0) at
http_request.c:257
#21 0x0805dff8 in ap_process_http_connection (c=0x81b8aa0) at
http_core.c:293
#22 0x0806d3ea in ap_run_process_connection (c=0x81b8aa0) at
connection.c:85
#23 0x08062e5a in process_socket (p=0x81b8990, sock=0x81b89c8,
my_child_num=0,
    my_thread_num=17, bucket_alloc=0x81944a0) at worker.c:632
#24 0x08063439 in worker_thread (thd=0x8100b60, dummy=0x8169790)
    at worker.c:947
#25 0x400f7330 in dummy_worker (opaque=0x8100b60) at thread.c:127
#26 0x4016dfef in pthread_start_thread () from
/lib/i686/libpthread.so.0
#27 0x4016e0df in pthread_start_thread_event () from
/lib/i686/libpthread.so.0

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

[2002-09-07 13:29:12] kalowsky@php.net

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

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.



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

[2002-09-07 13:08:11] mose@ns.cune.edu

No, I have not tried this with earlier versions of Apache or c-client.

This seems to be the sequence of events.

imap_header() called in php with the message number
_php_make_header_object() called with envelope information
_php_imap_parse_address(en->to...) called to parse To:

It then makes various trips through the do while loop.  The message I
have with 128 addresses always makes 18 trips through the loop and then
consistently blows up the 19th time at the line with "if
(addresstmp->host)".

It's possible that this isn't the real location of the problem.  Rather
it might be a memory allocation problem when the envelope information
is created, since there is such a large number of To: addresses.  19
addresses could be close 1024 bytes.

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

[2002-09-07 12:49:12] kalowsky@php.net

Any chance you've tried this with Apache1?  Or a non-dev version of
c-client?

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

[2002-09-07 10:25:42] mose@ns.cune.edu

imap-2002.RC5 (also does not work with imap-2002.RC2)
Apache 2.0.40
openldap 2.1.4
mysql 3.23.49
configure --with-apxs2=/local/apache/bin/apxs
--enable-force-cgi-redirect --disable-cli
--with-imap=/home/xxx/imap-2002.RC5 --with-ldap
--with-mysql=/local/mysql

The call to imap_header() fails on messages with many To: addresses. 
One message I received has 128 addresses in the To: field (of the form
"Firstname Lastname" <Firstname.Lastname@example.com>).  Other messages
with fewer addresses do not cause a problem.

There is a bug in the database that was supposed to have been fixed in
CVS in June.  Either that change has not made it into the current CVS,
or this is a different bug.  I'd be happy to mail someone a typical
message that produces the problem.  However, you should easily be able
to craft such a message yourself in a text file by simply repeating the
address in the To: field.

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


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



Thread (17 messages)

« previous php.bugs (#18639) next »