Laravel 4.2 SuperClosure: Attempted to serialize unserializable builtin class Closure - laravel

History:
Laravel 4.2 recently updated from 4.1 running on HHVM-stable
This exact code worked before whatever broke broke
Downgrading back to 4.1 didn't resolve
Whenever (apparently) an uncaught exception is thrown, the app crashes with:
exception 'ErrorException' with message 'Attempted to serialize unserializable builtin class Closure$;1617701371#2$9f9bb1ee4ac7330c21e327d2b7294b9c$'
in /home/forge/.../vendor/jeremeamia/SuperClosure/src/Jeremeamia/SuperClosure/SerializableClosure.php:78
It's a dickens to troubleshoot because it seems to crash during error handling, so the feedback it gives me is less than helpful.
Any idea what this is about? Am I alone with this error? Googling turns up nada and this has pretty much shut us down until I can resolve it.

Turns out that happens if you try to serialize an Exception. (In this case, outputting it via Log::error("...", [$e]). Just stringify it and all is good.

Related

Rollbar overrides Laravel's exception handler

I'm using Rollbar in a Laravel 5.7 app, and the following situation has been confusing and frustrating me.
It seems that my \app\Exceptions\Handler.php file isn't getting used normally.
I finally noticed that https://docs.rollbar.com/docs/laravel#section-exception-logging says:
"For Laravel 5.6, all errors which are normally handled by \App\Exceptions\Handler are going to be reported to Rollbar by default."
How can I disable this default functionality?
My \app\Exceptions\Handler.php will use Log to send data to Rollbar too, but it's important for me to run my whole exception handler since there is other functionality in there that needs to happen first.
Thanks.

Alphauser Points Error An error has occurred. 0 Using $this when not in object context

Everything was working well on my site yesterday. I upgraded my php version to from 5.6 to 7.0.9
Then I received the following error: An error has occurred.
0 Using $this when not in object context
I am relatively clueless on how to correct this, otherwise AUP is useless. Does anyone have some direction - as I am not sure what file may need to be modified, and what that modification could be?
I am not 100% sure upgrading to 7.0.9 was what caused it. I just believe it had something to do with it.
Thank you

Can't clear cache Symfony in production

Despite of all my attempts to understand the problem, I still can't figure out what is happening.
I developped a website with Symfony 2.7 which perfectly works in dev mode. When I tested it in production mode, an error 500 is returned.
The exception is :
Uncaught PHP Exception Symfony\Component\Debug\Exception\FatalErrorException:
"Error: Call to a member function getCacheFactory() on a non-object" at
/home/admdev-php/public_html/sfSUAPS/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php line 3039
{"exception":"[object] (Symfony\\Component\\Debug\\Exception\\FatalErrorException(code: 0):
Error: Call to a member function getCacheFactory() on a non-object at
/home/admdev-php/public_html/sfSUAPS/vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php:3039)"} []
So I've tried to clear the cache and I had the same message :
[Symfony\Component\Debug\Exception\FatalErrorException]
Compile Error: require(): Failed opening required
'/home/stagiaire/workspace/suaps/app/cache/prod/doctrine/orm/Proxies/__CG__AppBundleEntityPlace.php'
(include_path='.:/usr/share/php:/usr/share/pear')`
I've tried to clear doctrine's cache but this doesn't solve the problem.
There are severals roles : One for students, one for teachers and one for admins. I only get this error when my role is student. So I looked closer to methods which are concerned and I commented everything related to studies and it worked. So I think the error is linked with my Entity Repository since "findBy" and "findAll" are failing.
I've took a look into Symfony's code but the error seems to be on my side. I really don't know what is going on, thank you if you can help me.
Problem solved
Turns out someone used an entity directly from cache...
Turns out someone used an entity directly from cache...
use Proxies\__CG__\AppBundle\Entity\Place;

Ported Chrome extension to Firefox not working (indexedDB error)

I'm trying to port the Twitter Notifier extension to FF.
I'm not too familiar with JavaScript so I just used extension factory to convert it to FF.
Unfortunately it is not working; I don't get any HTML5 desktop notifications.
I've looked at the code a bit and I think the problem is with twitter.js which should be found in the path 'resources\extension-data\js'.
http://pastebin.com/C0NqU4Ur
First I've changed
twitter.messagesDB = window.webkitIndexedDB.open("messagesDB");
to
twitter.messagesDB = window.mozIndexedDB.open("messagesDB");
but it still is not working.
The error console also doesn't show any error.
When I put a console.log command to the twitter.messagesDB.onsuccess function nothing is being outputted to the error console.
Also no output when I create an onerror function.
So I though to surround the functions with a try and catch clause but no error is being thrown.
So I tried to put twitter.messagesDB = twitter.messagesDB.result; out of the function and the following error shows up in the error console:
Error: uncaught exception: [Exception... "A mutation operation was attempted on a database that did not allow mutations." code: "6" nsresult: "0x80660006 (NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR)" location: "chrome-extension://gjlehiopfilnaggndcmbhphaglkbkekf/js/twitter.js Line: 28"]
What does that mean?
How can I make it work in Firefox?
Thanks in advance!
Edit: I'm using Firefox 12 on Windows
This is due to an incompatibility between the Firefox implementation of IndexedDB, which supports the latest IndedexDB protocol published December 2011, and the Chrome implementation, which supports the version previous to that.
The breaking change is how databases are created, where the older (Chrome) implementation uses the setVersion transaction whereas the newer version (FF) uses an onupgradeneeded event and callback.
To see this change, please star this issue.

Error when logging to Magento connect manager

I am getting the following error when I log into Magento connect Manager.
Exception caught:
Unknown error (8192): Function eregi() is deprecated in /home/nirmal/public_html/magento/downloader/pearlib/php/PEAR/Registry.php on line 774
The php version I am using is 5.3. Can you help me?
Hmm, this is tricky. This is a so-called E_DEPRECATED notice, pointing out a function call that still works, but will be removed in one of the coming versions of PHP.
You could manually edit the code to fix this, but it seems to be in a core part of Magento or the PEAR client. It is likely to be fixed in a future version of Magento. Turning off error reporting for E_DEPRECATED notices might be justified in this case.
The error_reporting setting for that would be
error_reporting(E_ALL ^ E_DEPRECATED);
This is because eregi() function is deprecated
Warning
This function has been DEPRECATED as
of PHP 5.3.0. Relying on this feature
is highly discouraged.
http://php.net/manual/en/function.ereg.php
Here is a fix of this problem
http://www.devcomments.com/magento-and-deprecated-errors-solved-to290776.htm
Here is also a very similar issue and fix. Take a look here
http://www.magentocommerce.com/boards/viewthread/59208/
The core of this problem is that Magento still doesn't officially support the PHP 5.3 branch as far as I am aware. Since the framework catches even quasi-serious errors and kills execution, you may discover many such bugs.
The easy fix is to use the current 5.2.X version of PHP.

Resources