#41862 [Opn]: Errorhandler doesn't work (PHP4 only)

2007-07-18 Thread thomas at thoftware dot de
 ID:   41862
 User updated by:  thomas at thoftware dot de
 Reported By:  thomas at thoftware dot de
 Status:   Open
 Bug Type: Scripting Engine problem
 Operating System: Windows XP
 PHP Version:  4.4.7
 New Comment:

So someone may change status to "Wont fix"? And maybe add something
like "Don't use functions as argument for require() when setting an
errorhandler." to the documentation of set_error_handler()?


Previous Comments:


[2007-07-10 21:55:09] [EMAIL PROTECTED]

right, there's a problem with PHP 4 if foo does not exist, but I doubt
anybody is going to fix it.

Program received signal SIGSEGV, Segmentation fault.
php_strip_url_passwd (url=0x0) at
/home/johannes/src/php/PHP_4_4/main/fopen_wrappers.c:481
481 while (*p) {
(gdb) bt
#0  php_strip_url_passwd (url=0x0) at
/home/johannes/src/php/PHP_4_4/main/fopen_wrappers.c:481
#1  0x080b46d8 in php_message_handler_for_zend (message=2, data=0x0) at
/home/johannes/src/php/PHP_4_4/main/main.c:812
#2  0x080f22e1 in execute (op_array=0x8df088c) at
/home/johannes/src/php/PHP_4_4/Zend/zend_execute.c:2240
#3  0x080df3ab in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /home/johannes/src/php/PHP_4_4/Zend/zend.c:935
#4  0x080b3805 in php_execute_script (primary_file=0xbf88fed0) at
/home/johannes/src/php/PHP_4_4/main/main.c:1757
#5  0x080f9d39 in main (argc=1, argv=0xbf88ff94) at
/home/johannes/src/php/PHP_4_4/sapi/cli/php_cli.c:838




[2007-07-09 13:45:09] thomas at thoftware dot de

At 5 Jul 1:55pm UTC somebody changed the subject and added ' (PHP4
only)' with no additional comment. Since then no further action took
place. Can any of you developers out there tell me what this means?



[2007-07-03 08:30:22] thomas at thoftware dot de

I've checked the documentation another time and did not find anything
that explains or even discusses the above behaviour. As I'm not sure if
anyone is reading this while the status is "Bogus", I've decided to
reopen it.

Maybe someone can read my additional submissions - and if you are sure
it is bogus, than please give me a little more specific hint, where I
can find it in the documentation (as normally done when a submission is
answered with the "Thank you for taking the time"-Text).

Thank you in advance.



[2007-07-02 06:42:34] thomas at thoftware dot de

Something I found even earlier is: "The following error types cannot be
handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR,
E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT
raised in the file where set_error_handler() is called.". Is that what
you mean I should have read? Please note, that that isn't the problem.

I don't want these error types to be handled. I simply want the whole
construct to run and not to crash. The above script works fine in these
2 versions:

Reproduce code 2 (works):
---
  function foo($foo) {
return($foo);
  }
  error_reporting(E_ALL);
  require_once(foo('foo'));

Reproduce code 3 (works):
---
  function ehandler($e,$t,$f,$l,$c) {
echo $t;
  }
  set_error_handler('ehandler');
  error_reporting(E_ALL);
  require_once('foo');

(Where 'fine' means, it shows the error an stops.)

Can you pleease explain to me, why the first version crashes
without any message?



[2007-06-30 21:29:30] thomas at thoftware dot de

Description:

Setting an Errorhandler with set_error_handler() and then calling
require() with a Function as Argument doesn't produce the expected
Result.

Reproduce code:
---
  function ehandler($e,$t,$f,$l,$c) {
echo $t;
  }
  function foo($foo) {
return($foo);
  }
  set_error_handler('ehandler');
  error_reporting(E_ALL);
  require_once(foo('foo'));


Expected result:

Some Errormessage like this:

main(foo) [function.main]: failed to open stream: No such file or
directory
Fatal error: main() [function.require]: Failed opening required 'foo'
(include_path='.;c:\php4\pear') in foo.php on line x

Actual result:
--
Nothing (infinite loop?). PHP crashes.

Using no Errorhandler or giving 'foo' directly to require_once() works.





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


#41862 [Opn]: Errorhandler doesn't work (PHP4 only)

2007-07-10 Thread johannes
 ID:   41862
 Updated by:   [EMAIL PROTECTED]
 Reported By:  thomas at thoftware dot de
 Status:   Open
 Bug Type: Scripting Engine problem
 Operating System: Windows XP
 PHP Version:  4.4.7
 New Comment:

right, there's a problem with PHP 4 if foo does not exist, but I doubt
anybody is going to fix it.

Program received signal SIGSEGV, Segmentation fault.
php_strip_url_passwd (url=0x0) at
/home/johannes/src/php/PHP_4_4/main/fopen_wrappers.c:481
481 while (*p) {
(gdb) bt
#0  php_strip_url_passwd (url=0x0) at
/home/johannes/src/php/PHP_4_4/main/fopen_wrappers.c:481
#1  0x080b46d8 in php_message_handler_for_zend (message=2, data=0x0) at
/home/johannes/src/php/PHP_4_4/main/main.c:812
#2  0x080f22e1 in execute (op_array=0x8df088c) at
/home/johannes/src/php/PHP_4_4/Zend/zend_execute.c:2240
#3  0x080df3ab in zend_execute_scripts (type=8, retval=0x0,
file_count=3) at /home/johannes/src/php/PHP_4_4/Zend/zend.c:935
#4  0x080b3805 in php_execute_script (primary_file=0xbf88fed0) at
/home/johannes/src/php/PHP_4_4/main/main.c:1757
#5  0x080f9d39 in main (argc=1, argv=0xbf88ff94) at
/home/johannes/src/php/PHP_4_4/sapi/cli/php_cli.c:838



Previous Comments:


[2007-07-09 13:45:09] thomas at thoftware dot de

At 5 Jul 1:55pm UTC somebody changed the subject and added ' (PHP4
only)' with no additional comment. Since then no further action took
place. Can any of you developers out there tell me what this means?



[2007-07-03 08:30:22] thomas at thoftware dot de

I've checked the documentation another time and did not find anything
that explains or even discusses the above behaviour. As I'm not sure if
anyone is reading this while the status is "Bogus", I've decided to
reopen it.

Maybe someone can read my additional submissions - and if you are sure
it is bogus, than please give me a little more specific hint, where I
can find it in the documentation (as normally done when a submission is
answered with the "Thank you for taking the time"-Text).

Thank you in advance.



[2007-07-02 06:42:34] thomas at thoftware dot de

Something I found even earlier is: "The following error types cannot be
handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR,
E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT
raised in the file where set_error_handler() is called.". Is that what
you mean I should have read? Please note, that that isn't the problem.

I don't want these error types to be handled. I simply want the whole
construct to run and not to crash. The above script works fine in these
2 versions:

Reproduce code 2 (works):
---
  function foo($foo) {
return($foo);
  }
  error_reporting(E_ALL);
  require_once(foo('foo'));

Reproduce code 3 (works):
---
  function ehandler($e,$t,$f,$l,$c) {
echo $t;
  }
  set_error_handler('ehandler');
  error_reporting(E_ALL);
  require_once('foo');

(Where 'fine' means, it shows the error an stops.)

Can you pleease explain to me, why the first version crashes
without any message?



[2007-07-02 06:29:19] thomas at thoftware dot de

Neither with require_once(), require(), include() nor with
set_error_handler() anything about the above behaviour is explained. I
checked it four times. Can you please simply give me a direct link to
that part of the documentation where it is mentioned? Or am I supposed
to read the comlplete documentation as in that way you always have the
chance that somewhere there might be some well hidden information about
it?



[2007-07-02 01:34:29] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

.



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

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


#41862 [Opn]: Errorhandler doesn't work (PHP4 only)

2007-07-09 Thread thomas at thoftware dot de
 ID:   41862
 User updated by:  thomas at thoftware dot de
 Reported By:  thomas at thoftware dot de
 Status:   Open
 Bug Type: Scripting Engine problem
 Operating System: Windows XP
 PHP Version:  4.4.7
 New Comment:

At 5 Jul 1:55pm UTC somebody changed the subject and added ' (PHP4
only)' with no additional comment. Since then no further action took
place. Can any of you developers out there tell me what this means?


Previous Comments:


[2007-07-03 08:30:22] thomas at thoftware dot de

I've checked the documentation another time and did not find anything
that explains or even discusses the above behaviour. As I'm not sure if
anyone is reading this while the status is "Bogus", I've decided to
reopen it.

Maybe someone can read my additional submissions - and if you are sure
it is bogus, than please give me a little more specific hint, where I
can find it in the documentation (as normally done when a submission is
answered with the "Thank you for taking the time"-Text).

Thank you in advance.



[2007-07-02 06:42:34] thomas at thoftware dot de

Something I found even earlier is: "The following error types cannot be
handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR,
E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT
raised in the file where set_error_handler() is called.". Is that what
you mean I should have read? Please note, that that isn't the problem.

I don't want these error types to be handled. I simply want the whole
construct to run and not to crash. The above script works fine in these
2 versions:

Reproduce code 2 (works):
---
  function foo($foo) {
return($foo);
  }
  error_reporting(E_ALL);
  require_once(foo('foo'));

Reproduce code 3 (works):
---
  function ehandler($e,$t,$f,$l,$c) {
echo $t;
  }
  set_error_handler('ehandler');
  error_reporting(E_ALL);
  require_once('foo');

(Where 'fine' means, it shows the error an stops.)

Can you pleease explain to me, why the first version crashes
without any message?



[2007-07-02 06:29:19] thomas at thoftware dot de

Neither with require_once(), require(), include() nor with
set_error_handler() anything about the above behaviour is explained. I
checked it four times. Can you please simply give me a direct link to
that part of the documentation where it is mentioned? Or am I supposed
to read the comlplete documentation as in that way you always have the
chance that somewhere there might be some well hidden information about
it?



[2007-07-02 01:34:29] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

.



[2007-06-30 21:29:30] thomas at thoftware dot de

Description:

Setting an Errorhandler with set_error_handler() and then calling
require() with a Function as Argument doesn't produce the expected
Result.

Reproduce code:
---
  function ehandler($e,$t,$f,$l,$c) {
echo $t;
  }
  function foo($foo) {
return($foo);
  }
  set_error_handler('ehandler');
  error_reporting(E_ALL);
  require_once(foo('foo'));


Expected result:

Some Errormessage like this:

main(foo) [function.main]: failed to open stream: No such file or
directory
Fatal error: main() [function.require]: Failed opening required 'foo'
(include_path='.;c:\php4\pear') in foo.php on line x

Actual result:
--
Nothing (infinite loop?). PHP crashes.

Using no Errorhandler or giving 'foo' directly to require_once() works.





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