Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-21 Thread Jani Ollikainen
Hi, On 21.12.2012 8:15, Patrick Schaaf wrote: APC takes a LOCK_EX in exactly one place, apc_bin_dumpfile(), which does not look to me like it's related to include. The usage there is fishy anyway, not exactly sure, but I think the open that happens before taking LOCK_EX, will have truncated

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-21 Thread Stas Malyshev
Hi! Oh? Did I understand you correctly? If you can code PHP that crashes PHP, it's that codes fault not PHP's fault? I've always thought PHP to be high level programming language where PHP handles things for you and you can't code anything that crashes it like that with bus error? There

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-21 Thread Patrick Schaaf
On Thursday 20 December 2012 23:23:43 Stas Malyshev wrote: Hi! Is include supposed to take a LOCK_EX somehow? I can neither see that in php- src (5.4.9) nor APC-trunk, doing a cursory grepping. I'm not sure how any lock would help, since locks are optional, meaning you still can do the

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-21 Thread Patrick Schaaf
On Friday 21 December 2012 10:41:59 Jani Ollikainen wrote: So, my conclusion would be that it is the code snippet above, and not any part of PHP or the kernel, that is at fault. Oh? Did I understand you correctly? If you can code PHP that crashes PHP, it's that codes fault not PHP's

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-21 Thread Jani Ollikainen
Hi, On 21.12.2012 11:24, Patrick Schaaf wrote: I understand your sentiment. And I try to understand your technical point of view. I've thought that PHP handles concurrent stuff so that those kind of things won't happen and the user won't need to have for example mutexes to do stuff. But I

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-21 Thread Patrick Schaaf
I understood you correctly using temp file and then rename should fix that? Like this? file_put_contents('test.tpl.tmp', ?php #.str_repeat('A', mt_rand(4000, 5000)). ?\n, LOCK_EX); rename('test.tpl.tmp','test.tpl'); Exactly! You could also do it like this: $tmpname =

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-20 Thread Jani Ollikainen
Hi, If someone wants access to machine where you can reproduce this send me email. It's not just one machine where I can reproduce this, so can't blame hardware. Reproduced this there in CentOS 6.3 default php, php-5.3.19, php-5.4.9 and php-trunk-201212200830. What I noticed that with trunk I

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-20 Thread Stas Malyshev
Hi! ?php if ($argv[1] 0) { while ($argv[1]--) file_put_contents('test.tpl', ?php #.str_repeat('A', mt_rand(4000, 5000)). ?\n, LOCK_EX); } else { $p2 = popen(sapi/cli/php -n test3.php 100, r); while (1) include 'test.tpl'; } ? Yes, I can now reproduce this on my machine too.

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-20 Thread Patrick Schaaf
On Thursday 20 December 2012 10:40:32 Stas Malyshev wrote: Hi! ?php if ($argv[1] 0) { while ($argv[1]--) file_put_contents('test.tpl', ?php #.str_repeat('A', mt_rand(4000, 5000)). ?\n, LOCK_EX); } else { $p2 = popen(sapi/cli/php -n test3.php 100, r); while (1)

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-20 Thread Stas Malyshev
Hi! Is include supposed to take a LOCK_EX somehow? I can neither see that in php- src (5.4.9) nor APC-trunk, doing a cursory grepping. I'm not sure how any lock would help, since locks are optional, meaning you still can do the same thing without the locks. The prudent approach, which should

[PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-19 Thread Jani Ollikainen
Hi, I did come up with a problem in my server crashing with SIGBUS. After long testing/tracing found: https://bugs.php.net/bug.php?id=52752 Which seems to be totally the same! But for different enviroment. Unfortunately that bug report seems to have only some workaround to disable mmap(). I

[PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-19 Thread Jani Ollikainen
Hi, I did come up with a problem in my server crashing with SIGBUS. After long testing/tracing found: https://bugs.php.net/bug.php?id=52752 Which seems to be totally the same! But for different enviroment. Unfortunately that bug report seems to have only some workaround to disable mmap(). I

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-19 Thread Stas Malyshev
Hi! I did come up with a problem in my server crashing with SIGBUS. After long testing/tracing found: https://bugs.php.net/bug.php?id=52752 Just tried to reproduce it on Centos 6.2 install (without APC), works just fine for me. I suspect it's some APC issue, does it reproduce for you

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-19 Thread Rasmus Lerdorf
On 12/19/2012 03:27 PM, Stas Malyshev wrote: Hi! I did come up with a problem in my server crashing with SIGBUS. After long testing/tracing found: https://bugs.php.net/bug.php?id=52752 Just tried to reproduce it on Centos 6.2 install (without APC), works just fine for me. I suspect it's

Re: [PHP-DEV] Crashes in lex_scan at Zend/zend_language_scanner.c / BUG #52752

2012-12-19 Thread Jani Ollikainen
On 19.12.2012 22:27, Stas Malyshev wrote: https://bugs.php.net/bug.php?id=52752 Just tried to reproduce it on Centos 6.2 install (without APC), works just fine for me. I suspect it's some APC issue, does it reproduce for you without APC loaded? Yes, as I mentioned in previous message and in