[PHP-DEV] PHP 5 Bug Summary Report

2009-03-09 Thread internals
 PHP 5 Bug Database summary - http://bugs.php.net/

 Num Status Summary (1325 total -- which includes 819 feature requests)
===[*Directory/Filesystem functions]
46990 Assigned   Passing UTF8 strings to filesystem functions produce wrong 
filenames
===[Apache related]===
47503 Open   apache start terminated
===[Apache2 related]==
32220 Assigned   [PATCH] thread_resources for thread not getting freed when 
apache kills thread
44625 Feedback   php.ini doesn't show changed variable value for extension_dir 
and include_path
46479 Open   virtual() prints output to browser
46481 Open   apache_lookup_uri() draws blank if Apache auth enabled
===[Arrays related]===
46283 Open   array_merge_recursive() Warning recursion detected in...
47221 Open   no result from array_diff()
===[BC math related]==
44995 Open   bcpowmod() using a scale function always returns 0
46564 Open   bcmod( '1071', '357.5' ) returns '0'
===[Bzip2 Related]
29521 Assigned   compress.bzip2 wrapper
===[Calendar related]=
40213 Suspended  easter_date() returns wrong timestamp if ...
44474 Open   GregorianToJD wrong return value
===[CGI related]==
43313 Open   getopt() doesn't handle unknown parameters
45217 Open   crash if -z and -m are used together
46305 Open   Exception handler not invoked when using -r command line option
47042 Open   php cgi sapi is incorrectly removing the SCRIPT_FILENAME for 
non apache
47412 Open   PHP_MSHUTDOWN_FUNCTION not being called under FastCGI
47540 Open   CLI can go into an infinite write() loop when 
ignore_user_abort(true)
===[Class/Object related]=
45199 Assigned   Serializing objects with private properties
46140 Open   Unserializing with __wakeup that removes child causes 
subsequent refs to shift
46812 Open   get_class_vars() does not include visible private variable 
looking at subclass
47405 Open   error reports wrong file/line
47601 Open   defined() requires class
===[COM related]==
31327 Assigned   chinese char and word problem
32099 Assigned   After opening ADO connection and closing it repeatedly, Apache 
stops service
34253 Assigned   COM binary object/array issue (question marks?)
35875 Assigned   IE event failure upon scheduling script
36360 Assigned   PHP crashes when accessing an object that was just create by 
parent object
37562 Assigned   Unable to lookup "ParameterFieldDefinitions"
37899 Assigned   [PATCH] php_char_to _OLECHAR copies junk bytes
37965 Assigned   Multi-dimensional array between PHP and COM
38719 Assigned   COM Error during accessing function VirtualMachines
40424 Assigned   Fatal error when setting the value of COM object's property 
array
40581 Assigned   Pass Struct type to COM object from PHP
40664 Assigned   String conversion functions wrong for multibyte chars
41055 Assigned   DOTNET not instantiating fully-pathed assembly
41078 Assigned   Its not possible to call Static dotNet Classes with dotnet
41189 Assigned   Multi-dimensional array in COM function causes hang
41368 Assigned   ADODB.Recordset ActiveConnection property - can't set with PHP 
5.2.1+
41388 Assigned   Error in COM Object results
41577 Assigned   DOTNET is successful once per server run
42413 Assigned   Cannot iterate IE's event object
42551 Assigned   new COM("HTMLFile") => warnings
42585 Assigned   die() in event handler => PHP hangs
43275 Open   get_class problem with COM objects
43432 Open   Fatal error when setting the value of COM object's Attribute 
property
43470 Open   COM API fails to correctly return [OUT]  VT_PTR references
43506 Open   com_get_active_object always fails
43521 Open   Problem with Variant/Parameters
43838 Open   variant_set with IE leads to hang
43897 Open   $ie not cleared on IE quit
44256 Open   Pb with COM in PHP5
44578 Open   Strange Behavior of PHP using COM Object
45280 Open   Reflection of instantiated COM classes causes PHP to crash.
45704 Open   $exception->getCode() always return 0x80020009 even when it 
shouldn't
45855 Open   COM-Problem with GET/SET, using same method name (but with 
different arg count)
46224 Open   Cannot instantiate .Net object (ABCpdf 6.1 .Net)
46522 Open   Problem using new com
47401 Open   Can't instantiate VARIANT objects with VT_BYREF flag
47458 Open   PHP run as CGI module onapache giving ADODB error on win2008
47569 Open   DOTNET Excpection error
===

[PHP-DEV] PHP 6 Bug Summary Report

2009-03-09 Thread internals
 PHP 6 Bug Database summary - http://bugs.php.net/

 Num Status Summary (75 total -- which includes 32 feature requests)
===[*General Issues]==
26771 Suspended  register_tick_funtions crash under threaded webservers
===[Apache related]===
47061 Open   User not logged under Apache
===[Apache2 related]==
44083 Open   virtual() not outputting results if zlib.output_compression = 
On
===[Arrays related]===
35277 Suspended  incorrect recursion detection
41758 Assigned   SORT_LOCALE_STRING broken for sort() in PHP6
43109 Open   array_intersect() emits unexpected no of notices when 2d array 
is passed as arg
===[Class/Object related]=
41461 Assigned   E_STRICT notice when overriding methods not defined by an 
Interface in hierarchy
===[COM related]==
45836 Open   cannot use com 
46909 Open   COM object not allowing calls to methods
===[Compile Failure]==
42606 Open   unicode/constants.c relies on ICU draft api
44502 Suspended  Compiling ok with MySQL 5.0
===[Date/time related]
46948 Assigned   ext/date/lib/parse_tz.c:99: Memory leak: buffer
===[Filesystem function related]==
42110 Open   fgetcsv doesn't handle ""\n correctly in multiline csv record
44034 Open   FILE_IGNORE_NEW_LINES in FILE does not work as expected when 
lines end in \r\n
46688 Open   Return values differ from 5.3 and are also inconsistent
46689 Open   Downcoded notices suggest unfinished code in file system?
===[GD related]===
34670 Assigned   imageTTFText for Indian scripts (Devanagari)
34992 Assigned   imageconvolution does not respect alpha
===[I18N and L10N related]
42471 Open   locale_set_default returns true on invalid locales
===[mbstring related]=
44868 Open   Replaces UTF-8 symbol with incorrect symbol
===[mcrypt related]===
46834 Assigned   Range of mcrypt functions fail on PHP 6.0
===[MySQL related]
44076 Open   mysql_result returns nothing with blob
45246 Open   make error after ./configure --with-mysql
===[ODBC related]=
39756 Open   Crashes in fetching resultsets with LONG ASCII columns from 
MaxDB
===[OpenSSL related]==
25614 Assigned   openssl_pkey_get_public() fails when given a private key
===[PDO related]==
35368 Suspended  PDO query does not work properly with serialize
===[Performance problem]==
42528 Open   Out of "char"(8-bit) range value doesn't roll back, with 
uni-code ON.
===[Program Execution]
39992 Open   proc_terminate() leaves children of child running
43784 Assigned   escapeshellarg removes % from given string
===[Regexps related]==
44923 Open   ereg functions are not unicode aware: provide wrapper 
functions in PCRE
===[Reproducible crash]===
45107 Open   setting ext_dir to "./" (and other ini settings) causes apache 
crash
===[Scripting Engine problem]=
42194 Open   $argc/$argv[] won't work when .php extension is assigned to 
php.exe
47154 Open   Object properties unset after setting.
===[Session related]==
44860 Open   session_encode() fails for php_binary serializer
===[Strings related]==
45566 Open   Strict comparision on $_SERVER values fail
===[Unicode Engine related]===
45087 Open   Illegal or truncated character in input
47155 Open   PHP 6.0 decodes base64 into incorrect uft-8 string
47164 Assigned   uncomfortable (binary)char() append to binary string
===[URL related]==
45602 Open   urlencode/urldecode should use ASCII encoding
===[XSLT related]=
38218 Assigned   php:functionString tries to access objects with their names in 
lowe

Re: [PHP-DEV] Memory Leaks with Objects (no circular reference)

2009-03-09 Thread Dmitry Stogov

Hi,

these caches can't grow over some internal limits and they can't take 
128M. It may be some other source of the problem. Could you create a 
script which reproduces memory overflow?


Thanks. Dmitry.

Igor Feghali wrote:

Hello Dmitry,

Thank you for your answer. The problem comes when you put that piece
of code inside a Daemon that is supposed to run 24h/7 days. The
reserved memory increases at each loop, never gets freed, and in about
1~2 days the process dies because it reaches the memory limit of
128MB.

Isn't there any way to force PHP to free that space up ?

Regards,
~IF.


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] 5.3 items

2009-03-09 Thread shire


Hey Lukas,

Just a heads up that I should have a fix for this soonish, just running some 
more tests to make sure everything works as expected (I assume nobody else has 
started work on this):

9.  tokenizer misses last single-line comment 
(http://bugs.php.net/bug.php?id=46817)

What's the details on this one?

20. memory leak in the scanner when a new state stack is created


-shire



Lukas Kahwe Smith wrote:

Hello All,

I am back from my vacation in Tanzania. I will be in Innsbruck over the
weekend for some Frisbee action, but I hope to get back into the RM
business Sunday evening or Monday. I went through all my emails
yesterday and marked several for reading, which I will do on the train
ride if all goes well. That being said, it would also be useful if
anyone who is looking after issues that are still open and that should
be addressed before the next release (beta2 or RC1) can send Johannes
and myself a quick email. If anything needs discussion raise it on
internals ASAP.

regards,
Lukas Kahwe Smith
m...@pooteeweet.org







--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] 5.3 items

2009-03-09 Thread Scott MacVicar

Hey Brian,

On 9 Mar 2009, at 20:42, shire wrote:



Hey Lukas,

Just a heads up that I should have a fix for this soonish, just  
running some more tests to make sure everything works as expected (I  
assume nobody else has started work on this):


9.  tokenizer misses last single-line comment (http://bugs.php.net/bug.php?id=46817 
)


What's the details on this one?

20. memory leak in the scanner when a new state stack is created


When a file is included and a new state structure is created for the  
scanner its pushed on to a stack for freeing later on, most of the  
time this happens as soon as the scanner has parsed the included file  
but not quite for the tokenizer extension though.


At the moment the destructor for the stack is comparing pointers,  
which are unfortunately different because when you push something with  
zend_stack it does a copy.


I have a fix which just adds an id to the state structure, but this  
requires a little bit more memory.


I think the cleaner fix is to sort the tokenizer extension, just need  
some more time.


Scott

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] 5.3 items

2009-03-09 Thread Matt Wilmas

Hi Brian,

- Original Message -
From: "shire"
Sent: Monday, March 09, 2009



Hey Lukas,

Just a heads up that I should have a fix for this soonish, just running 
some more tests to make sure everything works as expected (I assume nobody 
else has started work on this):


9.  tokenizer misses last single-line comment 
(http://bugs.php.net/bug.php?id=46817)


I was going to take care of that one, as I mentioned in a previous message, 
though it's been awhile since I've been delayed much longer with stuff here. 
:-(  (Nothing set up for building PHP on this system yet; hope to in the 
next several hours finally, and do some things!)


As far as I know there's still the other comment-related issue where no 
Warning is giving about "Unterminated comment ..." for unclosed /* ...  It's 
all of course related to the fundamental re2c issue, for now, where when the 
scanned input ends while a variable length part of a rule is being matched, 
it just aborts ("return 0;") in YYFILL().


And that applies to the case Lukas gave in the bug report: WHITESPACE 
pattern is variable length.


The comment issue just happens to be a more obvious thing that was noticed, 
and it doesn't affect actual correct code that ends with a fixed-length ";" 
or "?>"  Some other bits that won't be returned if at the end of a file are 
T_LNUMBER, T_DNUMBER, T_STRING, T_VARIABLE, "The last part in unclosed 
double-quotes or backticks, 'An unclosed single quoted string, and so on, 
likely resulting in a different parse error than previous versions.


T_INLINE_HTML isn't affected by this because it's matched with a manual 
scan, rather than an re2c pattern.  The manual scan may well have been used 
to work around re2c...? :-)



- Matt 



--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] 5.3 items

2009-03-09 Thread shire


Hey Matt,

Matt Wilmas wrote:


9. tokenizer misses last single-line comment
(http://bugs.php.net/bug.php?id=46817)


I was going to take care of that one, as I mentioned in a previous
message, though it's been awhile since I've been delayed much longer
with stuff here. :-( (Nothing set up for building PHP on this system
yet; hope to in the next several hours finally, and do some things!)



Sorry I missed you're earlier email.  I saw this sitting on the 5.3 todo list and it was 
breaking some of our parsing so I figured I'd take a stab at it.  Here is my current 
patch http://tekrat.com/downloads/bits/php53.scanner_eof.patch, please let me know if you 
have some suggestions/changes.  It sounds like you commented on this initially so please 
let me know what you/we should do ie: merging my patch/your work, commiting this, or if 
you had a better fix in mind etc.  My biggest complaint is that my current patch requires 
adding \x00 to any exclusion rules ("[^").

These changes for handling EOF should probably be ported to the INI scanner as 
well for the above reason and to keep them similar.


As far as I know there's still the other comment-related issue where no
Warning is giving about "Unterminated comment ..." for unclosed /* ...
It's all of course related to the fundamental re2c issue, for now, where
when the scanned input ends while a variable length part of a rule is
being matched, it just aborts ("return 0;") in YYFILL().


I don't seem to see this problem, perhaps I'm not reproducing it correctly?



And that applies to the case Lukas gave in the bug report: WHITESPACE
pattern is variable length.


Didn't see/find this is there a bug # or link?



-shire

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] 5.3 items

2009-03-09 Thread Matt Wilmas

Hi Brian,

- Original Message -
From: "shire"
Sent: Monday, March 09, 2009


Hey Matt,

Matt Wilmas wrote:


9. tokenizer misses last single-line comment
(http://bugs.php.net/bug.php?id=46817)


I was going to take care of that one, as I mentioned in a previous
message, though it's been awhile since I've been delayed much longer
with stuff here. :-( (Nothing set up for building PHP on this system
yet; hope to in the next several hours finally, and do some things!)



Sorry I missed you're earlier email.  I saw this sitting on the 5.3 todo
list and it was breaking some of our parsing so I figured I'd take a stab
at it.  Here is my current patch
http://tekrat.com/downloads/bits/php53.scanner_eof.patch, please let me
know if you have some suggestions/changes.  It sounds like you commented
on this initially so please let me know what you/we should do ie: merging
my patch/your work, commiting this, or if you had a better fix in mind
etc. My biggest complaint is that my current patch requires adding \x00
to any exclusion rules ("[^").

These changes for handling EOF should probably be ported to the INI
scanner as well for the above reason and to keep them similar.


I don't have much time right now, but looked at it quick, and see that 
you're actually trying to work around the re2c issues in general. :-)  I was 
only thinking of putting a "band-aid" on the comment symptom(s), since those 
are about the only ones that occur with valid code (is the tokenizer ext. 
*supposed to* handle all tokens in code that wouldn't really compile?).  And 
yeah, about excluding \x00 from ANY_CHAR, it could change things, since it's 
always been allowed, although it seems strange that code would have literal 
NULLs in it (generated eval()'d code?).  That was part of the reason I 
couldn't come up with a generic fix while keeping all behavior.  If re2c 
would just remember the last matching state it was in at EOF like Flex!


Otherwise, I don't know what to do. :-/  I'm going to do something else 
before trying to implement what I was going to do, so there's no patch 
yet...



As far as I know there's still the other comment-related issue where no
Warning is giving about "Unterminated comment ..." for unclosed /* ...
It's all of course related to the fundamental re2c issue, for now, where
when the scanned input ends while a variable length part of a rule is
being matched, it just aborts ("return 0;") in YYFILL().


I don't seem to see this problem, perhaps I'm not reproducing it 
correctly?


As far as the Warning, with "comment ..." ?  Of course your patch would restore it, because it's missing 
last I checked (not able to right now).



And that applies to the case Lukas gave in the bug report: WHITESPACE
pattern is variable length.


Didn't see/find this is there a bug # or link?


I meant the "could be related if not the same problem" comment added the 
other day in Bug #46817.




-shire


- Matt 



--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] 5.3 items

2009-03-09 Thread shire

Matt Wilmas wrote:


I don't have much time right now, but looked at it quick, and see that
you're actually trying to work around the re2c issues in general. :-) I
was only thinking of putting a "band-aid" on the comment symptom(s),
since those are about the only ones that occur with valid code (is the
tokenizer ext. *supposed to* handle all tokens in code that wouldn't
really compile?).


Yeah I figured I should try to fix as much as a could, specifically the YYLMIIT 
not enforcing availability of 'n' chars makes me nervous. ;-)

I would expect that tokenizer should handle all tokens in code as long as they 
pass the scanner phase (not the parser phase) but I'm not sure on what the 
intention here is.



And yeah, about excluding \x00 from ANY_CHAR, it could
change things, since it's always been allowed, although it seems strange
that code would have literal NULLs in it (generated eval()'d code?).
That was part of the reason I couldn't come up with a generic fix while
keeping all behavior. If re2c would just remember the last matching
state it was in at EOF like Flex!



It seems to me like the crux of the problem here is that we can't integrate an EOF check 
(such as checking the length of data) within the regular expression.  While flex allows the 
<> we are expected to provide a unique identifier/token to match on.  This 
assumes that we have a unique character, or that the data is in good form so that we can 
detect a token etc.  Perhaps a good feature to add to re2c would be able to include a 
special regex/token match that would identify special conditions programatically such as 
(YYCURSOR == YYLIMIT) etc.

In defense of re2c I think it could be useful in situations to have to 
explicitly handle EOF, as it allows you more freedom for processing different 
data types.

I'll have to look closer at the multi-byte processing as well.  I don't see a 
lot of cases where we would run into \x00 values in code.  (Perhaps someone can 
provide a suggested use case that we need to watch out for?)  Perhaps if 
someone is including binary data strings within code?.



Otherwise, I don't know what to do. :-/ I'm going to do something else
before trying to implement what I was going to do, so there's no patch
yet...



Ok, I'll keep working on this I guess then as there's a couple more tests I 
want to run and fix some things before I commit (like ensuring that YYLIMIT 
actually ensures there are 'n' bytes available to read, etc).
 


As far as the Warning, with "

I didn't see this in the current, un-patched, php-5.3 build but I'll double 
check to make sure I wasn't still using my new binaries.

 

And that applies to the case Lukas gave in the bug report: WHITESPACE
pattern is variable length.


Didn't see/find this is there a bug # or link?


I meant the "could be related if not the same problem" comment added the
other day in Bug #46817.



Ah, I see.  Yes this was actually my friend that raised my attention about 
getting this fixed ;-)


-shire

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php