• SmarterWebsites

    (@smarterwebsites)


    Hi Eli,

    One of our sites, https://simpsoncoprojects.com.au/, returned a 507 error, even though there appears to be sufficient storage available.

    I escalated this to server support for investigation. Their findings indicate that a plugin was causing the issue. The plugin has now been disabled, and the site is back online.

    This appears to be an isolated case, but it may be worth reviewing on your end as well.

    Below is from the server support:

    We’ve completed a deeper investigation into the issue affecting your website and have identified the root cause.

    The issue is being caused by heavy database activity originating from a WordPress plugin (GOTMLS – Get Off Malware Scanner).

    We observed multiple database queries running for extended periods (several hours), with many processes stuck in a “Waiting for table level lock” state, and repeated queries targeting the wp_posts table related to gotmls_results.

    | Id | User | Host | db | Command | Time | State | Info | Progress |
    +-------+-------------------------+-----------+-----------------------+---------+-------+---------------------------------+------------------------------------------------------------------------------------------------------+----------+
    | 859 | simpsonc_sw | localhost | simpsonc_sw | Query | 11743 | Sending data | SELECT wp_posts.ID
    FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_ | 0.000 |
    | 910 | simpsonc_sw | localhost | simpsonc_sw | Query | 11722 | Sending data | SELECT wp_posts.ID
    FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_ | 0.000 |
    | 20288 | simpsonc_sw | localhost | simpsonc_sw | Query | 7152 | Sending data | SELECT wp_posts.ID
    FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_ | 0.000 |
    | 20535 | simpsonc_sw | localhost | simpsonc_sw | Query | 7125 | Sending data | SELECT wp_posts.ID
    FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_ | 0.000 |
    | 20941 | simpsonc_sw | localhost | simpsonc_sw | Query | 7069 | Waiting for table level lock | UPDATE wp_posts SET post_password = 'c700ab0bfe0fe3c7ef4e', post_modified_gmt = '2026-05-05 00:07:59 | 0.000 |
    | 21048 | simpsonc_sw | localhost | simpsonc_sw | Query | 7056 | Waiting for table level lock | SELECT * FROM
    wp_posts WHERE post_type = 'gotmls_results' AND post_name = '7782a10a5c8ffe5b8143c56 | 0.000 |
    | 21182 | simpsonc_sw | localhost | simpsonc_sw | Query | 7036 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = 'af3372bad5a7dfe1003a431 | 0.000 |
    | 21633 | simpsonc_sw | localhost | simpsonc_sw | Query | 6947 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = '621660500b0d084c786f317 | 0.000 |
    | 21684 | simpsonc_sw | localhost | simpsonc_sw | Query | 6930 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = '737de1fcab19687a5b1e359 | 0.000 |
    | 22035 | simpsonc_sw | localhost | simpsonc_sw | Query | 6830 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = 'bab71dc0996420c410735d2 | 0.000 |
    | 22478 | simpsonc_sw | localhost | simpsonc_sw | Query | 6709 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = 'f3a1c640c79bd39065e6efa | 0.000 |
    | 22611 | simpsonc_sw | localhost | simpsonc_sw | Query | 6684 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = 'f0a77d6e22d4df246b7d023 | 0.000 |
    | 22709 | simpsonc_sw | localhost | simpsonc_sw | Query | 6677 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = 'afcd4337824ffa888abcc1b | 0.000 |
    | 22808 | simpsonc_sw | localhost | simpsonc_sw | Query | 6654 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = '61199954610fbf0de9b0156 | 0.000 |
    | 22844 | simpsonc_sw | localhost | simpsonc_sw | Query | 6647 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = '64514e331dfd4185a9a79f5 | 0.000 |
    | 23137 | simpsonc_sw | localhost | simpsonc_sw | Query | 6574 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = '955afb340d72a3c68aae534 | 0.000 |
    | 23209 | simpsonc_sw | localhost | simpsonc_sw | Query | 6552 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'gotmls_results' AND post_name = '314267f3d14a1e131922593 | 0.000 |
    | 23805 | simpsonc_sw | localhost | simpsonc_sw | Query | 6365 | Waiting for table level lock | SELECT * FROM wp_posts WHERE post_type = 'go

    Due to these database locks, PHP processes become stuck waiting on the database, leading to request timeouts (up to 900 seconds), exhaustion of server resources (Entry Processes), and ultimately resulting in 507 errors and site instability.

    We recommend disabling the GOTMLS plugin immediately, as this should stop the database locking and restore normal operation, and then reviewing alternative security or malware scanning solutions.

    I disabled the plugin and now the site is now back.

    This is an isolated case but maybe you’d like to check this.

    Thanks.

    The page I need help with: [log in to see the link]

Viewing 1 replies (of 1 total)
  • Plugin Author Eli

    (@scheeeli)

    Thank you for reporting this error. However, I was unable to recreate this issue and it does not actually look like it is being caused by my plugin at all. From the technical details provided I can see that there are certainly quite a few queries generated by my plugin that have been stuck in the queue for a few hours, but they all have the status of “waiting for table lock”, and the older queries in the queue which are the cause of the table lock are not from my plugin. Those queries that have started the table lock issue start with:

    SELECT  wp_posts.ID                     FROM wp_posts LEFT JOIN wp_term_relationships ON (wp_posts.ID = wp_term_

    … but I cannot see the full query from this excerpt, so I cannot tell you who might have generated those queries. Perhaps the server support team can take a closer look and tell you more about the actual cause of the table lock. They should also be able to offer some sort of workaround by setting query time limits or some other so that one rogue query does not lock a table for hours thus preventing other plugins like mine from querying the same table.

    Please let me know if you have any other questions or inf you get more info from your server support that you want to share on this issue.

Viewing 1 replies (of 1 total)

You must be logged in to reply to this topic.