Bug 137443

Summary: [EFL][CoordinatedGraphics] All EFL layout tests are broken since r174231
Product: WebKit Reporter: Gyuyoung Kim <gyuyoung.kim>
Component: WebKit2Assignee: Gyuyoung Kim <gyuyoung.kim>
Status: RESOLVED FIXED    
Severity: Normal CC: cmarcelo, commit-queue, luiz, noam, ossy, ryuan.choi, sergio, zeno, zherczeg
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 137384, 137848    
Bug Blocks: 137164    
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Description Gyuyoung Kim 2014-10-06 00:48:43 PDT
EFL layout test has been broken since r174231 though r174261 fixed build breaks caused by r174231.


Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5db12e2 in WebKit::WebPageProxy::updateBackingStoreDiscardableState() () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
(gdb) bt
#0  0x00007ffff5db12e2 in WebKit::WebPageProxy::updateBackingStoreDiscardableState() () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#1  0x00007ffff5db710c in WebKit::WebPageProxy::dispatchViewStateChange() () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#2  0x00007ffff5ec0935 in EwkView::handleEwkViewFocusIn(Ewk_View_Smart_Data*) () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#3  0x00007ffff490f9c3 in _eo_evas_object_cb (data=0x18608c0, eo_obj=0x80000071a000038e, desc=<optimized out>, event_info=0x0) at lib/evas/canvas/evas_callbacks.c:130
#4  0x00007ffff0698c18 in _ev_cb_call (obj_id=0x80000071a000038e, class_data=0x1860960, list=<optimized out>) at lib/eo/eo_base_class.c:690
#5  0x00007ffff0693813 in _eo_op_internal (p_list=0x7fffffffcde8, op=16, op_type=EO_OP_TYPE_REGULAR, cur_klass=0x4a54c0, eo_ptr=0x1860920, line=302, file=0x7ffff4a1adf8 "lib/evas/canvas/evas_callbacks.c")
    at lib/eo/eo.c:306
#6  _eo_dov_internal (p_list=0x7fffffffcde8, op_type=EO_OP_TYPE_REGULAR, klass=0x4a54c0, obj=0x1860920, line=302, file=0x7ffff4a1adf8 "lib/evas/canvas/evas_callbacks.c") at lib/eo/eo.c:338
#7  _eo_obj_dov_internal (p_list=0x7fffffffcde8, obj=0x1860920, line=302, file=0x7ffff4a1adf8 "lib/evas/canvas/evas_callbacks.c") at lib/eo/eo.c:359
#8  eo_do_internal (file=file@entry=0x7ffff4a1adf8 "lib/evas/canvas/evas_callbacks.c", line=line@entry=302, obj_id=obj_id@entry=0x80000071a000038e) at lib/eo/eo.c:396
#9  0x00007ffff490fed1 in evas_object_event_callback_call (eo_obj=0x80000071a000038e, obj=0x1860990, type=EVAS_CALLBACK_FOCUS_IN, event_info=0x0, event_id=3524) at lib/evas/canvas/evas_callbacks.c:302
#10 0x00007ffff491eb7f in _focus_set (eo_obj=0x80000071a000038e, _pd=0x1860990, list=0x7fffe77d2778) at lib/evas/canvas/evas_focus.c:40
#11 0x00007ffff0693813 in _eo_op_internal (p_list=0x7fffffffcfc8, op=95, op_type=EO_OP_TYPE_REGULAR, cur_klass=0x4a54c0, eo_ptr=0x1860920, line=13, file=0x7ffff4a29062 "lib/evas/canvas/evas_focus.c")
    at lib/eo/eo.c:306
#12 _eo_dov_internal (p_list=0x7fffffffcfc8, op_type=EO_OP_TYPE_REGULAR, klass=0x4a54c0, obj=0x1860920, line=13, file=0x7ffff4a29062 "lib/evas/canvas/evas_focus.c") at lib/eo/eo.c:338
#13 _eo_obj_dov_internal (p_list=0x7fffffffcfc8, obj=0x1860920, line=13, file=0x7ffff4a29062 "lib/evas/canvas/evas_focus.c") at lib/eo/eo.c:359
#14 eo_do_internal (file=0x7ffff4a29062 "lib/evas/canvas/evas_focus.c", line=13, obj_id=<optimized out>) at lib/eo/eo.c:396
#15 0x00007ffff494b676 in _eo_evas_smart_cb (data=<optimized out>, eo_obj=<optimized out>, desc=<optimized out>, event_info=<optimized out>) at lib/evas/canvas/evas_object_smart.c:69
#16 0x00007ffff0698c18 in _ev_cb_call (obj_id=0x80000071a000038e, class_data=0x1860960, list=<optimized out>) at lib/eo/eo_base_class.c:690
#17 0x00007ffff0693813 in _eo_op_internal (p_list=0x7fffffffd198, op=16, op_type=EO_OP_TYPE_REGULAR, cur_klass=0x4a54c0, eo_ptr=0x1860920, line=927, 
    file=0x7ffff4a210c0 "lib/evas/canvas/evas_object_smart.c") at lib/eo/eo.c:306
#18 _eo_dov_internal (p_list=0x7fffffffd198, op_type=EO_OP_TYPE_REGULAR, klass=0x4a54c0, obj=0x1860920, line=927, file=0x7ffff4a210c0 "lib/evas/canvas/evas_object_smart.c") at lib/eo/eo.c:338
#19 _eo_obj_dov_internal (p_list=0x7fffffffd198, obj=0x1860920, line=927, file=0x7ffff4a210c0 "lib/evas/canvas/evas_object_smart.c") at lib/eo/eo.c:359
#20 eo_do_internal (file=file@entry=0x7ffff4a210c0 "lib/evas/canvas/evas_object_smart.c", line=line@entry=927, obj_id=obj_id@entry=0x80000071a000038e) at lib/eo/eo.c:396
#21 0x00007ffff494cd12 in evas_object_smart_callback_call (eo_obj=0x80000071a000038e, event=<optimized out>, event_info=0x17e8edc) at lib/evas/canvas/evas_object_smart.c:927
#22 0x00007ffff5ec2ced in EwkView::informURLChange() () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#23 0x00007ffff5efea8b in WebKit::PageLoadClientEfl::didStartProvisionalLoadForFrame(OpaqueWKPage const*, OpaqueWKFrame const*, void const*, void const*) ()
   from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#24 0x00007ffff5dc808c in WebKit::WebPageProxy::didStartProvisionalLoadForFrame(unsigned long, unsigned long, WTF::String const&, WTF::String const&, IPC::MessageDecoder&) ()
   from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#25 0x00007ffff5f23836 in void IPC::handleMessageVariadic<Messages::WebPageProxy::DidStartProvisionalLoadForFrame, WebKit::WebPageProxy, void (WebKit::WebPageProxy::*)(unsigned long, unsigned long, WTF::String const&, WTF::String const&, IPC::MessageDecoder&)>(IPC::MessageDecoder&, WebKit::WebPageProxy*, void (WebKit::WebPageProxy::*)(unsigned long, unsigned long, WTF::String const&, WTF::String const&, IPC::MessageDecoder&)) () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#26 0x00007ffff5f2ca12 in WebKit::WebPageProxy::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#27 0x00007ffff5d11800 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection*, IPC::MessageDecoder&) () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#28 0x00007ffff5dd057b in WebKit::WebProcessProxy::didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#29 0x00007ffff5d0c124 in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::MessageDecoder, std::default_delete<IPC::MessageDecoder> >) ()
   from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#30 0x00007ffff5d0c29c in IPC::Connection::dispatchOneMessage() () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#31 0x00007ffff74f9ed3 in WTF::RunLoop::performWork() () from /home/gyuyoung/webkit/WebKit/WebKitBuild/Release/lib/libewebkit2.so.1
#32 0x00007ffff7fd429f in _ecore_pipe_handler_call (p=p@entry=0x43de30, buf=0x41fc50 "W\363\334\001", len=<optimized out>) at lib/ecore/ecore_pipe.c:599
#33 0x00007ffff7fd4a2a in _ecore_pipe_read (data=0x43de30, fd_handler=<optimized out>) at lib/ecore/ecore_pipe.c:725
#34 0x00007ffff7fd3a31 in _ecore_call_fd_cb (fd_handler=0x43c0a0, data=<optimized out>, func=<optimized out>) at lib/ecore/ecore_private.h:383
#35 _ecore_main_fd_handlers_call () at lib/ecore/ecore_main.c:1781
#36 _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2032
#37 0x00007ffff7fd3c37 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1042
#38 0x000000000040b9b2 in elm_main ()
#39 0x00007ffff453dde5 in __libc_start_main (main=0x406120 <main>, argc=1, ubp_av=0x7fffffffdb98, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffdb88)
    at libc-start.c:260
#40 0x000000000040617a in _start ()
Comment 1 Gyuyoung Kim 2014-10-06 00:57:30 PDT
Created attachment 239316 [details]
Patch
Comment 2 Gyuyoung Kim 2014-10-06 00:58:09 PDT
CC'ing Ossy. Ossy, could you take a look this patch ?
Comment 3 Gyuyoung Kim 2014-10-06 01:13:48 PDT
Created attachment 239317 [details]
Patch
Comment 4 Csaba Osztrogonác 2014-10-06 04:27:10 PDT
(In reply to comment #2)
> CC'ing Ossy. Ossy, could you take a look this patch ?

Sorry, I don't know how Coordinated Graphics works, 
maybe Zoltán can help you, cc-ing him too.
Comment 5 Csaba Osztrogonác 2014-10-06 05:56:57 PDT
With this patch tests still fail for me, but with different log:
ERR<9189>:evas-gl_x11 modules/evas/engines/gl_x11/evas_x_main.c:767 eng_best_visual_get() glXChooseFBConfig returned no configs
ERR<9189>:evas-gl_x11 modules/evas/engines/gl_x11/evas_x_main.c:767 eng_best_visual_get() glXChooseFBConfig returned no configs
ERR<9189>:evas-gl_x11 modules/evas/engines/gl_x11/evas_x_main.c:767 eng_best_visual_get() glXChooseFBConfig returned no configs
ERR<9189>:ecore_evas modules/ecore_evas/engines/x/ecore_evas_x.c:479 _ecore_evas_x_gl_window_new() evas_engine_info_set() for engine 'opengl_x11' failed.
Xlib:  extension "GLX" missing on display ":1".
ERR<9189>:evas_main lib/evas/canvas/evas_gl.c:42 evas_gl_new() Evas GL engine not available.
#PROCESS UNRESPONSIVE - WebProcess


I checked r174230 too, everything worked fine that time.
Comment 6 Ryuan Choi 2014-10-06 06:11:59 PDT
(In reply to comment #5)
> With this patch tests still fail for me, but with different log:
> ERR<9189>:evas-gl_x11 modules/evas/engines/gl_x11/evas_x_main.c:767 eng_best_visual_get() glXChooseFBConfig returned no configs
> ERR<9189>:evas-gl_x11 modules/evas/engines/gl_x11/evas_x_main.c:767 eng_best_visual_get() glXChooseFBConfig returned no configs
> ERR<9189>:evas-gl_x11 modules/evas/engines/gl_x11/evas_x_main.c:767 eng_best_visual_get() glXChooseFBConfig returned no configs
> ERR<9189>:ecore_evas modules/ecore_evas/engines/x/ecore_evas_x.c:479 _ecore_evas_x_gl_window_new() evas_engine_info_set() for engine 'opengl_x11' failed.
> Xlib:  extension "GLX" missing on display ":1".
> ERR<9189>:evas_main lib/evas/canvas/evas_gl.c:42 evas_gl_new() Evas GL engine not available.
> #PROCESS UNRESPONSIVE - WebProcess
> 
> 
> I checked r174230 too, everything worked fine that time.

Hmm..
weird, this error message is not related webkit but EFL.
Comment 7 Csaba Osztrogonác 2014-10-06 06:13:52 PDT
(In reply to comment #6)
> Hmm..
> weird, this error message is not related webkit but EFL.

I don't get this error with r174230, but with ToT WebKit with this 
patch, so I think it is somehow related to a recent WebKit change.
Comment 8 Gyuyoung Kim 2014-10-06 19:01:30 PDT
(In reply to comment #7)
> (In reply to comment #6)
> > Hmm..
> > weird, this error message is not related webkit but EFL.
> 
> I don't get this error with r174230, but with ToT WebKit with this 
> patch, so I think it is somehow related to a recent WebKit change.


I don't get your error message when I run MiniBrowser this patch.

gyuyoung@gyuyoung:~/webkit/WebKit$ WebKitBuild/Release/bin/MiniBrowser 
HTML5 local storage is enabled for this view.
ERR<32329>:efreet_cache lib/efreet/efreet_cache.c:1108 on_send_register() org.freedesktop.DBus.Error.ServiceUnknown The name org.enlightenment.Efreet was not provided by any .service files
Comment 9 Gyuyoung Kim 2014-10-06 19:12:37 PDT
(In reply to comment #4)
> (In reply to comment #2)
> > CC'ing Ossy. Ossy, could you take a look this patch ?
> 
> Sorry, I don't know how Coordinated Graphics works, 
> maybe Zoltán can help you, cc-ing him too.

If Zoltan can review this patch, I haven't seen him for a long time. As you know, we need to fix EFL layout test as soon as possible. It has broken since last Friday.
Comment 10 Gyuyoung Kim 2014-10-06 19:13:56 PDT
(In reply to comment #9)

Wrong typing

> If Zoltan can review this patch, I haven't seen him for a long time.

=> If Zoltan can review this patch, it is nice. However, I haven't seen him for a long time.
Comment 11 Zoltan Herczeg 2014-10-07 03:08:19 PDT
I think this is an acceptable workaround for the moment.
Comment 12 Csaba Osztrogonác 2014-10-07 06:46:59 PDT
(In reply to comment #8)
> (In reply to comment #7)
> > (In reply to comment #6)
> > > Hmm..
> > > weird, this error message is not related webkit but EFL.
> > 
> > I don't get this error with r174230, but with ToT WebKit with this 
> > patch, so I think it is somehow related to a recent WebKit change.
> 
> 
> I don't get your error message when I run MiniBrowser this patch.

I do during run layout tests and performance tests too, 
however MiniBrowser looks working with this workaround.
Comment 13 Csaba Osztrogonác 2014-10-07 07:22:07 PDT
(In reply to comment #12)
typo fix: I do get during ...
Comment 14 Gyuyoung Kim 2014-10-07 21:02:20 PDT
Comment on attachment 239317 [details]
Patch

I also get similar error when running EFL layout test locally. Let me take a look this further.
Comment 15 Gyuyoung Kim 2014-10-08 01:20:29 PDT
Ossy and Ryuan, r174335 broke EFL layout test regardless of Pageoverlay moving.
https://trac.webkit.org/changeset/174335

To restore EFL layout test, we should revert it first.
Comment 16 Gyuyoung Kim 2014-10-08 01:46:34 PDT
Created attachment 239462 [details]
Patch
Comment 17 Gyuyoung Kim 2014-10-08 01:52:48 PDT
Zoltan and Ossy, previous layout test problem was caused by Ryuan's patch, which couldn't be detected since EFL layout test was already broken. I revert it through r174423.

Besides I apply r174231's change regarding viewOverlayRootLayer to coordinated graphics in new patch. I think this is more closer to Mac port implementation.
Comment 18 Gyuyoung Kim 2014-10-08 03:06:24 PDT
Created attachment 239464 [details]
Patch
Comment 19 Csaba Osztrogonác 2014-10-08 03:55:35 PDT
(In reply to comment #18)
> Created an attachment (id=239464) [details]
> Patch

I can confirm, MiniBrowser, layout tests and performance tests work
on top of trunk with this patch on my Ubuntu 14.04. machine.
Comment 20 Zoltan Herczeg 2014-10-08 04:02:59 PDT
This patch makes sense. Lets wait for the bots.
Comment 21 Csaba Osztrogonác 2014-10-08 04:11:26 PDT
(In reply to comment #20)
> This patch makes sense. Lets wait for the bots.

It touches only coordinated graphics sources which is used by only EFL,
so there is no reason to wait for them. ( Otherwise Win and GTK EWS are dead. )
Comment 22 Gyuyoung Kim 2014-10-08 04:15:47 PDT
Created attachment 239466 [details]
Patch
Comment 23 Gyuyoung Kim 2014-10-08 04:16:52 PDT
(In reply to comment #21)
> (In reply to comment #20)
> > This patch makes sense. Lets wait for the bots.
> 
> It touches only coordinated graphics sources which is used by only EFL,
> so there is no reason to wait for them. ( Otherwise Win and GTK EWS are dead. )

To check whether ews are dead, I upload patch again.
Comment 24 Zoltan Herczeg 2014-10-08 04:31:28 PDT
Comment on attachment 239466 [details]
Patch

You are right.
Comment 25 Gyuyoung Kim 2014-10-08 04:38:47 PDT
Comment on attachment 239466 [details]
Patch

Clearing flags on attachment: 239466

Committed r174435: <http://trac.webkit.org/changeset/174435>
Comment 26 Gyuyoung Kim 2014-10-08 04:38:58 PDT
All reviewed patches have been landed.  Closing bug.
Comment 27 Gyuyoung Kim 2014-10-08 04:39:44 PDT
(In reply to comment #24)
> (From update of attachment 239466 [details])
> You are right.

I land this patch manually since ews looks like dead. Zoltan and Ossy, thank you for review !!
Comment 28 Ryuan Choi 2014-10-08 07:31:28 PDT
(In reply to comment #15)
> Ossy and Ryuan, r174335 broke EFL layout test regardless of Pageoverlay moving.
> https://trac.webkit.org/changeset/174335
> 
> To restore EFL layout test, we should revert it first.

Sorry for the inconvenience.
I just caught what's wrong.

Thanks for the revert.