Bug 35993 - hangs when asking SPICE password
Summary: hangs when asking SPICE password
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: remmina (show other bugs)
Version: unstable
Hardware: all Linux
: P3 major
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-29 14:01 MSK by Ivan A. Melnikov
Modified: 2019-02-02 02:07 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan A. Melnikov 2019-01-29 14:01:17 MSK
Remmina 1.3.0-alt1 with corresponding remmina-plugins hangs when asking for SPICE password.

Steps to reproduce:
* launch remmina;
* select "SPICE" in the protocol dropdown;
* enter hostname:port into the input field near the protocol dropdown;
* press enter.

The connection window appears, then the main thread hangs -- it even stops handling the X window redrawing requests. Before the application hangs, the following appears on stderr:

WARNING: unable to load remmina profile file /crypt/iv/.config/remmina/remmina.pref: cannot find key name= in section remmina.
REMMINA warning. remmina_protocol_widget_dialog should not be called from the master thread.

Here's part of my GDB session with backtraces:

[New Thread 0x7fffaf8e9700 (LWP 16298)]
WARNING: unable to load remmina profile file /crypt/iv/.config/remmina/remmina.pref: cannot find key name= in section remmina.
REMMINA warning. remmina_protocol_widget_dialog should not be called from the master thread.
[Thread 0x7fffaf8e9700 (LWP 16298) exited]
^C
Thread 1 "remmina" received signal SIGINT, Interrupt.
futex_wait_cancelable (private=0, expected=0, futex_word=0x5d7198) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
88        int err = lll_futex_timed_wait (futex_word, expected, NULL, private);
(gdb)
(gdb)
(gdb) info threads
  Id   Target Id                                   Frame
* 1    Thread 0x7fffedbd3b00 (LWP 16287) "remmina" futex_wait_cancelable (private=0, expected=0, futex_word=0x5d7198) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
  2    Thread 0x7fffeda4f700 (LWP 16296) "gmain"   0x00007ffff5c768d9 in __GI___poll (fds=0x4b1480, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
  3    Thread 0x7fffed24e700 (LWP 16297) "gdbus"   0x00007ffff5c768d9 in __GI___poll (fds=0x4cef90, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
(gdb) thread apply all bt

Thread 3 (Thread 0x7fffed24e700 (LWP 16297)):
#0  0x00007ffff5c768d9 in __GI___poll (fds=0x4cef90, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff7699cce in g_main_context_poll (priority=<optimized out>, n_fds=2, fds=0x4cef90, timeout=<optimized out>, context=0x4cc690) at gmain.c:4221
#2  g_main_context_iterate (context=0x4cc690, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3  0x00007ffff769a042 in g_main_loop_run (loop=0x4cc7d0) at gmain.c:4116
#4  0x00007ffff7576d16 in gdbus_shared_thread_func (user_data=0x4cc660) at gdbusprivate.c:275
#5  0x00007ffff76c11d5 in g_thread_proxy (data=0x4b70f0) at gthread.c:784
#6  0x00007ffff6eb6ed3 in start_thread (arg=<optimized out>) at pthread_create.c:463
#7  0x00007ffff5c811bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7fffeda4f700 (LWP 16296)):
#0  0x00007ffff5c768d9 in __GI___poll (fds=0x4b1480, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007ffff7699cce in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x4b1480, timeout=<optimized out>, context=0x4bab60) at gmain.c:4221
#2  g_main_context_iterate (context=context@entry=0x4bab60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3915
#3  0x00007ffff7699ddc in g_main_context_iteration (context=0x4bab60, may_block=may_block@entry=1) at gmain.c:3981
#4  0x00007ffff7699e21 in glib_worker_main (data=<optimized out>) at gmain.c:5861
#5  0x00007ffff76c11d5 in g_thread_proxy (data=0x4b7050) at gthread.c:784
#6  0x00007ffff6eb6ed3 in start_thread (arg=<optimized out>) at pthread_create.c:463
#7  0x00007ffff5c811bf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7fffedbd3b00 (LWP 16287)):
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x5d7198) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5d7148, cond=0x5d7170) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=cond@entry=0x5d7170, mutex=mutex@entry=0x5d7148) at pthread_cond_wait.c:655
#3  0x0000000000435f83 in remmina_protocol_widget_dialog (dtype=dtype@entry=RPWDT_AUTHPWD, gp=gp@entry=0x84dc10, pflags=pflags@entry=0, str1=str1@entry=0x94f9f0 "SPICE password") at /usr/src/debug/remmina-1.3.0/src/remmina_protocol_widget.c
:1169
#4  0x0000000000437b3d in remmina_protocol_widget_panel_authpwd (gp=0x84dc10, authpwd_type=<optimized out>, allow_password_saving=1) at /usr/src/debug/remmina-1.3.0/src/remmina_protocol_widget.c:1231
#5  0x00007fffec965bfe in remmina_plugin_spice_ask_auth (gp=0x84dc10) at /usr/src/debug/remmina-1.3.0/plugins/spice/spice_plugin.c:234
#6  remmina_plugin_spice_main_channel_event_cb (channel=<optimized out>, event=<optimized out>, gp=0x84dc10) at /usr/src/debug/remmina-1.3.0/plugins/spice/spice_plugin.c:269
#7  0x00007ffff7463a5d in g_closure_invoke (closure=0xa4b720, return_value=0x0, n_param_values=2, param_values=0x7fffffffd840, invocation_hint=0x7fffffffd7e0) at gclosure.c:810
#8  0x00007ffff74760a3 in signal_emit_unlocked_R (node=node@entry=0xa16a50, detail=detail@entry=0, instance=instance@entry=0xa71cc0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffffffd840) at
 gsignal.c:3635
#9  0x00007ffff747ef2e in g_signal_emit_valist (instance=instance@entry=0xa71cc0, signal_id=signal_id@entry=354, detail=detail@entry=0, var_args=var_args@entry=0x7fffffffda18) at gsignal.c:3391
#10 0x00007fffe78994fd in g_coroutine_signal_emit (instance=instance@entry=0xa71cc0, signal_id=354, detail=detail@entry=0) at gio-coroutine.c:221
#11 0x00007fffe7896caa in spice_channel_delayed_unref (data=0xa71cc0) at spice-channel.c:2429
#12 0x00007ffff7699998 in g_main_dispatch (context=0x4b3220) at gmain.c:3182
#13 g_main_context_dispatch (context=context@entry=0x4b3220) at gmain.c:3847
#14 0x00007ffff7699d58 in g_main_context_iterate (context=context@entry=0x4b3220, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3920
#15 0x00007ffff7699ddc in g_main_context_iteration (context=context@entry=0x4b3220, may_block=may_block@entry=1) at gmain.c:3981
#16 0x00007ffff754bb1d in g_application_run (application=0x4af1a0, argc=argc@entry=1, argv=argv@entry=0x7fffffffddb8) at gapplication.c:2470
#17 0x000000000041cb85 in main (argc=1, argv=0x7fffffffddb8) at /usr/src/debug/remmina-1.3.0/src/remmina.c:310
Comment 1 Ivan A. Melnikov 2019-01-29 14:09:44 MSK
When I created a connection and saved the password in it, I could actually connect to my SPICE server. So, apparently, there is some problem with showing password dialog; everything else works if the password dialog is not needed.
Comment 2 Ivan A. Melnikov 2019-01-29 14:12:40 MSK
I've build remmina 1.3.1 from the tag, and the problem is still there. I'll report the issue upstream.
Comment 3 Ivan A. Melnikov 2019-01-29 14:36:30 MSK
Upstream ticket: https://gitlab.com/Remmina/Remmina/issues/1820
Comment 4 Ivan A. Melnikov 2019-02-01 17:05:37 MSK
Upstream has fixed the issue in remmina 1.3.2. I've prepared an update for the package, please approve #220379.

http://git.altlinux.org/people/iv/packages/remmina.git?p=remmina.git;a=commit;h=23823b2443549c34e7a58c4552a5a7d17e95290a
Comment 5 Repository Robot 2019-02-02 02:07:53 MSK
remmina-1.3.2-alt1 -> sisyphus:

Fri Feb 01 2019 Ivan A. Melnikov <iv@altlinux> 1.3.2-alt1
- 1.3.2 (closes: #35993)