Make WordPress Core

Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#29450 closed defect (bug) (duplicate)

Shortcode breaks the page it's placed on

Reported by: uriy84's profile uriy84 Owned by:
Milestone: Priority: normal
Severity: normal Version: 4.0
Component: Formatting Keywords:
Focuses: Cc:

Description (last modified by SergeyBiryukov)

Hi.

I've found out that the following shortcode breaks a page, it doesn't load or shows truncated:

[myshortcode arg1="Aenean consectetur ipsum ante, vel egestas enim tincidunt quis. Pellentesque vitae congue neque, vel mattis ante. In vitae tempus nunc. Etiam adipiscing enim sed condimentum ultrices. Aenean consectetur ipsum ante, vel egestas enim tincidunt qu. In vitae tempus nunc. In vitaentbnbsdgsdsdgsdhsdhdsdhdsh Aenean consectetur ipsum ante, vel egestas enim tincidunt quis. Pellentesque vitae congue neque, vel mattis ante. In vitae tempus nunc. Etiam adipiscing enim sed condimentum ultrices. Aenean consectetur ipsum ante, vel egestas enim tincidunt qu. In vitae tempus nunc. In vitaentbnbsdgsdsdgsdhsdhdsdhdsh" /]

I'm using XAMPP for Windows 1.8.1 ( php v5.4.7 ) and Twenty Fourteen theme.
It doesn't seem to work in older versions of XAMPP either.

If I truncate the shortcode, it starts working:

[myshortcode arg1="Aenean consectetur ipsum ante, vel egestas enim tincidunt quis. Pellentesque vitae congue neque, vel mattis ante. In vitae tempus nunc. Etiam adipiscing enim sed condimentum ultrices. Aenean consectetur ipsum ante, vel egestas enim tincidunt qu. In vitae tempus nunc. In vitaentbnbsdg" /]

I think the issue was introduced in [28773], I tried to rollback to the previous commit ( [28772] ) and it worked.

Attachments (1)

preg-debug.php (3.7 KB) - added by miqrogroove 10 years ago.
We want to know if this script causes a crash for anyone.

Download all attachments as: .zip

Change History (25)

#1 @SergeyBiryukov
10 years ago

  • Description modified (diff)

#2 @helen
10 years ago

  • Keywords reporter-feedback added

Anything in PHP error logs?

#3 @nacin
10 years ago

I had no problems with the shortcode you provided, when alone in a post, either before or after [28773]. Did you have other content in the post?

#4 @uriy84
10 years ago

  • Keywords reporter-feedback removed

There are no errors in php error logs, but I can see lots of failed requests in Chrome Developer Tools / Network tab: "(failed) net::ERR_CONNECTION_RESET"

I don't have any other content in the post.

This only happens when I use XAMPP though. I've tried using Vagrant, it works fine.

#5 follow-up: @nacin
10 years ago

What's your ini_get( 'pcre.backtrack_limit' ) (also ini_get( 'pcre.recursion_limit' )) on both of these setups? I imagine that might be where we see the difference. Works fine for me with a backtrack limit of 100000, though, which is an order of magnitude less than the PHP default for PHP >= 5.3.7.

#6 @uriy84
10 years ago

Same values on both setups:

pcre.backtrack_limit: 1000000
pcre.recursion_limit: 100000

#7 follow-up: @Ipstenu
10 years ago

From https://wordpress.org/support/topic/shortcode-attsparameters-limit-40-rc1

Hi,
update:
Its not parameters limit. Its characters limit. It happens if characters are more than 196. Its strange.


I installed WordPress 4.0 RC1 in my development environment. To test my plugin http://wordpress.org/plugins/easy-facebook-likebox/.

I am generating shortcode in widget area and have 11 shortcode parameters. It was working just fine with previous versions. For some reason WP 4.0 RC1 beta is not supporting more than 9 parameters.

If there are more than 9 parameters then it returns this error "This web page is not available" when view the page.

Is there any limit? If yes then how can I overcome this issue.

Thanks

#8 in reply to: ↑ 7 @sjaved
10 years ago

I'm using WAMP for Windows 2.2 ( php 5.3.13 ) and Twenty Fourteen theme.

It doesn't seem to work in older versions of XAMPP either.
Replying to Ipstenu:

From https://wordpress.org/support/topic/shortcode-attsparameters-limit-40-rc1

Hi,
update:
Its not parameters limit. Its characters limit. It happens if characters are more than 196. Its strange.


I installed WordPress 4.0 RC1 in my development environment. To test my plugin http://wordpress.org/plugins/easy-facebook-likebox/.

I am generating shortcode in widget area and have 11 shortcode parameters. It was working just fine with previous versions. For some reason WP 4.0 RC1 beta is not supporting more than 9 parameters.

If there are more than 9 parameters then it returns this error "This web page is not available" when view the page.

Is there any limit? If yes then how can I overcome this issue.

Thanks

#9 @anikitas
10 years ago

Same problem with wampserver 2.2 and WordPress 4 running on Windows.
Problem with wptexturize in the content area.

Workaround if function is removed via filter for the_content:
remove_filter( 'the_content', 'wptexturize' );

#10 @SergeyBiryukov
10 years ago

  • Component changed from Shortcodes to Formatting

Related: #29557

#11 in reply to: ↑ 5 @miqrogroove
10 years ago

Replying to nacin:

What's your ini_get( 'pcre.backtrack_limit' ) (also ini_get( 'pcre.recursion_limit' )) on both of these setups? I imagine that might be where we see the difference. Works fine for me with a backtrack limit of 100000, though, which is an order of magnitude less than the PHP default for PHP >= 5.3.7.

I'm guessing it's an aberration in PCRE versions. It's mitigated by setting the backtrack limit to a very low number such as 1000 to cause the command to bail, but the default value of 100k or 1 million is leading to a crash instead. Still looking at some of the details in #29557.

#12 follow-up: @miqrogroove
10 years ago

Uriy, have you tried the patch from this other ticket?

https://core.trac.wordpress.org/attachment/ticket/29557/miqro-29557.4.patch

I'm curious if that solves the problem before looking further.

#13 @SergeyBiryukov
10 years ago

  • Milestone changed from Awaiting Review to 4.0.1

#14 in reply to: ↑ 12 ; follow-up: @SlothLoveChunk
10 years ago

I applied the patch, but it only partially solved the problem. Some posts that didn't work now work, but some with longer shortcodes such as the one below still prevent the page from loading:

[gallery columns="3" ids="55959,55960,55961,55962,55963,55964,55965,55966,55967,55968,55969,55970,55971,55972,55973,55974,55975,55976,55977,55978,55979,55980,55981,55982,55983,55984,55985,55986,55987,55988,55989,55990,55991,55992,55993,55994,55995,55996,55997,55998,55999,56000,56001,56002,56003,56004,56005,56006" size="thumbnail"]

I had no issue with this shortcode until updating to 4.0.

Replying to miqrogroove:

Uriy, have you tried the patch from this other ticket?

https://core.trac.wordpress.org/attachment/ticket/29557/miqro-29557.4.patch

I'm curious if that solves the problem before looking further.

#15 in reply to: ↑ 14 ; follow-up: @miqrogroove
10 years ago

Replying to SlothLoveChunk:

I applied the patch, but it only partially solved the problem. Some posts that didn't work now work, but some with longer shortcodes such as the one below still prevent the page from loading

That is helpful feedback. Here is another stab at just simplifying the new code:

https://core.trac.wordpress.org/attachment/ticket/29557/miqro-29557.5.patch

More feedback on these changes will help us figure out where to go next.

#16 in reply to: ↑ 15 ; follow-up: @SlothLoveChunk
10 years ago

The latest .5 patch seems to have done the trick. The aforementioned [gallery] shortcode that wasn't working is now working as expected. The shortcodes that were fixed with .4 are also still working.

Replying to miqrogroove:

Replying to SlothLoveChunk:

I applied the patch, but it only partially solved the problem. Some posts that didn't work now work, but some with longer shortcodes such as the one below still prevent the page from loading

That is helpful feedback. Here is another stab at just simplifying the new code:

https://core.trac.wordpress.org/attachment/ticket/29557/miqro-29557.5.patch

More feedback on these changes will help us figure out where to go next.

This ticket was mentioned in IRC in #wordpress-dev by MarkJaquith. View the logs.


10 years ago

#18 in reply to: ↑ 16 ; follow-up: @miqrogroove
10 years ago

  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #29557.

Replying to SlothLoveChunk:

The latest .5 patch seems to have done the trick. The aforementioned [gallery] shortcode that wasn't working is now working as expected. The shortcodes that were fixed with .4 are also still working.

Great! We are happy to hear results from other testers. In the meantime, this will be marked as duplicating the patched ticket.

#19 in reply to: ↑ 18 ; follow-up: @uriy84
10 years ago

Replying to miqrogroove:

Duplicate of #29557.

Replying to SlothLoveChunk:

The latest .5 patch seems to have done the trick. The aforementioned [gallery] shortcode that wasn't working is now working as expected. The shortcodes that were fixed with .4 are also still working.

Great! We are happy to hear results from other testers. In the meantime, this will be marked as duplicating the patched ticket.

Hi. It still doesn't work for me with the shortcode I posted above. I've tested miqro-29557.4 and miqro-29557.5 patches.

#20 in reply to: ↑ 19 @SlothLoveChunk
10 years ago

Strange, uriy84, if I put the long block of text from your shortcode into a similar one that I have (see below) it works post .5 patch. To be sure I wasn't crazy I overwrote the patched files with the ones released with 4.0 and, as expected, it stopped working. Re-patched one more time and the pages render fine. I am running WAMP 2.2.

Example of my shortcode:

[grid_box desc="Aenean consectetur ipsum ante, vel egestas enim tincidunt quis. Pellentesque vitae congue neque, vel mattis ante. In vitae tempus nunc. Etiam adipiscing enim sed condimentum ultrices. Aenean consectetur ipsum ante, vel egestas enim tincidunt qu. In vitae tempus nunc. In vitaentbnbsdgsdsdgsdhsdhdsdhdsh Aenean consectetur ipsum ante, vel egestas enim tincidunt quis. Pellentesque vitae congue neque, vel mattis ante. In vitae tempus nunc. Etiam adipiscing enim sed condimentum ultrices. Aenean consectetur ipsum ante, vel egestas enim tincidunt qu. In vitae tempus nunc. In vitaentbnbsdgsdsdgsdhsdhdsdhdsh"]

Replying to uriy84:

Replying to miqrogroove:

Duplicate of #29557.

Replying to SlothLoveChunk:

The latest .5 patch seems to have done the trick. The aforementioned [gallery] shortcode that wasn't working is now working as expected. The shortcodes that were fixed with .4 are also still working.

Great! We are happy to hear results from other testers. In the meantime, this will be marked as duplicating the patched ticket.

Hi. It still doesn't work for me with the shortcode I posted above. I've tested miqro-29557.4 and miqro-29557.5 patches.

Last edited 10 years ago by SlothLoveChunk (previous) (diff)

#21 @miqrogroove
10 years ago

uriy84, send me a message on gmail. Maybe we can figure out why your PHP is still crashing.

@miqrogroove
10 years ago

We want to know if this script causes a crash for anyone.

#22 @nacin
10 years ago

  • Milestone 4.0.1 deleted

#24 in reply to: ↑ 23 @uriy84
10 years ago

Replying to miqrogroove:

uriy84, this file might help
https://core.trac.wordpress.org/export/HEAD/trunk/src/wp-includes/formatting.php

Great! It seems to work ok for me.

Note: See TracTickets for help on using tickets.