Fatal error when clicking on my inbox

Hello,

sorry for bothering you again, but I have a weird error on my admin account and don't know how to proceed.

Literally over night my own Elgg's installation's admin account's "inbox" suddenly creates a "fatal error". Last night, before going to sleep, I read a message in my "inbox" and replied to it without any issues. After I woke up, I saw a notification e-mail that I have a new message waiting for me, so I visited my site, clicked the mailbox icon and got a "fatal error" message.

I tested the message system on my second account (no admin rights) and the inbox works fine there. I sent a message from that second account to my admin account. It arrived, but I can't open the inbox due to the "fatal error". However, I could go to my "sent" folder. And there, I was able to send a message back. That message arrived as well, but after sending it, my admin account got another "fatal error" message. The sent message appears in the sent folder list though.

The third user who had sent me the message in the night also has no issue with his inbox. Just my admin account's inbox seems to create these errors. I am puzzled.

To find out possible causes, I did the following things (to no avail):

  • Tried different browsers.
  • Cleared the cache and cookies.
  • Deactivated the two plugins I had installed yesterday ("Elgg hooks" and "my plugin" from Nikolai that he provided yesterday with the code to hide the header upload area in blog and page plugins; both plugins work fine and I was able to open my inbox after their installations yesterday; deactivating them didn't change anything regarding my inbox).
  • Checked that the files from the message function are still the original ones from the installation. I didn't change anything here.
  • Moved the Messages plugin to the bottom of the list.

This is the message:

"Fatal Error.
An unrecoverable error has occurred and has been logged. Contact the site administrator with the following information:
Exception at time 2025-01-22T11:50:14+00:00. "

Question 1: Where do I find that error log? I have marked in the settings that errors and warnings will be logged, but the only thing I found is "utilities: log browser". This is the "system log" though, I assume.

Question 2: How would I go on trying to find out what causes the error? The only thing that changed over night was that I received a new message. Could that message cause the "fatal error"? But how? Would it be worth trying to delete it? If yes, how can I do that if I can't open my inbox? In the database (if yes, where do I find the entry)?

I'm completely at a loss. Any help or direction is appreciated.

Regards, the elggnoob

  • 2 methods:

    1 - Activate 'Elgg Developer Tools' (this plugin should be  at the very top)

    Go to '/admin/plugin_settings/developers' and enable 'Enable error log'.

    Reproduce your fatal error and check it on the '/admin/develop_tools/error_log' page.

    Notes: 

    • don't enable too many options in the settings of this plugin, as this may cause high load on your server
    • disable the "Enable error log" option after fixing the error, otherwise the log file may be huge.

     

    2 - Select 'Log level: Log errors and warnings' option on the /admin/site_settings page.

    Although Elgg doesn't recommend doing this, I would recommend always leaving this option in this setting.

    Now reproduce your fatal error and find out the server logs on your server.

     

     

  • Moved the Messages plugin to the bottom of the list.

    This didn't need to be done.

  • Thank you once again for your quick reply, Nikolai!

    With method 1 I was able to find out that the fatal error was this: "Cannot instantiate abstract class Embed\Embed". And then there were lots of lines like

    "#0 /www/htdocs/w00e7451/dubbook/mod/oembed/classes/ColdTrick/OEmbed/Process.php(182): ColdTrick\OEmbed\Process->getOEmbed('http://bit.ly/l...')"

    So I deactivated the "oembed" plugin for a quick solution, and my inbox works again.

    Now I have to investigate why this suddenly happened, as I had the plugin activated before and used it to embed Youtube videos on The Wire.

    Maybe it's connected to the "Elgg Hooks" plugin that I installed yesterday after your hint in the "video" discussion here. Maybe there is a conflict between that plugin and "oembed", and "Elgg Hooks" isn't officially ready for Elgg 6 in any case. That would be my guess. I try testing more in the evening. But the inbox works again!

  • it's easy to check. Disable 'OEmbed' plugin and enable 'Elgg Hooks'.

    Is there still an error?

    I guess there is a bug somewhere in the "OEmbed" plugin or something else.

    Ask the developers

  • Just tested oEmbed and Elgg hooks plugins both.

    I don't have any errors; everything works as expected.

    I'm using the latest oEmbed plugin from GitHub.

    oEmbed plugin is placed after Elgg hooks on the 'Plugins' page.

  • Good news everyone! (At least for me.)

    I figured out the problem. In the e-mail that was sent to me last night was a "bit.ly" link and the oembed plugin tried to embed it, but failed:

    #0 /www/htdocs/w00e7451/dubbook/mod/oembed/classes/ColdTrick/OEmbed/Process.php(182): ColdTrick\OEmbed\Process->getOEmbed('http://bit.ly/l...')

    I updated the settings of the "oembed" plugin. Before, I had added non-wanted domains to the blacklist, but now I added wanted domains to the whitelist instead. This should prevent it from happening again.

    Thanks for the link to "oembed 5.0.3". I updated my version (from 5.0.2). I also moved oembed after Elgg hooks now, just in case.

    And also thanks for the instructions to get the error log. Now I know how that works as well.