Skip to content
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

Fatal error with EntityType #44

Closed
herbdool opened this issue May 20, 2019 · 9 comments
Closed

Fatal error with EntityType #44

herbdool opened this issue May 20, 2019 · 9 comments

Comments

@herbdool
Copy link
Contributor

Core had an API change. Need an update here like this:

/**
		   * Implements EntityInterface::entityType().
		   *
		   * @since 1.13.0 This method is now static.
		   */
		  public static function entityType() {
		    return 'entity_test';
		  }
@herbdool
Copy link
Contributor Author

@Graham-72 I haven't tested but I suspect Rules might have this fatal error in core 1.13.0. My PR #45

@laryn
Copy link
Member

laryn commented May 23, 2019

This core change is being reverted:
backdrop/backdrop-issues#3809 (comment)

@jenlampton
Copy link
Member

Closing this issue. The core revert will make this change unnecessary (and problematic).

@vstemen
Copy link

vstemen commented Jun 2, 2019

Do you mind if I ask why this method was arbitrarily re-defined as static in
core and released that way without testing of the modules that rely on it?
I just looked through the git log for backdrop and there is no mention of the
change, or reason for it, prior to it being reverted on May 23, 2019.

This made me waste several days worth of work trying to upgrade a site, using
ubercart that I am developing, to version 1.13.0. After writing up all the
details and attempting to post in the forum about the problem, which is also
broken BTW (my posting never appeared and does not show up in my list of
conversations started by me under my profile), I finally tracked it down myself
and posted an issue report with a patch to fix the rules module. Once I fixed
rules, it turned out that ubercart also had the same problem, along with
several other problems. I then got directed to this issue, only to find out it
was all in vain because it has been reverted in core. Somehow issue #44 didn't
show up in my searches.

We really like backdrop but this has been a frustrating experience.

We love backdrop and were planning to use ubercart on backdrop for our product
sites but, but if it is going to be arbitrarily broken, causing these kinds of
frustrations, after going into production, we are having second thoughts on
using ubercart. The forum being broken, causing a feeling of isolation when
trying to ask about the problem didn't help matters either.

We may just use backdrop in as simple of form as possible, minimizing the use
of add on modules, and seek other solutions for such things as our shopping
cart systems.

@herbdool
Copy link
Contributor Author

herbdool commented Jun 2, 2019

Hi @vstemen. Sorry this caused problems for you. I know how frustrating this can be. This was human error which we hope will not happen again. In this case a change was made in core but the automated tests only test core and not contributed modules. If it had, it would have caught this. Also we have a couple weeks between a beta version and the official version. During that time it seems that one person caught the issue but figured it meant they had to update their module, instead of flagging it as breaking backwards compatibility. I hope that we can encourage more people to test beta releases so we are more likely to catch issues like this before they are made official. As more people use Backdrop we will have more eyes on such things.

@jenlampton
Copy link
Member

jenlampton commented Jun 2, 2019

Hi @vstemen, and thank you for your comment.

I just looked through the git log for backdrop and there is no mention of the
change, or reason for it, prior to it being reverted on May 23, 2019.

The change was introduced as part of backdrop/backdrop-issues#3011, where the entity_access() function was added to core. This function was added to increase security, and to make Backdrop CMS more backwards-compatible with Drupal 7. (Much of the Entity API module for Drupal 7 had already been included in Backdrop core, but this important function was missing.)

I'm not sure why this method was arbitrarily re-defined as static as part of that change, but it was that way in the Pull Request, and we missed it.

As @herbdool mentioned, the change that caused the issue was committed on May 1st, was included with our preview release, and nobody caught the problem in the time window alloted. (I personally updated a few sites, but none of mine had any of the contrib modules that caused the fatal error.)

We noticed the problem on May 21st. That was the first time anyone had created a core issue about it. Before that, many contrib projects had working solutions, but until that day nobody had reported it as a core bug. We had a RTBC Pull Request to fix the problem that same day. A fix was merged into core 2 days later, on May 23rd, and we had a core release out that same day, also on May 23rd.

We really like backdrop but this has been a frustrating experience. We may ... seek other solutions for such things as our shopping cart systems.

I'm sorry that this experience with Backdrop has been frustrating. Unfortunately, this is the nature of working with Open Source software. You are relying on others to create and maintain your software, and to find and fix problems with it when they arise. It's imperfect, and mistakes will be made. The most important thing is how they are handled.

I would like to point out how quickly, once we were aware of the issue, the problem was fixed (within hours) and how quickly a new version of core was released (2 days later). That kind of reaction and response time will be hard to find with any other solution.

This made me waste several days worth of work trying to upgrade a site

I'm sorry this happened to you. Were you able to ask anyone for help in that time?

You said that you tried the Forum, but did you try the core issue queue, any other issue queue, Live Chat, Twitter, an email to info@backdropcms.org, or anything else when you first noticed the problem?

Since we only noticed that the Forum was broken on the 21st (and it was also fixed on the 21st) It sounds like you might have been the first one to notice this. I would like to know what we can do to help you get in touch with us more easily when something like this happens.

The first and most obvious change we will make is not to update the Forum site immediately when a new release of Backdrop comes out. If that is a primary means of communication for the community, it should be handled with more care.

Is there anything else you can recommend?

@vstemen
Copy link

vstemen commented Jun 3, 2019

Thanks @herbdool and @jenlampton for your replies and explanations.
I know you guys are trying hard and I appreciate your efforts.

You said that you tried the Forum, but did you try the core issue queue, any
other issue queue, Live Chat, Twitter, an email to info@backdropcms.org, or
anything else when you first noticed the problem?

I did try the live chat but never saw a reply. I know that's to be expected if
nobody happens to be monitoring it at the time. It's easy to miss. That's why
I usually go to the forum, especially for any problem that is more complex or
requires significant explanation.

I didn't know about the info@backdropcms.org support email. That is now noted
for future reference. Thanks.

I don't get on twitter. Don't even have an account :-).

No, I didn't try the core issue queue. I generally try to avoid cluttering the
issue queues with support questions for issues that I have not become convinced
are not some silly mistake that I am making on my end. So, unless I am
relatively sure there really is an issue, I usually attempt the forum first.
Also, after investigating it further myself and finding it appeared to be an
issue with the modules, I figured it might not be appropriate to post it the
core issue queue. But as I'm sure you already know, I did report it to the
"rules" module issue queue at that point.

Since we only noticed that the Forum was broken on the 21st (and it was also
fixed on the 21st) It sounds like you might have been the first one to notice
this.

Actually, my forum posting attempt was made on May 29th. Even now, it still
has not appeared and does not show in my conversation list under my profile.
Yet if I go straight to the URL that I recorded in my notes at the time
I posted it,
https://forum.backdropcms.org/forum/problem-rules-module-breaks-site-backdrop-1130
it is there.

There it gives me a View and an Edit tab, but no option to delete it.

The first and most obvious change we will make is not to update the Forum
site immediately when a new release of Backdrop comes out. If that is
a primary means of communication for the community, it should be handled with
more care.

I wholeheartedly agree :-).

Is there anything else you can recommend?

I think you guys are doing a great job of supporting your user base. The only
other issues I am encountering is with the github issue reporting system.
I didn't mention it before because I figured it is something I probably should
report to github and is probably out of your control. However, since you are
reliant upon it for this project and we are on the subject, I thought I might
go ahead and bring it to your attention in case you want to look into it or
contact github yourself about it.

I am able to report issues, but with limited functionality. If it gets worse,
I may not be able to report issues at all any longer.

Let me know if you would like details.

@jenlampton
Copy link
Member

jenlampton commented Jun 4, 2019

Actually, my forum posting attempt was made on May 29th. Even now, it still
has not appeared and does not show in my conversation list under my profile.

This is because it is not published. It won't appear in any listing until it is. You have a good point though, we should make it easier for people to locate their drafts. See backdrop-ops/forum.backdropcms.org#82

There it gives me a View and an Edit tab, but no option to delete it.

That was intentional, so that an entire conversation cannot be deleted after many people have contributed. We should, however, make it possible to delete your own forum post before anyone else has commented. See backdrop-ops/forum.backdropcms.org#83

backdrop-ops/forum.backdropcms.org#83

I'm curious about your issues with GitHub, if you are willing to share.

@vstemen
Copy link

vstemen commented Jun 5, 2019

This is because it is not published. It won't appear in any listing until it
is.

So then how do I publish it? There is no publish button. Only a "View" and
"Edit". If I click "Edit", I have the options to "Save", "Preview", and I see
there also is now a "Delete" button. I originally clicked "Save", and just did
it again. Still, it is not showing.

I'm pretty sure that all I did was click "Save" on all my previous conversations
I started in the forum over the last year, and they published fine.

I'm curious about your issues with GitHub, if you are willing to share.

Sure.

Here is a list of the problems I am having.

  1. Once I submit the issue report, I cannot edit it if I find an error or typo.
    I click on the '...' and, in the drop down menu, click "edit" and nothing
    happens. It is a dead menu option.

  2. When adding an issue comment in the text field, None of the formatting
    buttons work. They highlight blue when I hover over them but clicking does
    nothing. To do any formatting, I must enter all markdown characters
    manually. Same thing with the "Preview" tab. Clicking on it draws a grey
    square around it as if it's selected, but nothing happens. No preview.

  3. Also, when I posted the issue report on the rules it would not attach my
    patch file. I tried dragging and dropping from the file manager as well as
    using file selection. It did not attach. I finally ended up pasting the
    patch text directly in the message.
    PHP Fatal error: Cannot make static method EntityInterface::entityType() non static #46

My web browsers are not that old. I just did a full system upgrade I think in
February of this year. Yet I have noticed recently getting messages at the top
of the page on github saying something along the line that my browser is too
old and no longer supported.

It appears that github is trying to make you run last weeks latest and greatest
web browsers. If that's what is happening, people with major projects hosted
on github need to put pressure on them to pull their heads out. To upgrade to
the latest browser on a system such as FreeBSD, it's a major endeavor involving
upgrading the entire OS and all libraries and applications, since the new
versions are always linked to new versions of all the shared libraries, often
breaking other things in the process, causing days, if not weeks, to resolve.
So we don't upgrade our production machines and development workstations every
month.

OS: FreeBSD 11.1 Release

Browsers tested
Waterfox 56.2.0
Firefox 59.0.3
chrome 59.0.3071.115

Same problem in all browsers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants