Forum Replies Created

Viewing 15 replies - 1 through 15 (of 23 total)
  • Thread Starter shadrix

    (@shadrix)

    Hello again,

    I wanted to post a follow-up to my previous report about the opcache.so segmentation fault.

    After extensive testing, I can confirm that the issue is not a bug within the “Index WP MySQL For Speed” plugin itself. The root cause appears to be a stability issue within the OPcache JIT compiler in PHP 8.3. 🔍 My Findings:

    • The segfaults occurred consistently when OPcache JIT was enabled (e.g., opcache.jit=1205).
    • The crashes were triggered by high-frequency events, including:
    • bot traffic hitting 404 pages
    • plugin activation involving complex code structures (such as yours)
    • By disabling the JIT compiler (opcache.jit=off), while keeping OPcache enabled, my server has become completely stable — no further crashes have occurred.

    💡 Conclusion:

    It seems your plugin’s large and complex structure helped surface an underlying instability in PHP’s JIT engine, but it was not the actual cause of the segfaults.

    I will now continue using your plugin with the JIT compiler disabled.
    Apologies for the initial misattribution, and I hope this information is helpful to you and other users running PHP 8.3.

    Thank you!

    Same for me! In checkout it renders like this:

    <p><a href="https://myrdbx.io/kasse/" class="checkout-button button alt wc-forward"><br>
    Weiter zur Kasse</a></p>

    Ok! Thanks! it worked testing with the card number “4000 0025 0000 1001”.

    Thanks for the fast response @dougaitken!
    I am just confused because in my new checkout experience, I don’t see the option:

    I thought it should look like this: https://woocommerce.com/document/stripe/customer-experience/cartes-bancaires/

    (I am using Astra as a theme). And I don’t find any options to activate anything. And according to Stripe Cartes Bancaires is activated

    Thank you letting me know <3

    This is still ongoing right? I don’t see the option with the new checkout layer

    You could just show a label when “coming soon” mode is enabled.

    @georgr

    THIS.

    This is not distracting and has the same function. IF there is label showing, you know it’s the coming soon mode. If not, you know it’s the LIVE server.

    Thread Starter shadrix

    (@shadrix)

    I found out the issue. Somehow the priority of email is changed due to the new checkout layout. This is how I solved it!

    add_filter( 'woocommerce_checkout_fields' , 'test' );

    function test( $fields ) {

    $fields['billing']['billing_email']['priority'] = 998; //Before enabling the new checkout the value was 110. Enabling the new checkout sets it to 1. I am overwriting this value to 998. 999 ist for me the second verification mail.

    return $fields;
    }
    Thread Starter shadrix

    (@shadrix)

    Danke für die Antwort.

    ich habe mir dein Bild angesehen und mir ist der Unterschied zu meinem CheckoutWC aufgefallen, ich habe die Einstellung geändert, dass die Straße und Hausnummer in einem getrennten Input angezeigt werden.
    Es klappt daher erst nur, wenn ich die Einstellung deaktiviere und die Straße mit der Hausnummer in einem Input angezeigt werden (so wie man das in deinem Bild sehen kann).

    Ich versuch mal CheckoutWC anzuschreiben, aber ich denke einfach mal, dass Germanized nicht kompatibel damit ist. Doof 🥲😂

    Thread Starter shadrix

    (@shadrix)

    Thanks. I will ask my customer. In the mean time I will set this to resolve. If something pops up again, I will change the status.

    Thanks for your help

    Thread Starter shadrix

    (@shadrix)

    Danke für die schnelle Antwort und danke, dass du die CheckoutWC Lite Version getestet hast. Könnte du mir noch den Gefallen tun und schauen, wie das aussieht, wenn du auf “Choose a pickup location” klickst? Und dann wirklich etwas auswählst.

    Weil als ich diesen ersten Post geschrieben habe, ist nichts passiert als ich beim Popup eine Abholstation ausgewählt habe. Jetzt auf den aktuellen Stand passiert da was juhu. Aber es sieht gerade so bei mir aus:
    https://snipboard.io/qW9Vhn.jpg

    Das da das CSS verschoben ist, ist mir egal. Das kann ich fixen. Was nur fehlt, dass die Adresse nicht hinzugefügt wird. Hast du da ne Ahnung woran es liegt? Ich sehe gerade, dass die Fehlermeldung von meinem letzten Post kommt, wenn ich eine neue Aholstation auswähle. Dann wie du es vermutlich meinst, kommt CheckoutWC dann damit nicht klar und kann die Adresse nicht hinzufügen.

    Könntest du bitte bei der Lite Version schauen ob das klappt? sonst probiere ich das auch mal auf nen freshen server

    p.s. danke, ich hab euren checkout in der pro version jetzt im hinterkopf

    • This reply was modified 1 year, 10 months ago by shadrix.
    Thread Starter shadrix

    (@shadrix)

    Hey, ich kam jetzt erst dazu daran zu arbeiten.

    Leider klappt es nicht. Ich habe die aktuelle Version von Germanized installiert (Version 3.17.1).

    Ich habe wie due es gesagt hast, die Anzeige der Bestellanmerkung aktiviert mit den Einnstellungen von CheckoutWC: ✅Enable Order Notes Field (Enable or disable WooCommerce Order Notes field. (Default: Disabled))

    Ich kriege aktuell diese Fehlermeldung:

    CheckoutWC: Unable to replace element ⚠️
    default-checkout-order-pay-thank-you.js?ver=b3ccb5bf8bbe5598e09da5e9ab5b4dd2:1 {key: '.gzd-shipments-pickup-locations', value: '{"574":{"code":"574","type":"postoffice","label":"…ostfiliale 577, Prager Platz 1-3, 10779 Berlin"}}'}key: ".gzd-shipments-pickup-locations"value: "{\"574\":{\"code\":\"574\",\"type\":\"postoffice\[[Prototype]]: Object
    default-checkout-order-pay-thank-you.js?ver=b3ccb5bf8bbe5598e09da5e9ab5b4dd2:1 CheckoutWC: Error: Syntax error, unrecognized expression: {"574":{"code":"574","type":"postoffice","label":"Postfiliale 574","latitude":52.506983,"longitude":13.332991,"supports_customer_number":true,"customer_number_is_mandatory":false,"customer_number_field_label":"DHL Kundennummer (Postnummer)","address":{"0":"address_1","1":"city","2":"postcode","3":"country","company":"P & B Press & Books","country":"DE","postcode":"10623","address_1":"Hardenbergplatz 11","city":"Berlin"},"address_replacement_map":{"address_1":"label","country":"country","postcode":"postcode","city":"city"},"address_replacements":{"address_1":"Postfiliale 574","country":"DE","postcode":"10623","city":"Berlin"},"formatted_address":"P &amp; B Press &amp; Books, Hardenbergplatz 11, 10623 Berlin"},"129":{"code":"129","type":"locker","label":"Packstation 129","latitude":52.507488,"longitude":13.33319,"supports_customer_number":true,"customer_number_is_mandatory":true,"customer_number_field_label":"DHL Kundennummer (Postnummer)","address":{"0":"address_1","1":"city","2":"postcode","3":"country","company":"Packstation 129","country":"DE","postcode":"10623","address_1":"Hardenbergplatz 9-15","city":"Berlin"},"address_replacement_map":{"address_1":"label","country":"country","postcode":"postcode","city":"city"},"address_replacements":{"address_1":"Packstation 129","country":"DE","postcode":"10623","city":"Berlin"},"formatted_address":"Packstation 129, Hardenbergplatz 9-15, 10623 Berlin"},"176":{"code":"176","type":"locker","label":"Packstation 176","latitude":52.508135,"longitude":13.332982,"supports_customer_number":true,"customer_number_is_mandatory":true,"customer_number_field_label":"DHL Kundennummer (Postnummer)","address":{"0":"address_1","1":"city","2":"postcode","3":"country","company":"Packstation 176","country":"DE","postcode":"10623","address_1":"Hardenbergplatz 9-15","city":"Berlin"},"address_replacement_map":{"address_1":"label","country":"country","postcode":"postcode","city":"city"},"address_replacements":{"address_1":"Packstation 176","country":"DE","postcode":"10623","city":"Berlin"},"formatted_address":"Packstation 176, Hardenbergplatz 9-15, 10623 Berlin"},"522":{"code":"522","type":"postbank","label":"Postfiliale 522","latitude":52.505008,"longitude":13.331767,"supports_customer_number":true,"customer_number_is_mandatory":false,"customer_number_field_label":"DHL Kundennummer (Postnummer)","address":{"0":"address_1","1":"city","2":"postcode","3":"country","company":"Postbank Filiale","country":"DE","postcode":"10623","address_1":"Joachimsthaler Str. 41","city":"Berlin"},"address_replacement_map":{"address_1":"label","country":"country","postcode":"postcode","city":"city"},"address_replacements":{"address_1":"Postfiliale 522","country":"DE","postcode":"10623","city":"Berlin"},"formatted_address":"Postbank Filiale, Joachimsthaler Str. 41, 10623 Berlin"},"523":{"code":"523","type":"postoffice","label":"Postfiliale 523","latitude":52.504026,"longitude":13.325386,"supports_customer_number":true,"customer_number_is_mandatory":false,"customer_number_field_label":"DHL Kundennummer (Postnummer)","address":{"0":"address_1","1":"city","2":"postcode","3":"country","company":"The Kiosk Berlin","country":"DE","postcode":"10623","address_1":"Uhlandstr. 20-25","city":"Berlin"},"address_replacement_map":{"address_1":"label","country":"country","postcode":"postcode","city":"city"},"address_replacements":{"address_1":"Postfiliale 523","country":"DE","postcode":"10623","city":"Berlin"},"formatted_address":"The Kiosk Berlin, Uhlandstr. 20-25, 10623 Berlin"},"448":{"code":"448","type":"servicepoint","label":"Postfiliale 448","latitude":52.501956,"longitude":13.330834,"supports_customer_number":true,"customer_number_is_mandatory":false,"customer_number_field_label":"DHL Kundennummer (Postnummer)","address":{"0":"address_1","1":"city","2":"postcode","3":"country","company":"Sp\u00e4tkauf G\u00fcm\u00fcs","country":"DE","postcode":"10719","address_1":"Joachimsthaler Str. 15","city":"Berlin"},"address_replacement_map":{"address_1":"label","country":"country","postcode":"postcode","city":"city"},"address_replacements":{"address_1":"Postfiliale 448","country":"DE","postcode":"10719","city":"Berlin"},"formatted_address":"Sp\u00e4tkauf G\u00fcm\u00fcs, Joachimsthaler Str. 15, 10719 Berlin"},"447":{"code":"447","type":"servicepoint","label":"Postfiliale 447","latitude":52.502919,"longitude":13.337231,"supports_customer_number":true,"customer_number_is_mandatory":false,"customer_number_field_label":"DHL Kundennummer (Postnummer)","address":{"0":"address_1","1":"city","2":"postcode","3":"country","company":"Lottoladen Talebi","country":"DE","postcode":"10789","address_1":"Marburger Str. 16","city":"Berlin"},"address_replacement_map":{"address_1":"label","country":"country","postcode":"postcode","city":"city"},"address_replacements":{"address_1":"Postfiliale 447","country":"DE","postcode":"10789","city":"Berlin"},"formatted_address":"Lottoladen Talebi, Marburg
    default-checkout-order-pay-thank-you.js?ver=b3ccb5bf8bbe5598e09da5e9ab5b4dd2:1 CheckoutWC: Unable to replace element ⚠️
    default-checkout-order-pay-thank-you.js?ver=b3ccb5bf8bbe5598e09da5e9ab5b4dd2:1 {key: '.gzd-shipments-pickup-location-supported', value: true}
    default-checkout-order-pay-thank-you.js?ver=b3ccb5bf8bbe5598e09da5e9ab5b4dd2:1

    Hast du sonst eine Idee was ich machen kann?
    Ich kann halt nicht weg von CheckoutWC, weil es das einzige Plugin ist, was den Checkout von Shopify nahe kommt.

    Thread Starter shadrix

    (@shadrix)

    Thank you for the quick reply!

    Are you able to share more details on the customers who’ve experienced this issue? 

    I am not sure what you want to hear. Some details are just to private here. But some details I can share.
    Female, from Germany. Her first order was in the year: November 20, 2022, via Stripe, successfully.

    Then there other orders that are successful. The last one was on April 24, 2024.
    On Mai 13, 2024 she starts to fail. In the order notes of WooCommerce it only says several times: Unfortunately we could not process your request. Please try again later. May 13, 2024 at 12:26 pm.

    If I look into the logs of Stripe it just says:

    POST /v1/payment_intents
    Status
    400 ERR
    ID
    req_xxxxxxxxxxxxxxx
    Time
    5/13/24, 12:26:23 PM
    IP address
    xxx.xxx.xxx.xxx
    API version
    2019-09-09
    Source
    WooCommerce Stripe Gateway/8.1.1
    Idempotency
    Key — xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

    invalid_request_error
    The provided PaymentMethod was previously used with a PaymentIntent without Customer attachment, shared with a connected account without Customer attachment, or was detached from a Customer. It may not be used again. To use a PaymentMethod multiple times, you must attach it to a Customer first.

    Was this useful?

    Yes

    No
    {
    "shipping": {
    "address": {
    "line2": "",
    "line1": "xxxxxx",
    "state": "xx-xx",
    "city": "xxxxxx",
    "postal_code": "xxxxx",
    "country": "xx"
    },
    "name": "xxxxx xxxxxxxxx"
    },
    "capture_method": "automatic",
    "description": "Our Shop - Order xxxxxx",
    "metadata": {
    "order_id": "xxxxxx",
    "site_url": "https://example.com",
    "customer_email": "[email protected]",
    "customer_name": "xxxxx xxxxxxxxx"
    },
    "currency": "eur",
    "customer": "cus_xxxxxxxxxxxxxxx",
    "payment_method": "pm_xxxxxxxxxxxxxxx",
    "amount": "xxxx",
    "payment_method_types": {
    "0": "card"
    }
    }
    Response body
    {
    "error": {
    "message": "The provided PaymentMethod was previously used with a PaymentIntent without Customer attachment, shared with a connected account without Customer attachment, or was detached from a Customer. It may not be used again. To use a PaymentMethod multiple times, you must attach it to a Customer first.",
    "request_log_url": "https://dashboard.stripe.com/logs/req_xxxxxxxxxxxxxxx",
    "type": "invalid_request_error"
    }
    }
    Request POST body
    {
    "shipping": {
    "address": {
    "line2": "",
    "line1": "xxxxxx",
    "state": "xx-xx",
    "city": "xxxxxx",
    "postal_code": "xxxxx",
    "country": "xx"
    },
    "name": "xxxxx xxxxxxxxx"
    },
    "capture_method": "automatic",
    "description": "Our Shop - Order - Bestellung xxxxxx",
    "metadata": {
    "order_id": "xxxxxx",
    "site_url": "https://example.com",
    "customer_email": "[email protected]",
    "customer_name": "xxxxx xxxxxxxxx"
    },
    "currency": "eur",
    "customer": "cus_xxxxxxxxxxxxxxx",
    "payment_method": "pm_xxxxxxxxxxxxxxx",
    "amount": "xxxx",
    "payment_method_types": {
    "0": "card"
    }
    }

    From there on, she always had troubles to order anything with stripe.

    Also, are there any similarities between the customers/orders that had this issue?

    No, it is only with this customer. And I am not even sure if it is her “fault” or something with Stripe, as Stripe’s description of the error is not really telling me much (see the first post here).

    Additionally, I was able to notice you’re using an outdated version of WooCommerce. We strongly recommend updating to the latest version as some of the issues are solved through updates. 

    Thank you. I updated everything now to the newest version. However, I just don’t know if it will fix it, because the customer was not trying to order again. So I don’t know.

    Thank you for your help. What else could I provide you?

    My update looks like this:

    if ( strpos( $value, '%' ) !== false ) {
      // I don't know why but WC()->cart->get_total('raw') is not working!
      $amount = ((float) $value / 100) * (WC()->cart->get_cart_contents_total() + WC()->cart->get_cart_contents_tax());
    } else {
      $amount = (float) $value;
    }

    For the developer would be awesome if you have a global setting:

    $use_gross_total = true;
    if ($use_gross_total) { $amount = ((float)$tip['value'] / 100) * WC()->cart->get_total(); } else { $amount = ((float)$tip['value'] / 100) * WC()->cart->get_subtotal(); }


    However I don’t know why the total function is not working even with ‘raw

    • This reply was modified 2 years, 1 month ago by shadrix.
    • This reply was modified 2 years, 1 month ago by shadrix.
    Thread Starter shadrix

    (@shadrix)

    @vendidero danke für die Antwort. Ich habe die Meta-Felder auch im Code entdeckt und hab quasi mein Checkout Manuell darauf hinangepasst. Also passt es für mich gerade so. Ich weiß auch nicht woran es liegt, aber leider wurden die Felder überhaupt nicht angezeigt. Auf dem Staging Server habe ich CheckoutWC deaktiviert, weder die Kasse von Elementor noch der Standard Shortcut hat dazu geführt, dass ich das sehen konnte. Irgendwas mache ich falsch, aber so gerade passt es auch 🙂

    Thread Starter shadrix

    (@shadrix)

    @beautyofcode thanks for your response! I was hoping that this might be it, but the value is set to 1 year.

    Do you have something else in mind what this could be?

Viewing 15 replies - 1 through 15 (of 23 total)