Summary: | [EFL] Run-webkit-tests --efl raise ScriptError | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tibor Mészáros <mtiborinf> | ||||
Component: | WebKit EFL | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED INVALID | ||||||
Severity: | Normal | CC: | cdumez, commit-queue, gyuyoung.kim, gyuyoung.kim, lango.laszlo, llango.u-szeged, lucas.de.marchi, ossy, rakuco, ryuan.choi | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Tibor Mészáros
2013-12-10 01:24:23 PST
Created attachment 218845 [details]
Patch
Removed the ecore_shutdown(), and evas_shutdown() method calls from ewk_shutdown(), because at this place these methods try to free objects, that was previously done.
Comment on attachment 218845 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=218845&action=review > Source/WebKit/efl/ChangeLog:9 > + because at this place these methods try to free objects, that was previously done. Where are ecore_shutdown() and evas_shutdown() already done ? First of all, thanks for the fast reply. I had found a documentation, that will answer all your questions: http://docs.enlightenment.org/auto/ecore/group__Ecore__Evas__Group.html#gab8fa311077f749190c9b622f672b2214 (In reply to comment #3) > First of all, thanks for the fast reply. I had found a documentation, that will answer all your questions: http://docs.enlightenment.org/auto/ecore/group__Ecore__Evas__Group.html#gab8fa311077f749190c9b622f672b2214 I can't get your point. Because ewk_init() calls ecore_init() and evas_init(), we should call ecore_shutdown() and evas_shutdown() in ewk_shutdown(). In ewk_shutdown() we call ecore_evas_shutdown(), and this closes the Evas wrapper system down. Shut down Evas and Ecore libraries, so if we calls again ecore_shutdown(), and evas_shutdown() methods, these calls will fail, if I'm right. (In reply to comment #4) > (In reply to comment #3) > > First of all, thanks for the fast reply. I had found a documentation, that will answer all your questions: http://docs.enlightenment.org/auto/ecore/group__Ecore__Evas__Group.html#gab8fa311077f749190c9b622f672b2214 > > I can't get your point. > > Because ewk_init() calls ecore_init() and evas_init(), we should call ecore_shutdown() and evas_shutdown() in ewk_shutdown(). I think Tibor is right. The ecore_evas_shutdown() wraps the ecore_shutdown() and evas_shutdown(). See: http://git.enlightenment.fr/~leif/ecore/tree/src/lib/ecore_evas/ecore_evas.c#n253 The problem is that when the EWebLauncher is closed, the following error will emit fccache.c:507: FcCacheFini: Assertion `fcCacheChains[i] == ((void *)0)' failed. As I see, this is because we try to free the font config twice. I checked and this patch really removes the above error. But you might have right, the ewk_init is still messy, we shouldn't call ecore_init and evas_init separate if use the ecore_evas_init wrapper function. (In reply to comment #6) > (In reply to comment #4) > > (In reply to comment #3) > > > First of all, thanks for the fast reply. I had found a documentation, that will answer all your questions: http://docs.enlightenment.org/auto/ecore/group__Ecore__Evas__Group.html#gab8fa311077f749190c9b622f672b2214 > > > > I can't get your point. > > > > Because ewk_init() calls ecore_init() and evas_init(), we should call ecore_shutdown() and evas_shutdown() in ewk_shutdown(). > > I think Tibor is right. The ecore_evas_shutdown() wraps the ecore_shutdown() and evas_shutdown(). See: http://git.enlightenment.fr/~leif/ecore/tree/src/lib/ecore_evas/ecore_evas.c#n253 > _init()/_shutdown() are ref counted internally. so we should keep the pair _init()/_shutdown(). If not, _shutdown() just return after decreased the count. I agree that it might be unnecessary, but it will not be the root cause. > The problem is that when the EWebLauncher is closed, the following error will emit > fccache.c:507: FcCacheFini: Assertion `fcCacheChains[i] == ((void *)0)' failed. > > As I see, this is because we try to free the font config twice. I checked and this patch really removes the above error. > > But you might have right, the ewk_init is still messy, we shouldn't call ecore_init and evas_init separate if use the ecore_evas_init wrapper function. No, it is already raised and EFL fixed it. (http://sourceforge.net/mailarchive/message.php?msg_id=30424686) So since 1.7.6, it will be fine. Anyway, I made Bug 125479 to bump EFL 1.8 Comment on attachment 218845 [details] Patch Clear review? from attachment 218845 [details] so that this bug does not appear in http://webkit.org/pending-review. If you would like this patch reviewed, please attach it to a new bug or this bug again. There is no WebKit1 anymore, so we don't need this fix. |