The patch 043-recode_size_t.patch is broken. req_len and str_len should be integers, but are size_t (zend_parse_parameters wants pointers to int). This is a problem for 64 bits arches since a part of the variables is not initialized (sizof(size_t) != sizeof(int)), and recode_buffer_to_buffer is called with funny values that makes librecode eat all the system's memory.
The patch was messed up during the conversion from php4 (r301 of the pkg-kde svn repository). This patch is not needed in testing/unstable and should be removed since the bug for this patch (PHP#41765) was fixed upstream in php 5.2.4, but a fixed version is needed for etch. An updated version of the patch witch fixes the problem for me is attached to this mail and should be, IMO, applied as a security fix for etch.
--- php-5.2.0/ext/recode/recode.c.orig 2008-02-06 19:58:51.000000000 +0100 +++ php-5.2.0/ext/recode/recode.c 2008-02-06 19:59:13.000000000 +0100 @@ -132,7 +132,7 @@ { RECODE_REQUEST request = NULL; char *r = NULL; - int r_len = 0, r_alen = 0; + size_t r_len = 0, r_alen = 0; int req_len, str_len; char *req, *str;