[wp-trac] [WordPress Trac] #57121: 'get_current_user_id' in 'gettext' filter causing memory error
WordPress Trac
noreply at wordpress.org
Thu Nov 17 22:05:17 UTC 2022
#57121: 'get_current_user_id' in 'gettext' filter causing memory error
-------------------------------+---------------------
Reporter: adityaarora010196 | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: 6.1.2
Component: Users | Version: 6.1
Severity: normal | Resolution:
Keywords: | Focuses:
-------------------------------+---------------------
Changes (by SergeyBiryukov):
* version: 6.1.1 => 6.1
* component: General => Users
* milestone: Awaiting Review => 6.1.2
Comment:
Hi there, welcome to WordPress Trac! Thanks for the report.
I was able to reproduce the issue with this code:
{{{
add_filter( 'gettext', function( $translation ) {
static $call_count = 0;
if ( $call_count++ > 500 ) {
echo implode( '<br />', array_reverse(
wp_debug_backtrace_summary( null, 0, false ) ) );
die();
}
$user_id = get_current_user_id();
return $translation;
});
}}}
which displays the following call stack:
{{{
require_once('wp-admin/admin.php')
require_once('wp-load.php')
require_once('S:/home/wordpress.test/develop/wp-config.php')
require_once('wp-settings.php')
do_action('setup_theme')
WP_Hook->do_action
WP_Hook->apply_filters
create_initial_theme_features
__
translate
apply_filters('gettext')
WP_Hook->apply_filters
{closure}
get_current_user_id
wp_get_current_user
_wp_get_current_user
apply_filters('determine_current_user')
WP_Hook->apply_filters
wp_validate_auth_cookie
wp_hash
wp_salt
__
translate
apply_filters('gettext')
WP_Hook->apply_filters
{closure}
get_current_user_id
wp_get_current_user
_wp_get_current_user
apply_filters('determine_current_user')
WP_Hook->apply_filters
wp_validate_auth_cookie
wp_hash
wp_salt
__
translate
apply_filters('gettext')
...
}}}
This appears to be introduced in [54249] / #55937, where a `__()` function
call was added to `wp_salt()`.
`get_current_user_id()` calls the `determine_current_user` filter, which
calls `wp_validate_auth_cookie()`, which eventually calls `wp_salt()`,
leading to an infinite loop.
Moving to 6.1.2 to investigate potential options to fix this.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/57121#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list