Page MenuHomePhabricator

Does fileselector work?
Open, Incoming QueuePublic

Description

Possibly related to T7311.

I have encountered serious problems with elm_fileselector elm_fileselector_button and elm_fileselector_entry with EFL 1.22.4 and 1.22.5 (maybe not limited to). The efl's master doesn't compile with meson on my linux (quite old ubuntu) so I can't test on beta. Were the bellow issues spotted/fixed in 1.23?

  1. On windows fileselector button opens fs window which works very slow and it never calls "file,chosen" callback. Entire app crashes after sometime. On linux fileselector button crashes the app on button click
  1. Fileselector entry crashes on button click. It does not crash on entry but does nothing.
  1. Manually created fileselector opens and crashes if you click Home button. It crashes immediately if we setup it with elm_fileselector_path_set.

Backtraces are attached bellow (backtraces of elementary examples).

Backtrace of fileselector_button_example.c (after button click):

#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7fd891f61940 (LWP 8019))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007fd8909fcf5d in __GI_abort () at abort.c:90
#2 0x00007fd890a4528d in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7fd890b6aa26 "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:181
#3 0x00007fd890aeb811 in __GI___fortify_fail_abort (need_backtrace=need_backtrace@entry=false, msg=msg@entry=0x7fd890b6aa0e "stack smashing detected") at fortify_fail.c:33
#4 0x00007fd890aeb7d2 in __stack_chk_fail () at stack_chk_fail.c:29
#5 0x00007fd8910084ef in _efl_composite_model_efl_ui_view_model_set (obj=<optimized out>, pd=<optimized out>, model=<optimized out>) at lib/ecore/efl_composite_model.c:207
#6 0x00007fd88fe7c00f in efl_ui_view_model_set (obj=obj@entry=0x4000000300e7, model=model@entry=0x40000002f151) at ../src/lib/efl/interfaces/efl_ui_view.eo.c:1
#7 0x00007fd8917dd5b9 in _populate (obj=obj@entry=0x400000153de5, model=0x40000002f151, parent_it=parent_it@entry=0x0, selected=selected@entry=0x0) at lib/elementary/elc_fileselector.c:1040
#8 0x00007fd8917de431 in _elm_fileselector_elm_interface_fileselector_selected_model_set (obj=0x400000153de5, pd=0x55918a2914f0, model=<optimized out>) at lib/elementary/elc_fileselector.c:2556
#9 0x00007fd8918ec3bf in elm_interface_fileselector_selected_model_set (obj=0x400000153de5, model=0x40000002f151) at lib/elementary/elm_interface_fileselector_eo.c:164
#10 0x00007fd8917e0b2b in _activate (sd=0x55918a174170) at lib/elementary/elc_fileselector_button.c:166
#11 _button_clicked (data=0x55918a174170, obj=<optimized out>, event_info=<optimized out>) at lib/elementary/elc_fileselector_button.c:189
#12 0x00007fd8900e065f in _event_callback_call (legacy_compare=1 '\001', event_info=<optimized out>, desc=<optimized out>, pd=0x55918a173d30, obj_id=0x40000002a53e) at lib/eo/eo_base_class.c:1704
#13 _efl_object_event_callback_legacy_call (obj_id=0x40000002a53e, pd=0x55918a173d30, desc=<optimized out>, event_info=<optimized out>) at lib/eo/eo_base_class.c:1777
#14 0x00007fd8900da3c7 in efl_event_callback_legacy_call (obj=0x40000002a53e, desc=0x55918a189970, event_info=0x0) at lib/eo/eo_base_class.c:1780
#15 0x00007fd88f5ad7ea in edje_match_callback_exec_check_finals (prop=<optimized out>, ed=0x55918a1744e0, source=0xaaaaaaaaaaaaaaab <error: Cannot access memory at address 0xaaaaaaaaaaaaaaab>, sig=0x55918a1c7ed0 "\002",
source_states=<optimized out>, signal_states=<optimized out>, matches=<optimized out>, ssp=0x55918a1c7ed0) at lib/edje/edje_match.c:559
#16 edje_match_callback_exec (ssp=ssp@entry=0x55918a1c7ed0, matches=<optimized out>, sig=sig@entry=0x55918a17240c "elm,action,click", source=source@entry=0x55918a01ea90 "elm", ed=ed@entry=0x55918a1744e0, prop=prop@entry=0 '\000')
at lib/edje/edje_match.c:714
#17 0x00007fd88f5b4e2c in _edje_emit_cb (prop=0 '\000', data=0x55918a011e60, src=0x55918a01ea90 "elm", sig=0x55918a17240c "elm,action,click", ed=0x55918a1744e0) at lib/edje/edje_program.c:1651
#18 _edje_emit_handle (ed=0x55918a1744e0, sig=0x55918a17240c "elm,action,click", src=0x55918a01ea90 "elm", sdata=0x55918a011e60, prop=0 '\000') at lib/edje/edje_program.c:1593
#19 0x00007fd88f5af33f in _edje_message_queue_process () at lib/edje/edje_message_queue.c:886
#20 0x00007fd88f5af4f9 in _edje_message_queue_process () at lib/edje/edje_message_queue.c:852
#21 _edje_job (data=<optimized out>) at lib/edje/edje_message_queue.c:260
#22 0x00007fd890fe0b4b in _ecore_job_event_handler (data=<optimized out>, type=<optimized out>, ev=<optimized out>) at lib/ecore/ecore_job.c:95
#23 0x00007fd890fe6599 in _ecore_event_message_handler_efl_loop_message_handler_message_call (obj=0x400000000c98, pd=0x559189ce8e90, message=0x400000138978) at lib/ecore/ecore_event_message_handler.c:362
#24 0x00007fd890ff1c9f in efl_loop_message_handler_message_call (obj=0x400000000c98, message=0x400000138978) at lib/ecore/efl_loop_message_handler.eo.c:14
#25 0x00007fd890feb3f9 in _efl_loop_message_process (obj=<optimized out>, pd=0x559189ce1470) at lib/ecore/efl_loop.c:594
#26 0x00007fd890fea207 in efl_loop_message_process (obj=obj@entry=0x400000000095) at lib/ecore/efl_loop.c:624
#27 0x00007fd890fe2dcc in _ecore_main_loop_iterate_internal (obj=obj@entry=0x400000000095, pd=pd@entry=0x559189ce1470, once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2483
#28 0x00007fd890fe35ed in _ecore_main_loop_begin (obj=0x400000000095, pd=pd@entry=0x559189ce1470) at lib/ecore/ecore_main.c:1194
#29 0x00007fd890feb329 in _efl_loop_begin (obj=<optimized out>, pd=0x559189ce1470) at lib/ecore/efl_loop.c:57
#30 0x00007fd890fea4b7 in efl_loop_begin (obj=0x400000000095) at lib/ecore/efl_loop.eo.c:28
#31 0x00007fd890fe36b7 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1277
#32 0x0000559189850bff in elm_main ()
#33 0x0000559189850c48 in main ()

Backtrace of fileselector_entry_example.c (after button click):

Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f9838848940 (LWP 8092))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f98372e3f5d in __GI_abort () at abort.c:90
#2 0x00007f983732c28d in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f9837451a26 "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:181
#3 0x00007f98373d2811 in __GI___fortify_fail_abort (need_backtrace=need_backtrace@entry=false, msg=msg@entry=0x7f9837451a0e "stack smashing detected") at fortify_fail.c:33
#4 0x00007f98373d27d2 in __stack_chk_fail () at stack_chk_fail.c:29
#5 0x00007f98378ef4ef in _efl_composite_model_efl_ui_view_model_set (obj=<optimized out>, pd=<optimized out>, model=<optimized out>) at lib/ecore/efl_composite_model.c:207
#6 0x00007f983676300f in efl_ui_view_model_set (obj=obj@entry=0x40000014f174, model=model@entry=0x40000009375c) at ../src/lib/efl/interfaces/efl_ui_view.eo.c:1
#7 0x00007f98380c45b9 in _populate (obj=obj@entry=0x4000000a1a73, model=0x40000009375c, parent_it=parent_it@entry=0x0, selected=selected@entry=0x0) at lib/elementary/elc_fileselector.c:1040
#8 0x00007f98380c5431 in _elm_fileselector_elm_interface_fileselector_selected_model_set (obj=0x4000000a1a73, pd=0x557a4c6735c0, model=<optimized out>) at lib/elementary/elc_fileselector.c:2556
#9 0x00007f98381d33bf in elm_interface_fileselector_selected_model_set (obj=0x4000000a1a73, model=0x40000009375c) at lib/elementary/elm_interface_fileselector_eo.c:164
#10 0x00007f98380c7b2b in _activate (sd=0x557a4c4e1190) at lib/elementary/elc_fileselector_button.c:166
#11 _button_clicked (data=0x557a4c4e1190, obj=<optimized out>, event_info=<optimized out>) at lib/elementary/elc_fileselector_button.c:189
#12 0x00007f98369c765f in _event_callback_call (legacy_compare=1 '\001', event_info=<optimized out>, desc=<optimized out>, pd=0x557a4c4e0d50, obj_id=0x40000002b2ea) at lib/eo/eo_base_class.c:1704
#13 _efl_object_event_callback_legacy_call (obj_id=0x40000002b2ea, pd=0x557a4c4e0d50, desc=<optimized out>, event_info=<optimized out>) at lib/eo/eo_base_class.c:1777
#14 0x00007f98369c13c7 in efl_event_callback_legacy_call (obj=0x40000002b2ea, desc=0x557a4c4fcaa0, event_info=0x0) at lib/eo/eo_base_class.c:1780
#15 0x00007f9835e947ea in edje_match_callback_exec_check_finals (prop=<optimized out>, ed=0x557a4c4e1500, source=0xaaaaaaaaaaaaaaab <error: Cannot access memory at address 0xaaaaaaaaaaaaaaab>, sig=0x557a4c605300 "\002",
source_states=<optimized out>, signal_states=<optimized out>, matches=<optimized out>, ssp=0x557a4c605300) at lib/edje/edje_match.c:559
#16 edje_match_callback_exec (ssp=ssp@entry=0x557a4c605300, matches=<optimized out>, sig=sig@entry=0x557a4c4d76ec "elm,action,click", source=source@entry=0x557a4c3881b0 "elm", ed=ed@entry=0x557a4c4e1500, prop=prop@entry=0 '\000')
at lib/edje/edje_match.c:714
#17 0x00007f9835e9be2c in _edje_emit_cb (prop=0 '\000', data=0x557a4c53e2b0, src=0x557a4c3881b0 "elm", sig=0x557a4c4d76ec "elm,action,click", ed=0x557a4c4e1500) at lib/edje/edje_program.c:1651
#18 _edje_emit_handle (ed=0x557a4c4e1500, sig=0x557a4c4d76ec "elm,action,click", src=0x557a4c3881b0 "elm", sdata=0x557a4c53e2b0, prop=0 '\000') at lib/edje/edje_program.c:1593
#19 0x00007f9835e9633f in _edje_message_queue_process () at lib/edje/edje_message_queue.c:886
#20 0x00007f9835e964f9 in _edje_message_queue_process () at lib/edje/edje_message_queue.c:852
#21 _edje_job (data=<optimized out>) at lib/edje/edje_message_queue.c:260
#22 0x00007f98378c7b4b in _ecore_job_event_handler (data=<optimized out>, type=<optimized out>, ev=<optimized out>) at lib/ecore/ecore_job.c:95
#23 0x00007f98378cd599 in _ecore_event_message_handler_efl_loop_message_handler_message_call (obj=0x400000000e41, pd=0x557a4c050e90, message=0x400000068a06) at lib/ecore/ecore_event_message_handler.c:362
#24 0x00007f98378d8c9f in efl_loop_message_handler_message_call (obj=0x400000000e41, message=0x400000068a06) at lib/ecore/efl_loop_message_handler.eo.c:14
#25 0x00007f98378d23f9 in _efl_loop_message_process (obj=<optimized out>, pd=0x557a4c049470) at lib/ecore/efl_loop.c:594
#26 0x00007f98378d1207 in efl_loop_message_process (obj=obj@entry=0x40000000023e) at lib/ecore/efl_loop.c:624
#27 0x00007f98378c9dcc in _ecore_main_loop_iterate_internal (obj=obj@entry=0x40000000023e, pd=pd@entry=0x557a4c049470, once_only=once_only@entry=0) at lib/ecore/ecore_main.c:2483
#28 0x00007f98378ca5ed in _ecore_main_loop_begin (obj=0x40000000023e, pd=pd@entry=0x557a4c049470) at lib/ecore/ecore_main.c:1194
#29 0x00007f98378d2329 in _efl_loop_begin (obj=<optimized out>, pd=0x557a4c049470) at lib/ecore/efl_loop.c:57
#30 0x00007f98378d14b7 in efl_loop_begin (obj=0x40000000023e) at lib/ecore/efl_loop.eo.c:28
#31 0x00007f98378ca6b7 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1277
#32 0x0000557a4ba06a78 in elm_main ()
#33 0x0000557a4ba06ac1 in main ()

Backtrace of fileselector_example.c (app never runs):

#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
[Current thread is 1 (Thread 0x7f509c85c940 (LWP 8142))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1 0x00007f509b2f7f5d in __GI_abort () at abort.c:90
#2 0x00007f509b34028d in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f509b465a26 "*** %s ***: %s terminated\n") at ../sysdeps/posix/libc_fatal.c:181
#3 0x00007f509b3e6811 in __GI___fortify_fail_abort (need_backtrace=need_backtrace@entry=false, msg=msg@entry=0x7f509b465a0e "stack smashing detected") at fortify_fail.c:33
#4 0x00007f509b3e67d2 in __stack_chk_fail () at stack_chk_fail.c:29
#5 0x00007f509b9034ef in _efl_composite_model_efl_ui_view_model_set (obj=<optimized out>, pd=<optimized out>, model=<optimized out>) at lib/ecore/efl_composite_model.c:207
#6 0x00007f509a77700f in efl_ui_view_model_set (obj=obj@entry=0x40000019929f, model=model@entry=0x400000198e9e) at ../src/lib/efl/interfaces/efl_ui_view.eo.c:1
#7 0x00007f509c0d85b9 in _populate (obj=0x4000000288dc, model=0x400000198e9e, parent_it=<optimized out>, selected=0x0) at lib/elementary/elc_fileselector.c:1040
#8 0x00007f509a77700f in efl_ui_view_model_set (obj=0x4000000288dc, model=0x400000198e9e) at ../src/

Related Objects