Sometimes, with an incorrect username and password (or using email address rather than username, which made wp_authenticate_username_password error) when $user = wp_authenticate( $username, $password ); errored, it would call $wp_rewrite->get_page_permastruct(); before $wp_rewrite was initialized, returning a 500 server error. In my case, this would happen when I enabled the SkyVerge WooCommerce Print Invoices/Packing Lists plugin.
Sometimes, with an incorrect username and password (or using email address rather than username, which made
wp_authenticate_username_password
error) when$user = wp_authenticate( $username, $password );
errored, it would call$wp_rewrite->get_page_permastruct();
before$wp_rewrite
was initialized, returning a 500 server error. In my case, this would happen when I enabled the SkyVerge WooCommerce Print Invoices/Packing Lists plugin.