Bug #64046 [Com]: Segmentation fault in pcre library

2013-06-30 Thread php at richardneill dot org
Edit report at https://bugs.php.net/bug.php?id=64046edit=1

 ID: 64046
 Comment by: php at richardneill dot org
 Reported by:public at miholeus dot com
 Summary:Segmentation fault in pcre library
 Status: Not a bug
 Type:   Bug
 Package:PCRE related
 Operating System:   Ubuntu 12.04.1 LTS
 PHP Version:Irrelevant
 Block user comment: N
 Private report: N

 New Comment:

I've just been bitten by this bug too.

It manifests as Connection Reset error on the website, and this in the apache 
logs: [Sun Jun 30 20:58:07 2013] [notice] child pid 32544 exit signal 
Segmentation fault (11)

I do understand that the segfault isn't a PHP bug, but it would be really 
helpful if the error message could be more specific: something like segfault 
in PCRE at line X in file Y.


Aside: another test-case.
Here, it can be triggered by a value over about 5400:
$input='span'.str_repeat('X', 5500).'/span';
$output = preg_replace(/span(((?!(\/span)).)*)\/span/,  BEGIN \\1 END 
 ,$input);

If I reduce pcre.recursion_limit converts the segfault into a PCRE failure... 
but there is nothing that will make the RE actually work as intended. (in the 
contrived example, we can of course just use str_replace).


Previous Comments:

[2013-01-24 15:28:45] public at miholeus dot com

I understand. Thanks for reply.


[2013-01-24 08:35:09] paj...@php.net

Not a PHP bug but pcre recursion classic stack crash, see the numerous other 
reports for more info.


[2013-01-23 18:12:19] krak...@php.net

This does cause a stack overflow, for some reason the default limits for 
recursion are very high, maybe someone has an explanation of that.

You have:
/'([^'])*'/

Shouldn't that be:
/'([^']*)'/

?


[2013-01-22 13:47:19] public at miholeus dot com

Description:

The following code causes segmentation fault. You can see the code by link I've 
provided.

Test script:
---
Code http://pastebin.com/UzBjDaZU

Expected result:

no segfault

Actual result:
--
With gdb:

(gdb) run /var/www/work/crm/trunk/pcre.php
Starting program: /usr/bin/php /var/www/work/crm/trunk/pcre.php
[Thread debugging using libthread_db enabled]
Using host libthread_db library /lib/x86_64-linux-gnu/libthread_db.so.1.
[New Thread 0x7fffe42e4700 (LWP 4329)]
[Thread 0x7fffe42e4700 (LWP 4329) exited]

Program received signal SIGSEGV, Segmentation fault.
0x76d99a62 in ?? () from /lib/x86_64-linux-gnu/libpcre.so.3






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=64046edit=1


Bug #64046 [Com]: Segmentation fault in pcre library

2013-01-24 Thread public at miholeus dot com
Edit report at https://bugs.php.net/bug.php?id=64046edit=1

 ID: 64046
 Comment by: public at miholeus dot com
 Reported by:public at miholeus dot com
 Summary:Segmentation fault in pcre library
 Status: Not a bug
 Type:   Bug
 Package:PCRE related
 Operating System:   Ubuntu 12.04.1 LTS
 PHP Version:Irrelevant
 Block user comment: N
 Private report: N

 New Comment:

I understand. Thanks for reply.


Previous Comments:

[2013-01-24 08:35:09] paj...@php.net

Not a PHP bug but pcre recursion classic stack crash, see the numerous other 
reports for more info.


[2013-01-23 18:12:19] krak...@php.net

This does cause a stack overflow, for some reason the default limits for 
recursion are very high, maybe someone has an explanation of that.

You have:
/'([^'])*'/

Shouldn't that be:
/'([^']*)'/

?


[2013-01-22 13:47:19] public at miholeus dot com

Description:

The following code causes segmentation fault. You can see the code by link I've 
provided.

Test script:
---
Code http://pastebin.com/UzBjDaZU

Expected result:

no segfault

Actual result:
--
With gdb:

(gdb) run /var/www/work/crm/trunk/pcre.php
Starting program: /usr/bin/php /var/www/work/crm/trunk/pcre.php
[Thread debugging using libthread_db enabled]
Using host libthread_db library /lib/x86_64-linux-gnu/libthread_db.so.1.
[New Thread 0x7fffe42e4700 (LWP 4329)]
[Thread 0x7fffe42e4700 (LWP 4329) exited]

Program received signal SIGSEGV, Segmentation fault.
0x76d99a62 in ?? () from /lib/x86_64-linux-gnu/libpcre.so.3






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=64046edit=1


Bug #64046 [Com]: Segmentation fault in pcre library

2013-01-23 Thread krak...@php.net
Edit report at https://bugs.php.net/bug.php?id=64046edit=1

 ID: 64046
 Comment by: krak...@php.net
 Reported by:public at miholeus dot com
 Summary:Segmentation fault in pcre library
 Status: Open
 Type:   Bug
 Package:PCRE related
 Operating System:   Ubuntu 12.04.1 LTS
 PHP Version:Irrelevant
 Block user comment: N
 Private report: N

 New Comment:

This does cause a stack overflow, for some reason the default limits for 
recursion are very high, maybe someone has an explanation of that.

You have:
/'([^'])*'/

Shouldn't that be:
/'([^']*)'/

?


Previous Comments:

[2013-01-22 13:47:19] public at miholeus dot com

Description:

The following code causes segmentation fault. You can see the code by link I've 
provided.

Test script:
---
Code http://pastebin.com/UzBjDaZU

Expected result:

no segfault

Actual result:
--
With gdb:

(gdb) run /var/www/work/crm/trunk/pcre.php
Starting program: /usr/bin/php /var/www/work/crm/trunk/pcre.php
[Thread debugging using libthread_db enabled]
Using host libthread_db library /lib/x86_64-linux-gnu/libthread_db.so.1.
[New Thread 0x7fffe42e4700 (LWP 4329)]
[Thread 0x7fffe42e4700 (LWP 4329) exited]

Program received signal SIGSEGV, Segmentation fault.
0x76d99a62 in ?? () from /lib/x86_64-linux-gnu/libpcre.so.3






-- 
Edit this bug report at https://bugs.php.net/bug.php?id=64046edit=1