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

Rotating the window and Positioning the software keyboard #21

Closed
bbrto21 opened this issue Jan 5, 2021 · 8 comments
Closed

Rotating the window and Positioning the software keyboard #21

bbrto21 opened this issue Jan 5, 2021 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@bbrto21
Copy link

bbrto21 commented Jan 5, 2021

Problem

  1. When the device is rotated, an animation of rotating the window should occur but it doesn't
  2. After the device is rotated, the keyboard should also be positioned correctly but it doesn't.

As-is

  • When the device is rotated, No rotating animation occurs.
  • screenshot
    Image Pasted at 2021-1-5 16-30

Expected(android)

  • When the device is rotated, you can see the animation of rotating the window
  • screenshot
    Screenshot_20210105-193420

Details

To solve these problems, I tried setting available rotation degrees on the window.

ecore_wl2_window_available_rotations_set

If you use the above API and you rotate the actual device, you can see that the window is also rotated according to the device orientation with an appropriate rotating animation. the keyboard is positioned also correctly.
But after that, the screen looks frozen.
*If you are using the scrollable sample app, you can easily see that the screen is frozen after rotating the device with the above API.

I tried the following to analyze and to solve the problem, but it didn't work.

  • Remove gl surface transformation
    • The screen may appear partially frozen. when pause-resume occurs, nothing will be shown(black screen).
  • After the device is rotated, re-create egl window surface after device rotated on the render thread
    • If you create a surface and clear the surface with any color, you can see that color momentarily. // It's natural.
    • However, once a rotation occurs, you can not see that color anymore. // this is very weird.
  • After the device is rotated, re-create wl2 window and egl window surface on the render thread
  • Create wl_egl_window* from Ecore_Wl2_Window and use it to create egl window surface

Please let me know if you know anything about this.

@bbrto21 bbrto21 added enhancement New feature or request help wanted Extra attention is needed question Further information is requested labels Jan 5, 2021
@bbrto21
Copy link
Author

bbrto21 commented Jan 5, 2021

@xiaowei-guan I created an issue about the problem I was discussing with you on the messenger.

@bbrto21
Copy link
Author

bbrto21 commented Jan 6, 2021

@xuelian-bai @xiaowei-guan

Here are TDM logs, In the log below, commit in TDM occurs only when it is normal. I don't know anything about TDM or TBM, so I'm asking here.

in nomal state

01-06 18:33:39.798+0900 I/TDM(P 2373, T 2373): [ 6732.798918][2373][drm_hwc_commit 674] ==============COMMIT=================================
01-06 18:33:40.278+0900 I/TDM(P 2373, T 2373): [ 6733.278403][2373][drm_hwc_validate 593] ==============Validate=================================
01-06 18:33:40.278+0900 I/TDM(P 2373, T 2373): [ 6733.278438][2373][_print_validate_result 165] window(0x8165b070) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
01-06 18:33:40.278+0900 I/TDM(P 2373, T 2373): [ 6733.278464][2373][_print_validate_result 165] window(0x8169ff10) DEVICE -> DEVICE : lzpos(0) -- {UNKNOWN}
01-06 18:33:40.278+0900 I/TDM(P 2373, T 2373): [ 6733.278509][2373][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
01-06 18:33:40.278+0900 E/TDM(P 2373, T 2373): [ 6733.278541][2373][_drm_hwc_layer_attach_window 240]'layer_data' failed
01-06 18:33:40.278+0900 I/TDM(P 2373, T 2373): [ 6733.278566][2373][_drm_hwc_prepare_commit 310] lzpos(2) : SET
01-06 18:33:40.278+0900 I/TDM(P 2373, T 2373): [ 6733.278592][2373][_drm_hwc_prepare_commit 310] lzpos(0) : SET
01-06 18:33:40.278+0900 I/TDM(P 2373, T 2373): [ 6733.278626][2373][drm_hwc_commit 674] ==============COMMIT=================================
01-06 18:33:40.788+0900 I/TDM(P 2373, T 2373): [ 6733.788349][2373][drm_hwc_validate 593] ==============Validate=================================
01-06 18:33:40.788+0900 I/TDM(P 2373, T 2373): [ 6733.788390][2373][_print_validate_result 165] window(0x8165b070) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
01-06 18:33:40.788+0900 I/TDM(P 2373, T 2373): [ 6733.788416][2373][_print_validate_result 165] window(0x8169ff10) DEVICE -> DEVICE : lzpos(0) -- {UNKNOWN}
01-06 18:33:40.788+0900 I/TDM(P 2373, T 2373): [ 6733.788439][2373][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
01-06 18:33:40.788+0900 E/TDM(P 2373, T 2373): [ 6733.788460][2373][_drm_hwc_layer_attach_window 240]'layer_data' failed
01-06 18:33:40.788+0900 I/TDM(P 2373, T 2373): [ 6733.788475][2373][_drm_hwc_prepare_commit 310] lzpos(2) : SET
01-06 18:33:40.788+0900 I/TDM(P 2373, T 2373): [ 6733.788491][2373][_drm_hwc_prepare_commit 310] lzpos(0) : SET
01-06 18:33:40.788+0900 I/TDM(P 2373, T 2373): [ 6733.788510][2373][drm_hwc_commit 674] ==============COMMIT=================================
01-06 18:33:41.303+0900 I/TDM(P 2373, T 2373): [ 6734.303362][2373][drm_hwc_validate 593] ==============Validate=================================
01-06 18:33:41.303+0900 I/TDM(P 2373, T 2373): [ 6734.303410][2373][_print_validate_result 165] window(0x8165b070) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
01-06 18:33:41.303+0900 I/TDM(P 2373, T 2373): [ 6734.303432][2373][_print_validate_result 165] window(0x8169ff10) DEVICE -> DEVICE : lzpos(0) -- {UNKNOWN}
01-06 18:33:41.303+0900 I/TDM(P 2373, T 2373): [ 6734.303469][2373][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
01-06 18:33:41.303+0900 E/TDM(P 2373, T 2373): [ 6734.303494][2373][_drm_hwc_layer_attach_window 240]'layer_data' failed
01-06 18:33:41.303+0900 I/TDM(P 2373, T 2373): [ 6734.303525][2373][_drm_hwc_prepare_commit 310] lzpos(2) : SET
01-06 18:33:41.303+0900 I/TDM(P 2373, T 2373): [ 6734.303545][2373][_drm_hwc_prepare_commit 310] lzpos(0) : SET
01-06 18:33:41.303+0900 I/TDM(P 2373, T 2373): [ 6734.303575][2373][drm_hwc_commit 674] ==============COMMIT=================================

in frozen state

01-06 18:34:57.296+0900 I/TDM(P 2373, T 2373): [ 6810.296924][2373][drm_hwc_validate 593] ==============Validate=================================
01-06 18:34:57.297+0900 I/TDM(P 2373, T 2373): [ 6810.296991][2373][_print_validate_result 165] window(0x8165b070) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
01-06 18:34:57.297+0900 I/TDM(P 2373, T 2373): [ 6810.297021][2373][_print_validate_result 155] window(0x8169ff10) CLIENT -> CLIENT : lzpos(0) -- {UNKNOWN} on TARGET WINDOW
01-06 18:34:57.297+0900 I/TDM(P 2373, T 2373): [ 6810.297096][2373][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
01-06 18:34:57.297+0900 E/TDM(P 2373, T 2373): [ 6810.297129][2373][_drm_hwc_layer_attach_window 240]'layer_data' failed
01-06 18:34:57.297+0900 I/TDM(P 2373, T 2373): [ 6810.297162][2373][_drm_hwc_prepare_commit 310] lzpos(2) : SET
01-06 18:34:57.297+0900 I/TDM(P 2373, T 2373): [ 6810.297188][2373][_drm_hwc_prepare_commit 310] lzpos(0) : SET
01-06 18:34:57.776+0900 I/TDM(P 2373, T 2373): [ 6810.776500][2373][drm_hwc_validate 593] ==============Validate=================================
01-06 18:34:57.776+0900 I/TDM(P 2373, T 2373): [ 6810.776569][2373][_print_validate_result 165] window(0x8165b070) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
01-06 18:34:57.776+0900 I/TDM(P 2373, T 2373): [ 6810.776620][2373][_print_validate_result 155] window(0x8169ff10) CLIENT -> CLIENT : lzpos(0) -- {UNKNOWN} on TARGET WINDOW
01-06 18:34:57.776+0900 I/TDM(P 2373, T 2373): [ 6810.776693][2373][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
01-06 18:34:57.776+0900 E/TDM(P 2373, T 2373): [ 6810.776745][2373][_drm_hwc_layer_attach_window 240]'layer_data' failed
01-06 18:34:57.776+0900 I/TDM(P 2373, T 2373): [ 6810.776794][2373][_drm_hwc_prepare_commit 310] lzpos(2) : SET
01-06 18:34:57.776+0900 I/TDM(P 2373, T 2373): [ 6810.776842][2373][_drm_hwc_prepare_commit 310] lzpos(0) : SET
01-06 18:34:58.288+0900 I/TDM(P 2373, T 2373): [ 6811.288028][2373][drm_hwc_validate 593] ==============Validate=================================
01-06 18:34:58.288+0900 I/TDM(P 2373, T 2373): [ 6811.288202][2373][_print_validate_result 165] window(0x8165b070) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
01-06 18:34:58.288+0900 I/TDM(P 2373, T 2373): [ 6811.288280][2373][_print_validate_result 155] window(0x8169ff10) CLIENT -> CLIENT : lzpos(0) -- {UNKNOWN} on TARGET WINDOW
01-06 18:34:58.288+0900 I/TDM(P 2373, T 2373): [ 6811.288426][2373][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
01-06 18:34:58.288+0900 E/TDM(P 2373, T 2373): [ 6811.288484][2373][_drm_hwc_layer_attach_window 240]'layer_data' failed
01-06 18:34:58.288+0900 I/TDM(P 2373, T 2373): [ 6811.288540][2373][_drm_hwc_prepare_commit 310] lzpos(2) : SET
01-06 18:34:58.288+0900 I/TDM(P 2373, T 2373): [ 6811.288585][2373][_drm_hwc_prepare_commit 310] lzpos(0) : SET
01-06 18:34:58.795+0900 I/TDM(P 2373, T 2373): [ 6811.795071][2373][drm_hwc_validate 593] ==============Validate=================================
01-06 18:34:58.795+0900 I/TDM(P 2373, T 2373): [ 6811.795192][2373][_print_validate_result 165] window(0x8165b070) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
01-06 18:34:58.795+0900 I/TDM(P 2373, T 2373): [ 6811.795299][2373][_print_validate_result 155] window(0x8169ff10) CLIENT -> CLIENT : lzpos(0) -- {UNKNOWN} on TARGET WINDOW
01-06 18:34:58.795+0900 I/TDM(P 2373, T 2373): [ 6811.795416][2373][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
01-06 18:34:58.795+0900 E/TDM(P 2373, T 2373): [ 6811.795516][2373][_drm_hwc_layer_attach_window 240]'layer_data' failed
01-06 18:34:58.795+0900 I/TDM(P 2373, T 2373): [ 6811.795599][2373][_drm_hwc_prepare_commit 310] lzpos(2) : SET
01-06 18:34:58.795+0900 I/TDM(P 2373, T 2373): [ 6811.795695][2373][_drm_hwc_prepare_commit 310] lzpos(0) : SET

@xiaowei-guan
Copy link

xiaowei-guan commented Jan 7, 2021

add Full log:

D/AMD( 2191): amd_login_monitor.c: __foreach_app_counter(252) > app type(webapp), total(1)
I/LAUNCHPAD( 2639): launchpad.c: __dispatch_cmd_update_app_type(2048) > [LAUNCHPAD] type(capp), exists(1)
D/AUL( 2191): aul_sock.c: aul_sock_send_raw_with_fd(501) > fd(18): cmd(16)
D/AMD( 2191): amd_login_monitor.c: __foreach_app_counter(252) > app type(dotnet), total(2)
D/LAUNCHPAD( 2639): launchpad_common.c: _recv_pkt_raw(398) > recv len 152 152
I/LAUNCHPAD( 2639): launchpad.c: __dispatch_cmd_update_app_type(2048) > [LAUNCHPAD] type(c++app), exists(1)
D/LAUNCHPAD( 2639): launchpad_common.c: _recv_pkt_raw(398) > recv len 152 152
I/LAUNCHPAD( 2639): launchpad.c: __dispatch_cmd_update_app_type(2048) > [LAUNCHPAD] type(webapp), exists(1)
D/LAUNCHPAD( 2639): launchpad_common.c: _recv_pkt_raw(398) > recv len 152 152
I/LAUNCHPAD( 2639): launchpad.c: __dispatch_cmd_update_app_type(2048) > [LAUNCHPAD] type(dotnet), exists(1)
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/tizen_embedder_engine.cc: OnFlutterPlatformMessage(321) > flutter/isolate
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/tizen_embedder_engine.cc: OnFlutterPlatformMessage(321) > flutter/platform
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/tizen_embedder_engine.cc: OnFlutterPlatformMessage(321) > flutter/navigation
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/tizen_embedder_engine.cc: OnFlutterPlatformMessage(321) > flutter/platform
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/tizen_surface_gl.cc: OnGetFBO(239) > OnApplicationGetOnscreenFBO
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/tizen_embedder_engine.cc: OnFlutterPlatformMessage(321) > flutter/platform
I/E20( 2285): INF<e>            src/bin/e_comp_wl.c:2807 EWL|                COMP|w:0x81c69170|ec:0x81d29920|Current unmapped. ATTACH buffer:0x81c5dbe0
I/E20( 2285): INF<e>            src/bin/e_comp_wl.c:2992 EWL|                COMP|w:0x81c69170|ec:0x81d29920|Current unmapped. COMMIT. pixmap_usable:0
I/E20( 2285): INF<e>            src/bin/e_comp_wl.c:2406 EWL|                COMP|w:0x81c69170|ec:0x81d29920|Unignore
I/E20( 2285): INF<e>             src/bin/e_client.c:0394 EWL|                COMP|w:0x81c69170|ec:0x81d29920|SEND E_EVENT_CLIENT_ADD event
I/E20( 2285): INF<e>            src/bin/e_comp_wl.c:2496 EWL|                COMP|w:0x81c69170|ec:0x81d29920|Buffer size is changed. size(720,1280)
I/E20( 2285): INF<e>            src/bin/e_comp_wl.c:2541 EWL|                COMP|w:0x81c69170|ec:0x81d29920|Try to map. Call shell.map.
I/E20( 2285): INF<e>      src/bin/e_comp_wl_shell.c:1421 EWL|               SHELL|w:0x81c69170|ec:0x81d29920|Map window  |win:0x81c69170|ec_size:720,1280|pid:8354|title:(null), name:(null)
I/E20( 2285): INF<e>      src/bin/e_comp_wl_shell.c:1427 EWL|               SHELL|w:0x81c69170|ec:0x81d29920|spash:0, first_mapped:0, iconic:0(client:0), raise:1, lower:0, ignore:0, override:0, input_only:0
I/E20( 2285): INF<e>        src/bin/e_comp_object.c:5714 EWL|                COMP|w:0x81c69170|ec:0x81d29920|is not visible yet. no need to unset
I/E20( 2285): INF<e>        src/bin/e_comp_object.c:2309 EWL|                COMP|w:0x81c69170|ec:0x81d29920|show_helper. intercepted
I/E20( 2285): INF<e>      src/bin/e_comp_wl_shell.c:0789 EWL|               SHELL|w:0x81c69170|ec:0x81d29920|raise called by post raise flag
I/E20( 2285): INF<e>  src/bin/e_policy_visibility.c:2261 VISIBILITY | Find and Cancel HIDE job... | ''(win:0x81c69170, ec:0x81d29920) RscID 49
I/E20( 2285): INF<e>  src/bin/e_policy_visibility.c:0754 VISIBILITY | Job Eval Begin
I/E20( 2285): INF<e>  src/bin/e_policy_visibility.c:0774 VISIBILITY | Job Eval End
I/E20( 2285): INF<e>  src/bin/e_policy_visibility.c:1244 EWL|             POL_VIS|w:0x81c69170|ec:0x81d29920|SEND pre-unobscured visibility event
I/E20( 2285): INF<e>          src/bin/e_policy_wl.c:1089 EWL|             POL_VIS|w:0x81c69170|ec:0x81d29920|SEND     |win:0x81c69170|res_tzvis:0x81c5dc90|ver:7|sent_vis:3|pid:8354|cdata:0x81cf0b80|title:(null), name:(null)
I/E20( 2285): INF<e>      src/bin/e_comp_wl_shell.c:0804 EWL|                COMP|w:0x81c69170|ec:0x81d29920|Un-Set launching flag
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:1236 EWL|          XDG6 <ERR>|w:0x81c69170|ec:0x81d29920|Could not handle TOPLEVEL prior to the first xdg_surface.configure
I/E20( 2285): INF<e>          src/bin/e_policy_wl.c:2568 EWL|               TZPOL|w:0x81c69170|ec:0x81d29920|Launchscreen effect type sync | pid (8354) effect_type (0)
I/E20( 2285): INF<e>          src/bin/e_policy_wl.c:2599 EWL|               TZPOL|            |             |Launchscreen effect type unset | pid (8354)
I/E20( 2285): INF<e>            src/bin/e_process.c:0072 EWL|             PROCESS|            |             |NEW process info(0x81d191f0). PID:8354
I/E20( 2285): INF<e>            src/bin/e_process.c:0113 EWL|             PROCESS|w:0x81c69170|ec:0x81d29920|append ec to process info(0x81d191f0). PID:8354
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:2623 Fetch Available|''(RcsID 49)
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:2634    cur 0 90 180 270
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:0211 EWL|            ROTATION|            |             |LOCK for app-hint
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:2083 EWL|            ROTATION|            |             |UnBLOCK_SET app hint:false
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:1121 EWL|            ROTATION|w:0x81c69170|ec:0x81d29920|   fg_ec:81c69170, bg_ec:(nil) CHECK (null)(0x81d29920) parent:(nil) vis:-1 argb:0 opaque:-1
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:1121 EWL|            ROTATION|w:0x81cb8e50|ec:0x81cac970|   fg_ec:81c69170, bg_ec:0x81d29920 CHECK org.tizen.homescreen-efl(0x81cac970) parent:(nil) vis:0 argb:0 opaque:-1
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:1156 EWL|            ROTATION|            |             |Do rotation of below ec under bg_ec org.tizen.homescreen-efl(0x81cac970)
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:1356 EWL|            ROTATION|            |             |zone active angle 270
I/E20( 2285): INF<e>        src/bin/e_comp_object.c:2309 EWL|                COMP|w:0x81c69170|ec:0x81d29920|show_helper. intercepted
I/E20( 2285): INF<e>             src/bin/e_client.c:5384 EWL|               FOCUS|w:0x81cb8e50|ec:0x81cac970|focus defer unset
I/E20( 2285): INF<e>             src/bin/e_client.c:3714 EWL|               FOCUS|w:0x81cb8e50|ec:0x81cac970|focus unset | focus calculate
I/E20( 2285): INF<e>             src/bin/e_client.c:5506 EWL|               FOCUS|            |             |CLIENT FOCUS_SET
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:1168 EWL|          XDG6 <LOG>|w:0x81cb8e50|ec:0x81cac970|Scheduling task to send configure TOPLEVEL edges 0 w 0 h 0
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:0467 EWL|          XDG6 <LOG>|w:0x81cb8e50|ec:0x81cac970|FORCELY STAY current size (720 1280) of E_Client, requested size is (0 0), the state (maximize 1, fullscreen 0)
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:0479 EWL|          XDG6 <LOG>|w:0x81cb8e50|ec:0x81cac970|Set pending state: edges 0 size (720 1280) state (f 0 m 1 r 0 a 0)
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:1185 EWL|          XDG6 <LOG>|w:0x81cb8e50|ec:0x81cac970|   SKIP Configuring state is same with current state
I/E20( 2285): INF<e>             src/bin/e_client.c:5384 EWL|               FOCUS|w:0x81cb8e50|ec:0x81cac970|focus defer unset
I/E20( 2285): INF<e>        src/bin/e_comp_object.c:2635 EWL|               FOCUS|w:0x81cb8e50|ec:0x81cac970|FOCUS UNSET | evas_object(0x8000e337) (frame:0x8000e337)
I/E20( 2285): INF<e-rot>   rotation/e_mod_rotation_wl.c:2215 EWL|            ROTATION|            |             |ZONE_ROT |wait_for_done:0->0
I/TDM( 2285): [ 1176.733011][2285][tdm_hwc_window_set_info 340]hwc_window(0x81cca950) info: src(720x1280 0,0 720x1280 AR24) dst(0,0 720x1280) trans(0)
I/TDM( 2285): [ 1176.733093][2285][drm_hwc_validate 593] ==============Validate=================================
I/TDM( 2285): [ 1176.733192][2285][_print_validate_result 165] window(0x81cb8c80) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
I/TDM( 2285): [ 1176.733223][2285][_print_validate_result 165] window(0x81cb03e0) DEVICE -> DEVICE : lzpos(0) -- {org.tizen.homescreen-efl}
I/TDM( 2285): [ 1176.733250][2285][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
E/TDM( 2285): [ 1176.733269][2285][_drm_hwc_layer_attach_window 240]'layer_data' failed
I/TDM( 2285): [ 1176.733388][2285][_drm_hwc_prepare_commit 310] lzpos(2) : SET
I/TDM( 2285): [ 1176.733424][2285][_drm_hwc_prepare_commit 310] lzpos(0) : SET
I/E20( 2285): INF<e>        e_mod_effect_rotation.c:0979 EWL|              EFFECT|            |             |Zone Rotation Cancelled
I/E20( 2285): INF<e>        e_mod_effect_rotation.c:0681 EWL|              EFFECT|            |             |Rotation Effect Clear
W/EFL( 2830): ecore_evas<2830> ../src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c:79 _ecore_evas_wl_common_engine_info_rotation_set() evas engine rotate: 270
I/E20( 2285): INF<e>          src/bin/e_policy_wl.c:6609 EWL|          TZ_APPINFO|            |             |cannot read size. pid:2830
I/E20( 2285): INF<e>          src/bin/e_policy_wl.c:6621 EWL|          TZ_APPINFO|            |             |send Output base_output_resolution size(0, 0) : pid(2830)
I/E20( 2285): INF<e>          src/bin/e_policy_wl.c:1304 EWL|               TZPOS|w:0x81c69170|ec:0x81d29920|SEND     |win:0x81c69170|res_tzpos:0x81d0f4c0|ec->x:0, ec->y:0, ec->client.x:0, ec->client.y:0
D/QUICKPANEL( 2830): quickpanel-ui.c: _ui_rotation_wm_cb(302) > ROTATE:270
D/QUICKPANEL( 2830): quickpanel-ui.c: _ui_rotate(354) > ROTATION: new:270 old:0
I/QUICKPANEL( 2830): sound-profile.c: _get_sound_status(65) > sound : 1, vibration : 0
I/QUICKPANEL( 2830): sound-profile.c: _view_update(165) > sound status : 0
E/QUICKPANEL( 2830): setting_utils.c: quickpanel_setting_icon_state_set(151) > icon:0x80013e03 state:1
D/QUICKPANEL( 2830): noti_listbox.c: quickpanel_noti_listbox_rotation(446) > items in listbox:2
D/QUICKPANEL( 2830): noti_listbox.c: quickpanel_noti_listbox_rotation(470) > listbox has been rotated to 270
I/QUICKPANEL( 2830): quickpanel-ui.c: _ui_handler_input_region_set(197) > window_input_region [0]: 0  [1]: 0  [2]: 72 [3]: 1280
D/QUICKPANEL( 2830): quickpanel-ui.c: _ui_handler_content_region_set(245) > window_contents_region [0]: 72  [1]: 0  [2]: 648 [3]: 1280
I/E20( 2285): INF<e> src/bin/services/e_service_qui:1384 EWL|          QUICKPANEL|            |             |Handler Geo Set | x 0, y 0, w 72, h 1280
I/E20( 2285): INF<e> src/bin/services/e_service_qui:1373 EWL|          QUICKPANEL|            |             |handler obj:0x80011b28, angle:3, geo(0,0,72,1280)
I/E20( 2285): INF<e> src/bin/services/e_service_qui:1459 EWL|          QUICKPANEL|            |             |indicator obj:0x8000daa6, angle:3, geo(648,0,72,1280)
I/E20( 2285): INF<e>            src/bin/e_comp_wl.c:2419 EWL|           TRANSFORM|w:0x81c9d870|ec:0x81c9dd70|buffer_transform changed: old(3) new(0)
E/EFL( 2830): elementary<2830> ../src/lib/elementary/elm_scroller.c:1451 elm_scroller_page_bring_in() The object (0x8000f5f0) doesn't implement the Elementary scrollable interface
W/WL_EGL( 2830): wayland-egl-tizen.c: wl_egl_window_tizen_set_buffer_transform(112) > wl_egl_window(0x821a1730) wl_output_transform(3) already rotated
W/WL_EGL( 2830): wayland-egl-tizen.c: wl_egl_window_tizen_set_window_transform(172) > wl_egl_window(0x821a1730) window_transform(3) already rotated
E/WLLOG( 8354): Thread added[0xb47d3db0, pid:8354 tid: 8408] to display:0x82194540, threads_cnt=2
D/APP_CORE_UI_BASE( 8354): appcore_ui_base.c: __update_win(430) > [EVENT_TEST][EVENT] __update_win WIN:1 visibility 1
D/APP_CORE_UI_BASE( 8354): appcore_ui_base.c: __check_visible(882) > [EVENT_TEST][EVENT] __check_visible
D/APP_CORE_UI_BASE( 8354): appcore_ui_base.c: __check_visible(886) > win : 1 visibility : 1
D/APP_CORE_UI_BASE( 8354): appcore_ui_base.c: appcore_ui_base_window_on_pre_visibility(966) > bvisibility 1, w_status 0
D/APP_CORE_UI_BASE( 8354): appcore_ui_base.c: appcore_ui_base_window_on_pre_visibility(968) >  Go to Resume state
D/LAUNCH( 8354): appcore_ui_base.c: __do_resume(328) > [com.example.input:Application:resume:start]
D/APP_CORE_UI_BASE( 8354): appcore_ui_base.c: __do_resume(330) > Call resume callback
W/CAPI_APPFW_APPLICATION( 8354): app_main.c: __ui_app_resume(136) > ui_app_resume
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/channels/lifecycle_channel.cc: AppIsResumed(37) > send app lifecycle state resumed.
D/LAUNCH( 8354): appcore_ui_base.c: __do_resume(334) > [com.example.input:Application:resume:done]
D/AUL( 8354): aul_sock.c: aul_sock_send_raw(552) > pid(-2): cmd(23)
D/AUL( 8354): aul_sock.c: aul_sock_send_raw_with_fd(501) > fd(135): cmd(23)
W/AMD( 2191): amd_request.c: __request_handler(946) > cyanra check. cmd(APP_STATUS_UPDATE:23), caller_pid(8354)
D/AMD_CYNARA_CORE( 2191): amd_cynara_core.c: __cynara_check_privilege(464) > No proper checker. Skip checking privileges (cmd = 23)
I/AMD( 2191): amd_request.c: __dispatch_request(559) > cmd(APP_STATUS_UPDATE:23), caller_pid(8354), caller_uid(5001), clifd(0)
D/ConsoleMessage( 8354): ../../flutter/shell/platform/tizen/tizen_embedder_engine.cc: OnFlutterPlatformMessage(321) > flutter/platform
I/TDM( 2285): [ 1176.775683][2285][drm_hwc_validate 593] ==============Validate=================================
I/TDM( 2285): [ 1176.775724][2285][_print_validate_result 165] window(0x81cb8c80) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
I/TDM( 2285): [ 1176.775742][2285][_print_validate_result 165] window(0x81cb03e0) DEVICE -> DEVICE : lzpos(0) -- {org.tizen.homescreen-efl}
I/TDM( 2285): [ 1176.775769][2285][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
E/TDM( 2285): [ 1176.775787][2285][_drm_hwc_layer_attach_window 240]'layer_data' failed
I/TDM( 2285): [ 1176.775804][2285][_drm_hwc_prepare_commit 310] lzpos(2) : SET
I/TDM( 2285): [ 1176.775820][2285][_drm_hwc_prepare_commit 310] lzpos(0) : SET
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:1236 EWL|          XDG6 <ERR>|w:0x81c69170|ec:0x81d29920|Could not handle TOPLEVEL prior to the first xdg_surface.configure
I/TDM( 2285): [ 1176.776527][2285][drm_hwc_validate 593] ==============Validate=================================
I/TDM( 2285): [ 1176.776564][2285][_print_validate_result 165] window(0x81cb8c80) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
I/TDM( 2285): [ 1176.776581][2285][_print_validate_result 165] window(0x81cb03e0) DEVICE -> DEVICE : lzpos(0) -- {org.tizen.homescreen-efl}
I/TDM( 2285): [ 1176.776606][2285][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
E/TDM( 2285): [ 1176.776624][2285][_drm_hwc_layer_attach_window 240]'layer_data' failed
I/TDM( 2285): [ 1176.776640][2285][_drm_hwc_prepare_commit 310] lzpos(2) : SET
I/TDM( 2285): [ 1176.776657][2285][_drm_hwc_prepare_commit 310] lzpos(0) : SET
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:1236 EWL|          XDG6 <ERR>|w:0x81c69170|ec:0x81d29920|Could not handle TOPLEVEL prior to the first xdg_surface.configure
I/TDM( 2285): [ 1176.791052][2285][drm_hwc_validate 593] ==============Validate=================================
I/TDM( 2285): [ 1176.791147][2285][_print_validate_result 165] window(0x81cb8c80) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
I/TDM( 2285): [ 1176.791188][2285][_print_validate_result 165] window(0x81cb03e0) DEVICE -> DEVICE : lzpos(0) -- {org.tizen.homescreen-efl}
I/TDM( 2285): [ 1176.791230][2285][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
E/TDM( 2285): [ 1176.791258][2285][_drm_hwc_layer_attach_window 240]'layer_data' failed
I/TDM( 2285): [ 1176.791415][2285][_drm_hwc_prepare_commit 310] lzpos(2) : SET
I/TDM( 2285): [ 1176.791438][2285][_drm_hwc_prepare_commit 310] lzpos(0) : SET
I/E20( 2285): INF<e>       src/bin/e_xdg_shell_v6.c:1236 EWL|          XDG6 <ERR>|w:0x81c69170|ec:0x81d29920|Could not handle TOPLEVEL prior to the first xdg_surface.configure
I/TDM( 2285): [ 1176.820878][2285][drm_hwc_validate 593] ==============Validate=================================
I/TDM( 2285): [ 1176.820920][2285][_print_validate_result 165] window(0x81cb8c80) CURSOR -> CURSOR : lzpos(2) -- {Cursor}
I/TDM( 2285): [ 1176.821062][2285][_print_validate_result 165] window(0x81cb03e0) DEVICE -> DEVICE : lzpos(0) -- {org.tizen.homescreen-efl}
I/TDM( 2285): [ 1176.821095][2285][drm_hwc_accept_validation 649] ==============Accept Changes Done=================================
E/TDM( 2285): [ 1176.821157][2285][_drm_hwc_layer_attach_window 240]'layer_data' failed
I/TDM( 2285): [ 1176.821182][2285][_drm_hwc_prepare_commit 310] lzpos(2) : SET
I/TDM( 2285): [ 1176.821240][2285][_drm_hwc_prepare_commit 310] lzpos(0) : SET

@bbrto21
Copy link
Author

bbrto21 commented Jan 7, 2021

@xiaowei-guan Does the commit of TDM affect directly to update screen?

@bbrto21
Copy link
Author

bbrto21 commented Jan 7, 2021

I have made some progress. It can be solved partially by setting the value for the hint below to 1.

wm.policy.win.rot.render.nopending

I haven't found a guide on why to use this, but I was just inspired by reading the code of e-mod-tizen-wm-policy, and I didn't analyze it particularly deeply.

This fixes partially the problem of screen not updating, but still needs some improvement.

  • If you start the app with the device rotated, the screen still does not update
  • We need a callback for the end of the rotation animation.
  • The screen should be resized properly depending on the keyboard location.

@bbrto21
Copy link
Author

bbrto21 commented Jan 8, 2021

  • If you start the app with the device rotated, the screen still does not update

I think that it can be solved by setting the available rotations when receiving ECORE_WL2_EVENT_WINDOW_ACTIVATE.

@bbrto21
Copy link
Author

bbrto21 commented Jan 12, 2021

I have to do something other than Flutter-Tizen for a while. If anyone is interested, please take a look

@bbrto21
Copy link
Author

bbrto21 commented Feb 3, 2021

Resolved by #28

@bbrto21 bbrto21 closed this as completed Feb 3, 2021
@swift-kim swift-kim removed help wanted Extra attention is needed question Further information is requested labels Aug 8, 2022
swift-kim pushed a commit that referenced this issue Sep 1, 2022
Also adds missing RHS operator overloads for TSize.

For any algebraic ops involving TPoint and TSize:
1. `TPoint` takes precedent over `TSize`.
2. Floating point types take precedent over integer types.
3. If there's a tie (for example: `TPoint<int> + TPoint<long long>`),
   the LHS takes precedent.
JSUYA pushed a commit to JSUYA/engine that referenced this issue Aug 23, 2024
The culprit test asks different threads to access some stack variables, but the stack might return earlier than the threads' completion. This PR fixes it by adding latches.

This test, despite being possibly fine for now, consistently triggers the following asan error when I make some unrelated trivial changes.

The thrown error:
<details>
<pre>
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from EmbedderTest
[ RUN      ] EmbedderTest.EmbedderThreadHostUseCustomThreadConfig
=================================================================
==14398==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00031833b530 at pc 0x00013248d543 bp 0x000318740390 sp 0x00031873fb58
WRITE of size 4 at 0x00031833b530 thread T2
    #0 0x13248d542 in pthread_getschedparam+0x3d2 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542)
    flutter-tizen#1 0x100577671 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0::operator()() const+0x1a1 (embedder_unittests:x86_64+0x10030b671)
    flutter-tizen#2 0x1005774a2 in decltype(std::declval<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>()()) std::_fl::__invoke[abi:v15000]<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b4a2)
    flutter-tizen#3 0x100577402 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&>(flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0&)+0x22 (embedder_unittests:x86_64+0x10030b402)
    flutter-tizen#4 0x1005773ba in std::_fl::__function::__alloc_func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x10030b3ba)
    flutter-tizen#5 0x1005734f6 in std::_fl::__function::__func<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0, std::_fl::allocator<flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x1003074f6)
    flutter-tizen#6 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
    flutter-tizen#7 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
    flutter-tizen#8 0x100c229dc in fml::MessageLoopImpl::FlushTasks(fml::FlushType)+0x37c (embedder_unittests:x86_64+0x1009b69dc)
    flutter-tizen#9 0x100c22577 in fml::MessageLoopImpl::RunExpiredTasksNow()+0x27 (embedder_unittests:x86_64+0x1009b6577)
    flutter-tizen#10 0x100c8aa2f in fml::MessageLoopDarwin::OnTimerFire(__CFRunLoopTimer*, fml::MessageLoopDarwin*)+0x2f (embedder_unittests:x86_64+0x100a1ea2f)
    flutter-tizen#11 0x7ff817b54508 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__+0x13 (CoreFoundation:x86_64+0x97508)
    flutter-tizen#12 0x7ff817b540b8 in __CFRunLoopDoTimer+0x310 (CoreFoundation:x86_64+0x970b8)
    flutter-tizen#13 0x7ff817b53ce9 in __CFRunLoopDoTimers+0x11c (CoreFoundation:x86_64+0x96ce9)
    flutter-tizen#14 0x7ff817b380ac in __CFRunLoopRun+0x83b (CoreFoundation:x86_64+0x7b0ac)
    flutter-tizen#15 0x7ff817b372a8 in CFRunLoopRunSpecific+0x22c (CoreFoundation:x86_64+0x7a2a8)
    flutter-tizen#16 0x100c8b155 in fml::MessageLoopDarwin::Run()+0x305 (embedder_unittests:x86_64+0x100a1f155)
    flutter-tizen#17 0x100c223d0 in fml::MessageLoopImpl::DoRun()+0x150 (embedder_unittests:x86_64+0x1009b63d0)
    flutter-tizen#18 0x100c1f1fa in fml::MessageLoop::Run()+0x2a (embedder_unittests:x86_64+0x1009b31fa)
    flutter-tizen#19 0x100c7baa4 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0::operator()() const+0x194 (embedder_unittests:x86_64+0x100a0faa4)
    flutter-tizen#20 0x100c7b8e2 in decltype(std::declval<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>()()) std::_fl::__invoke[abi:v15000]<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f8e2)
    flutter-tizen#21 0x100c7b842 in void std::_fl::__invoke_void_return_wrapper<void, true>::__call<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&)+0x22 (embedder_unittests:x86_64+0x100a0f842)
    flutter-tizen#22 0x100c7b7fa in std::_fl::__function::__alloc_func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()[abi:v15000]()+0x2a (embedder_unittests:x86_64+0x100a0f7fa)
    flutter-tizen#23 0x100c77ad6 in std::_fl::__function::__func<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0, std::_fl::allocator<fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>, void ()>::operator()()+0x26 (embedder_unittests:x86_64+0x100a0bad6)
    flutter-tizen#24 0x10066a525 in std::_fl::__function::__value_func<void ()>::operator()[abi:v15000]() const+0x105 (embedder_unittests:x86_64+0x1003fe525)
    flutter-tizen#25 0x10066a3f2 in std::_fl::function<void ()>::operator()() const+0x22 (embedder_unittests:x86_64+0x1003fe3f2)
    flutter-tizen#26 0x100c75388 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::operator()(void*) const+0xe8 (embedder_unittests:x86_64+0x100a09388)
    flutter-tizen#27 0x100c75227 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)::$_0::__invoke(void*)+0xc7 (embedder_unittests:x86_64+0x100a09227)
    flutter-tizen#28 0x1324b3e76 in asan_thread_start(void*)+0x46 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x52e76)
    flutter-tizen#29 0x7ff817a5c18a in _pthread_start+0x62 (libsystem_pthread.dylib:x86_64+0x618a)
    flutter-tizen#30 0x7ff817a57ae2 in thread_start+0xe (libsystem_pthread.dylib:x86_64+0x1ae2)

Address 0x00031833b530 is located in stack of thread T0 at offset 144 in frame
    #0 0x1002d051f in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0xf (embedder_unittests:x86_64+0x10006451f)

  This frame has 12 object(s):
    [32, 40) 'thread_host' (line 3445)
    [64, 112) 'ref.tmp' (line 3446)
    [144, 148) 'ui_policy' (line 3449) <== Memory access at offset 144 is inside this variable
    [160, 168) 'ui_param' (line 3450)
    [192, 200) 'ref.tmp2' (line 3452)
    [224, 272) 'ref.tmp5' (line 3452)
    [304, 320) 'agg.tmp'
    [336, 340) 'io_policy' (line 3458)
    [352, 360) 'io_param' (line 3459)
    [384, 392) 'ref.tmp6' (line 3460)
    [416, 464) 'ref.tmp10' (line 3460)
    [496, 512) 'agg.tmp11'
HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork
      (longjmp and C++ exceptions *are* supported)
SUMMARY: AddressSanitizer: stack-use-after-scope (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x2c542) in pthread_getschedparam+0x3d2
Shadow bytes around the buggy address:
  0x00031833b280: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b300: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b380: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b400: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b480: 00 00 00 00 f1 f1 f1 f1 00 f2 f2 f2 f8 f8 f8 f8
=>0x00031833b500: f8 f8 f2 f2 f2 f2[f8]f2 f8 f2 f2 f2 f8 f2 f2 f2
  0x00031833b580: f8 f8 f8 f8 f8 f8 f2 f2 f2 f2 00 00 f2 f2 f8 f2
  0x00031833b600: f8 f2 f2 f2 f8 f2 f2 f2 f8 f8 f8 f8 f8 f8 f2 f2
  0x00031833b680: f2 f2 00 00 f3 f3 f3 f3 00 00 00 00 00 00 00 00
  0x00031833b700: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x00031833b780: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:       fa
  Freed heap region:       fd
  Stack left redzone:      f1
  Stack mid redzone:       f2
  Stack right redzone:     f3
  Stack after return:      f5
  Stack use after scope:   f8
  Global redzone:          f9
  Global init order:       f6
  Poisoned by user:        f7
  Container overflow:      fc
  Array cookie:            ac
  Intra object redzone:    bb
  ASan internal:           fe
  Left alloca redzone:     ca
  Right alloca redzone:    cb
Thread T2 created by T0 here:
    #0 0x1324ae92d in pthread_create+0x5d (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x4d92d)
    flutter-tizen#1 0x100c73901 in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x401 (embedder_unittests:x86_64+0x100a07901)
    flutter-tizen#2 0x100c73cca in fml::ThreadHandle::ThreadHandle(std::_fl::function<void ()>&&)+0x2a (embedder_unittests:x86_64+0x100a07cca)
    flutter-tizen#3 0x100c748c9 in std::_fl::__unique_if<fml::ThreadHandle>::__unique_single std::_fl::make_unique[abi:v15000]<fml::ThreadHandle, fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0>(fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)::$_0&&)+0x149 (embedder_unittests:x86_64+0x100a088c9)
    flutter-tizen#4 0x100c74335 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x255 (embedder_unittests:x86_64+0x100a08335)
    flutter-tizen#5 0x100c746b2 in fml::Thread::Thread(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig const&)+0x32 (embedder_unittests:x86_64+0x100a086b2)
    flutter-tizen#6 0x106ee0b1a in std::_fl::__unique_if<fml::Thread>::__unique_single std::_fl::make_unique[abi:v15000]<fml::Thread, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&>(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&, fml::Thread::ThreadConfig&)+0x4a (embedder_unittests:x86_64+0x106c74b1a)
    flutter-tizen#7 0x106ee08e8 in flutter::ThreadHost::CreateThread(flutter::ThreadHost::Type, std::_fl::optional<fml::Thread::ThreadConfig>, flutter::ThreadHost::ThreadHostConfig const&) const+0x1b8 (embedder_unittests:x86_64+0x106c748e8)
    flutter-tizen#8 0x106ee1466 in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2f6 (embedder_unittests:x86_64+0x106c75466)
    flutter-tizen#9 0x106ee19ca in flutter::ThreadHost::ThreadHost(flutter::ThreadHost::ThreadHostConfig const&)+0x2a (embedder_unittests:x86_64+0x106c759ca)
    flutter-tizen#10 0x100b6f730 in flutter::EmbedderThreadHost::CreateEngineManagedThreadHost(std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0x3a0 (embedder_unittests:x86_64+0x100903730)
    flutter-tizen#11 0x100b6e51c in flutter::EmbedderThreadHost::CreateEmbedderOrEngineManagedThreadHost(FlutterCustomTaskRunners const*, std::_fl::function<void (fml::Thread::ThreadConfig const&)> const&)+0xcc (embedder_unittests:x86_64+0x10090251c)
    flutter-tizen#12 0x1002d0748 in flutter::testing::EmbedderTest_EmbedderThreadHostUseCustomThreadConfig_Test::TestBody()+0x238 (embedder_unittests:x86_64+0x100064748)
    flutter-tizen#13 0x1089ce93b in void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10876293b)
    flutter-tizen#14 0x108955bdf in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*)+0x2cf (embedder_unittests:x86_64+0x1086e9bdf)
    flutter-tizen#15 0x108955755 in testing::Test::Run()+0x3a5 (embedder_unittests:x86_64+0x1086e9755)
    flutter-tizen#16 0x108957b23 in testing::TestInfo::Run()+0x593 (embedder_unittests:x86_64+0x1086ebb23)
    flutter-tizen#17 0x10895a8f2 in testing::TestSuite::Run()+0x6e2 (embedder_unittests:x86_64+0x1086ee8f2)
    flutter-tizen#18 0x108977d7a in testing::internal::UnitTestImpl::RunAllTests()+0xb9a (embedder_unittests:x86_64+0x10870bd7a)
    flutter-tizen#19 0x1089ee88b in bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x21b (embedder_unittests:x86_64+0x10878288b)
    flutter-tizen#20 0x1089770ac in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*)+0x2cc (embedder_unittests:x86_64+0x10870b0ac)
    flutter-tizen#21 0x108976c3b in testing::UnitTest::Run()+0x28b (embedder_unittests:x86_64+0x10870ac3b)
    flutter-tizen#22 0x1083e45e2 in RUN_ALL_TESTS()+0x22 (embedder_unittests:x86_64+0x1081785e2)
    flutter-tizen#23 0x1083e43c8 in main+0x6e8 (embedder_unittests:x86_64+0x1081783c8)
    flutter-tizen#24 0x213ff0365  (<unknown module>)

==14398==ABORTING
[1]    14398 abort      ../out/host_debug_unopt/embedder_unittests 
</pre>
</details>

The changes I made (isolated from a larger change, therefore it doesn't seem reasonable by itself):
```diff
 // shell/common/platform_view.cc, L33

 void PlatformView::DispatchPointerDataPacket(
     std::unique_ptr<PointerDataPacket> packet) {
-  delegate_.OnPlatformViewDispatchPointerDataPacket(
-      pointer_data_packet_converter_.Convert(std::move(packet)));
+  delegate_.OnPlatformViewDispatchPointerDataPacket(std::move(packet));
 }
```

Base engine rev: de2a73c

Environment: Macbook with M1 Max Chip, OS 14.4.1

Compiling with:
```
./engine/src/flutter/tools/gn --goma --unoptimized --asan --xcode-symlinks
./depot_tools/ninja -j200 -C ./engine/src/out/host_debug_unopt
./out/host_debug_unopt/embedder_unittests
```

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants