Skip to content

TizenRendererEgl: Use AnyCast() to cast to tbm_surface_queue#10

Merged
JSUYA merged 1 commit intoflutter-tizen:masterfrom
JSUYA:dev/use_anycast
Nov 29, 2022
Merged

TizenRendererEgl: Use AnyCast() to cast to tbm_surface_queue#10
JSUYA merged 1 commit intoflutter-tizen:masterfrom
JSUYA:dev/use_anycast

Conversation

@JSUYA
Copy link
Copy Markdown
Member

@JSUYA JSUYA commented Nov 25, 2022

Previously, there was a problem using Dali::AnyCast() due to libcxx issues.
The embedder has been migrated not to use flutter's libcxx(use_flutter_cxx option)
Therefore, there is no need to directly access the implementation of container of Dali::Any.
So it changed to cast to tbm_surface_queue_h using Dali::AnyCast().

Previously, there was a problem using Dali::AnyCast() due to libcxx issues.
The embedder has been migrated not to use flutter's libcxx(use_flutter_cxx option)
Therefore, there is no need to directly access the implementation of container of Dali::Any.
So it changed to cast to tbm_surface_queue_h using Dali::AnyCast().
@JSUYA
Copy link
Copy Markdown
Member Author

JSUYA commented Nov 25, 2022

@JSUYA JSUYA merged commit c71260b into flutter-tizen:master Nov 29, 2022
@JSUYA JSUYA deleted the dev/use_anycast branch March 6, 2026 08:01
JSUYA added a commit to JSUYA/embedder that referenced this pull request Mar 6, 2026
Based on BT, two issues can be expected.
First, a problem could occur in vconf when calling the setting getter while the system is not fully initialized. Alternatively, a deadlock could occur on the same conf when calling the setting getter after registering the changed callback.

Since this issue did not occur after a reboot or subsequent routines, it is likely a timing issue due to the callback rather than an initialization issue. Therefore, the problem can be prevented by calling the setting getter before registering the changed callback.

```
crash dump

 (gdb) bt
 #0  0x0000ffff94a13524 in __GI___poll (fds=0xfffff49d3830, nfds=1,
     timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
 #1  0x0000ffff938f44e8 in ?? () from /lib64/libbuxton2.so.1
 flutter-tizen#2  0x0000ffff938f6ac0 in buxton_get_value_sync () from /lib64/libbuxton2.so.1
 flutter-tizen#3  0x0000ffff93703af8 in ?? () from /lib64/libvconf.so.0
 flutter-tizen#4  0x0000ffff937052c4 in vconf_get_int () from /lib64/libvconf.so.0
 flutter-tizen#5  0x0000ffff8c1b9604 in ?? () from /lib64/libcapi-system-system-settings.so.0
 flutter-tizen#6  0x0000ffff8c1b390c in system_settings_get_value_int ()
    from /lib64/libcapi-system-system-settings.so.0
 flutter-tizen#7  0x0000ffff8c2ec3d0 in ?? ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#8  0x0000ffff8c2ec330 in ?? ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#9  0x0000ffff8c2f538c in ?? ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#10 0x0000ffff8c2f3d70 in FlutterDesktopViewCreateFromNewWindow ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#11 0x0000ffff94fd8ff4 in ?? () from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#12 0x0000ffff94fd8df0 in ?? () from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#13 0x0000ffff918b3df8 in ?? () from /usr/lib64/libcapi-appfw-application.so.0
 flutter-tizen#14 0x0000ffff919efc6c in tizen_cpp::AppCoreBase::Init(int, char**) ()
    from /lib64/libapp-core-cpp.so.1
 flutter-tizen#15 0x0000ffff919efd24 in tizen_cpp::AppCoreBase::Run(int, char**) ()
    from /lib64/libapp-core-cpp.so.1
 flutter-tizen#16 0x0000ffff91a34bdc in tizen_cpp::AppCoreUiBase::DoRun(int, char**) ()
    from /lib64/libapp-core-ui-cpp.so.1
 flutter-tizen#17 0x0000ffff91a34f4c in tizen_cpp::AppCoreUiBase::Impl::Run(int, char**) ()
    from /lib64/libapp-core-ui-cpp.so.1
 flutter-tizen#18 0x0000ffff918b3fa8 in ui_app_main ()
    from /usr/lib64/libcapi-appfw-application.so.0
 flutter-tizen#19 0x0000ffff94fd93a0 in ?? () from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#20 0x0000ffff94fd8a8c in main ()
    from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#21 0x0000aaaae7065bac in launchpad::loader::LaunchpadLoader::OnTerminate(int, char**) ()
 flutter-tizen#22 0x0000ffff94e2a030 in launchpad_loader_main ()
    from /lib64/liblaunchpad.so.0
 flutter-tizen#23 0x0000aaaae7063b58 in launchpad::loader::LaunchpadLoader::Run() ()
 flutter-tizen#24 0x0000aaaae7063500 in main ()
```
JSUYA added a commit to JSUYA/embedder that referenced this pull request Mar 6, 2026
Based on BT, two issues can be expected.
First, a problem could occur in vconf when calling the setting getter while the system is not fully initialized. Alternatively, a deadlock could occur on the same conf when calling the setting getter after registering the changed callback.

Since this issue did not occur after a reboot or subsequent routines, it is likely a timing issue due to the callback rather than an initialization issue. Therefore, the problem can be prevented by calling the setting getter before registering the changed callback.

```
crash dump

 (gdb) bt
 #0  0x0000ffff94a13524 in __GI___poll (fds=0xfffff49d3830, nfds=1,
     timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
 #1  0x0000ffff938f44e8 in ?? () from /lib64/libbuxton2.so.1
 flutter-tizen#2  0x0000ffff938f6ac0 in buxton_get_value_sync () from /lib64/libbuxton2.so.1
 flutter-tizen#3  0x0000ffff93703af8 in ?? () from /lib64/libvconf.so.0
 flutter-tizen#4  0x0000ffff937052c4 in vconf_get_int () from /lib64/libvconf.so.0
 flutter-tizen#5  0x0000ffff8c1b9604 in ?? () from /lib64/libcapi-system-system-settings.so.0
 flutter-tizen#6  0x0000ffff8c1b390c in system_settings_get_value_int ()
    from /lib64/libcapi-system-system-settings.so.0
 flutter-tizen#7  0x0000ffff8c2ec3d0 in ?? ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#8  0x0000ffff8c2ec330 in ?? ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#9  0x0000ffff8c2f538c in ?? ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#10 0x0000ffff8c2f3d70 in FlutterDesktopViewCreateFromNewWindow ()
    from /usr/apps/org.tizen.homescreen/bin/../lib/libflutter_tizen_common.so
 flutter-tizen#11 0x0000ffff94fd8ff4 in ?? () from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#12 0x0000ffff94fd8df0 in ?? () from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#13 0x0000ffff918b3df8 in ?? () from /usr/lib64/libcapi-appfw-application.so.0
 flutter-tizen#14 0x0000ffff919efc6c in tizen_cpp::AppCoreBase::Init(int, char**) ()
    from /lib64/libapp-core-cpp.so.1
 flutter-tizen#15 0x0000ffff919efd24 in tizen_cpp::AppCoreBase::Run(int, char**) ()
    from /lib64/libapp-core-cpp.so.1
 flutter-tizen#16 0x0000ffff91a34bdc in tizen_cpp::AppCoreUiBase::DoRun(int, char**) ()
    from /lib64/libapp-core-ui-cpp.so.1
 flutter-tizen#17 0x0000ffff91a34f4c in tizen_cpp::AppCoreUiBase::Impl::Run(int, char**) ()
    from /lib64/libapp-core-ui-cpp.so.1
 flutter-tizen#18 0x0000ffff918b3fa8 in ui_app_main ()
    from /usr/lib64/libcapi-appfw-application.so.0
 flutter-tizen#19 0x0000ffff94fd93a0 in ?? () from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#20 0x0000ffff94fd8a8c in main ()
    from /usr/apps/org.tizen.homescreen/bin/runner
 flutter-tizen#21 0x0000aaaae7065bac in launchpad::loader::LaunchpadLoader::OnTerminate(int, char**) ()
 flutter-tizen#22 0x0000ffff94e2a030 in launchpad_loader_main ()
    from /lib64/liblaunchpad.so.0
 flutter-tizen#23 0x0000aaaae7063b58 in launchpad::loader::LaunchpadLoader::Run() ()
 flutter-tizen#24 0x0000aaaae7063500 in main ()
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants