-
-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Check filterable values to make sure they have necessary structure/attributes before using them #277
Comments
@charmoney are you pretty confident this issue is new in 1.8.6? Do you think there is work that needs to be done to see if this is an older issue, or is it just a matter of reverting some changes? |
Great question. The 1.8.6 is an assumption based on the `update_wp_meta()`
method's line `$meta_id = $modify( $parent_object_id, $key, $value['value']
);` throwing the error. The 1.8.6 changelog line "Maintenance: Replace the
various calls to create/update metadata with just one for easier
management".
Between the changelog and code location, 1.8.6 introducing the issue felt
like a reasonable guess.
I recommended reverting to 1.8.5 then re-testing and requested additional
time to troubleshoot and provide actual reproduction steps.
…On Thu, Jul 18, 2019 at 8:38 AM Jonathan Stegall ***@***.***> wrote:
@charmoney <https://github.com/charmoney> are you pretty confident this
issue is new in 1.8.6? Do you think there is work that needs to be done to
see if this is an older issue, or is it just a matter of reverting some
changes?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#277?email_source=notifications&email_token=AC324LNH3ENNH2JAB2DGRYDQABW6JA5CNFSM4IE2TZJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2IQC2Q#issuecomment-512819562>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AC324LLUZDBEK5ZL55IYZMLQABW6JANCNFSM4IE2TZJA>
.
|
Following up on this issue. We reverted to 1.8.5 and still see the fatal error, though on a different line now. My initial guess that this was due to the 1.8.6 metadata refactor was incorrect.
|
Thanks for checking that. So if I'm understanding correctly, it's like this:
I'm assuming the errors occur when data is changed in Salesforce, right? I'm mostly seeing the error logs mention wordpress.php, so I'm assuming it is not happening on push? However I did notice one error from salesforce_push, line 1330, in the I'm also noticing that these are the methods where errors happen within that class:
Presumably this whole part is causing that issue in salesforce_push. But also it should definitely check for the existence of a 0 offset first. |
@jonathanstegall -- I got approval for time to track down the root cause. Turns out this was due to customization code on our side. During SF Pull events, we filter the The code set Fixed on our side by always setting setting the method_read and methor_modify values if we touch the value at all. I think that means either this Issue can close or it may be worth sanity checking filterable values, because integrating devs could do something unpleasant like pass a params value without the assumed method_update & method_read. |
I think it's a good idea to sanity check the filterable values. I need to give some thought/research into how to do that well. |
Describe the bug
Noted this week on a site running 1.8.6 after user reported inconsistent sync behavior sporadically failing to sync with no SF-side error message provided.
To Reproduce
Steps to reproduce the behavior are uncertain unfortunately. Bidirectional field map for User records. SF to WP field map for a custom post type with a large number of meta fields.
Expected behavior
Plugin should not throw PHP Fatal errors (and ideally not undefined indexes).
Screenshots
Three distinct PHP error log sections from yesterday that encounter the fatal error, as well as a variety of undefined index and non-object notices.
Environment (please complete the following information):
Additional context
The text was updated successfully, but these errors were encountered: