IT2ME Host crashes as it cannot create the disconnect window on Linux. |
|||||
Issue description
Repro Steps:
1. Start the IT2ME host on linux
2. Connect to it.
Expected:
It connects.
Actual:
It crashes.
Root cause:
Gtk seg fault on disconnect window.
Commenting out the disconnect window resolves the fix.
Gdb stack trace
Program received signal SIGSEGV, Segmentation fault.
0x0000000003363d14 in hb_segment_properties_equal (a=0xe83f8b48fb8948b3, b=0x7ffdbc41c760) at ../../third_party/harfbuzz-ng/src/hb-buffer.cc:64
64 return a->direction == b->direction &&
(gdb) where
#0 0x0000000003363d14 in hb_segment_properties_equal (a=0xe83f8b48fb8948b3, b=0x7ffdbc41c760) at ../../third_party/harfbuzz-ng/src/hb-buffer.cc:64
#1 0x00000000033772fc in hb_shape_plan_matches (shape_plan=0xe83f8b48fb894853, proposal=0x7ffdbc41c760) at ../../third_party/harfbuzz-ng/src/hb-shape-plan.cc:373
#2 0x0000000003376fa6 in hb_shape_plan_create_cached (face=0x2264f91df320, props=0x2264f9650350, user_features=0x7ffdbc41c8d0, num_user_features=0, shaper_list=0x0)
at ../../third_party/harfbuzz-ng/src/hb-shape-plan.cc:450
#3 0x0000000003377e16 in hb_shape_full (font=0x2264f8e66770, buffer=0x2264f96502e0, features=0x7ffdbc41c8d0, num_features=0, shaper_list=0x0) at ../../third_party/harfbuzz-ng/src/hb-shape.cc:376
#4 0x0000000003377e90 in hb_shape (font=0x2264f8e66770, buffer=0x2264f96502e0, features=0x7ffdbc41c8d0, num_features=0) at ../../third_party/harfbuzz-ng/src/hb-shape.cc:407
#5 0x00007f373e86310c in basic_engine_shape (engine=<optimized out>, font=0x2264f953e8b0, item_text=<optimized out>, item_length=<optimized out>, analysis=0x2264f97dab10, glyphs=0x2264f92be580,
paragraph_text=0x2264f94c6f70 "Stop Sharing", paragraph_length=12) at /build/buildd/pango1.0-1.36.3/./modules/basic/basic-fc.c:392
#6 0x00007f373def8d6b in pango_shape_full (item_text=0x2264f94c6f70 "Stop Sharing", item_length=12, paragraph_text=0x2264f94c6f70 "Stop Sharing", paragraph_length=12,
analysis=analysis@entry=0x2264f97dab10, glyphs=glyphs@entry=0x2264f92be580) at /build/buildd/pango1.0-1.36.3/./pango/shape.c:116
#7 0x00007f373dedc36c in shape_run (line=line@entry=0x2264f9538ad0, state=state@entry=0x7ffdbc41cc20, item=item@entry=0x2264f97dab00) at /build/buildd/pango1.0-1.36.3/./pango/pango-layout.c:3293
#8 0x00007f373dedc65d in process_item (layout=layout@entry=0x2264f97c7800, line=line@entry=0x2264f9538ad0, state=state@entry=0x7ffdbc41cc20, force_fit=force_fit@entry=1,
no_break_at_end=no_break_at_end@entry=0) at /build/buildd/pango1.0-1.36.3/./pango/pango-layout.c:3406
#9 0x00007f373deef5aa in process_line (state=0x7ffdbc41cc20, layout=0x2264f97c7800) at /build/buildd/pango1.0-1.36.3/./pango/pango-layout.c:3704
#10 pango_layout_check_lines (layout=<optimized out>) at /build/buildd/pango1.0-1.36.3/./pango/pango-layout.c:4027
#11 0x00007f373def1028 in pango_layout_get_extents_internal (layout=0x2264f97c7800, ink_rect=ink_rect@entry=0x0, logical_rect=logical_rect@entry=0x7ffdbc41cd80, line_extents=line_extents@entry=0x0)
at /build/buildd/pango1.0-1.36.3/./pango/pango-layout.c:2587
#12 0x00007f373def13cc in pango_layout_get_extents (layout=<optimized out>, ink_rect=ink_rect@entry=0x0, logical_rect=logical_rect@entry=0x7ffdbc41cd80)
at /build/buildd/pango1.0-1.36.3/./pango/pango-layout.c:2782
#13 0x00007f373f3d41f9 in gtk_label_size_request (widget=0x2264f9022910, requisition=0x2264f9022948) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtklabel.c:3179
#14 0x00007f373fe0b210 in g_cclosure_marshal_VOID__BOXEDv (closure=0x2264f8fa4040, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>,
n_params=<optimized out>, param_types=0x2264f90eb9a0) at /build/buildd/glib2.0-2.40.2/./gobject/gmarshal.c:1160
#15 0x00007f373fe0855f in _g_closure_invoke_va (closure=0x2264f8fa4040, return_value=0x0, instance=0x2264f9022910, args=0x7ffdbc41d050, n_params=1, param_types=0x2264f90eb9a0)
at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:831
#16 0x00007f373fe21088 in g_signal_emit_valist (instance=instance@entry=0x2264f9022910, signal_id=signal_id@entry=18, detail=detail@entry=0, var_args=var_args@entry=0x7ffdbc41d050)
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3215
#17 0x00007f373fe22212 in g_signal_emit_by_name (instance=instance@entry=0x2264f9022910, detailed_signal=detailed_signal@entry=0x7f373f5fa399 "size-request")
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3403
#18 0x00007f373f447a25 in do_size_request (widget=widget@entry=0x2264f9022910) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:628
#19 0x00007f373f448408 in do_size_request (widget=0x2264f9022910) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:831
#20 _gtk_size_group_compute_requisition (widget=0x2264f9022910, requisition=requisition@entry=0x7ffdbc41d1c0) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:828
#21 0x00007f373f4ecd49 in IA__gtk_widget_size_request (widget=<optimized out>, requisition=requisition@entry=0x7ffdbc41d1c0) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwidget.c:3932
#22 0x00007f373f33b8ce in gtk_button_size_request (widget=0x2264f9418850, requisition=0x2264f9418888) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkbutton.c:1355
#23 0x00007f373fe0b210 in g_cclosure_marshal_VOID__BOXEDv (closure=0x2264f8fa4040, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>,
n_params=<optimized out>, param_types=0x2264f90eb9a0) at /build/buildd/glib2.0-2.40.2/./gobject/gmarshal.c:1160
#24 0x00007f373fe0855f in _g_closure_invoke_va (closure=0x2264f8fa4040, return_value=0x0, instance=0x2264f9418850, args=0x7ffdbc41d490, n_params=1, param_types=0x2264f90eb9a0)
at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:831
#25 0x00007f373fe21088 in g_signal_emit_valist (instance=instance@entry=0x2264f9418850, signal_id=signal_id@entry=18, detail=detail@entry=0, var_args=var_args@entry=0x7ffdbc41d490)
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3215
#26 0x00007f373fe22212 in g_signal_emit_by_name (instance=instance@entry=0x2264f9418850, detailed_signal=detailed_signal@entry=0x7f373f5fa399 "size-request")
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3403
#27 0x00007f373f447a25 in do_size_request (widget=widget@entry=0x2264f9418850) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:628
#28 0x00007f373f448408 in do_size_request (widget=0x2264f9418850) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:831
#29 _gtk_size_group_compute_requisition (widget=0x2264f9418850, requisition=requisition@entry=0x7ffdbc41d600) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:828
#30 0x00007f373f4ecd49 in IA__gtk_widget_size_request (widget=<optimized out>, requisition=requisition@entry=0x7ffdbc41d600) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwidget.c:3932
#31 0x00007f373f33467d in gtk_box_size_request (widget=0x2264f8f4d910, requisition=0x2264f8f4d948) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkbox.c:280
#32 0x00007f373fe0b210 in g_cclosure_marshal_VOID__BOXEDv (closure=0x2264f8fa4040, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>,
n_params=<optimized out>, param_types=0x2264f90eb9a0) at /build/buildd/glib2.0-2.40.2/./gobject/gmarshal.c:1160
#33 0x00007f373fe0855f in _g_closure_invoke_va (closure=0x2264f8fa4040, return_value=0x0, instance=0x2264f8f4d910, args=0x7ffdbc41d8d0, n_params=1, param_types=0x2264f90eb9a0)
at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:831
#34 0x00007f373fe21088 in g_signal_emit_valist (instance=instance@entry=0x2264f8f4d910, signal_id=signal_id@entry=18, detail=detail@entry=0, var_args=var_args@entry=0x7ffdbc41d8d0)
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3215
#35 0x00007f373fe22212 in g_signal_emit_by_name (instance=instance@entry=0x2264f8f4d910, detailed_signal=detailed_signal@entry=0x7f373f5fa399 "size-request")
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3403
#36 0x00007f373f447a25 in do_size_request (widget=widget@entry=0x2264f8f4d910) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:628
#37 0x00007f373f448408 in do_size_request (widget=0x2264f8f4d910) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:831
#38 _gtk_size_group_compute_requisition (widget=0x2264f8f4d910, requisition=requisition@entry=0x7ffdbc41da30) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:828
#39 0x00007f373f4ecd49 in IA__gtk_widget_size_request (widget=<optimized out>, requisition=requisition@entry=0x7ffdbc41da30) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwidget.c:3932
#40 0x00007f373f32a95c in gtk_alignment_size_request (widget=0x2264f9265e80, requisition=0x2264f9265eb8) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkalignment.c:482
#41 0x00007f373fe0b210 in g_cclosure_marshal_VOID__BOXEDv (closure=0x2264f8fa4040, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>,
n_params=<optimized out>, param_types=0x2264f90eb9a0) at /build/buildd/glib2.0-2.40.2/./gobject/gmarshal.c:1160
---Type <return> to continue, or q <return> to quit---
#42 0x00007f373fe0855f in _g_closure_invoke_va (closure=0x2264f8fa4040, return_value=0x0, instance=0x2264f9265e80, args=0x7ffdbc41dce0, n_params=1, param_types=0x2264f90eb9a0)
at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:831
#43 0x00007f373fe21088 in g_signal_emit_valist (instance=instance@entry=0x2264f9265e80, signal_id=signal_id@entry=18, detail=detail@entry=0, var_args=var_args@entry=0x7ffdbc41dce0)
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3215
#44 0x00007f373fe22212 in g_signal_emit_by_name (instance=instance@entry=0x2264f9265e80, detailed_signal=detailed_signal@entry=0x7f373f5fa399 "size-request")
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3403
#45 0x00007f373f447a25 in do_size_request (widget=widget@entry=0x2264f9265e80) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:628
#46 0x00007f373f448408 in do_size_request (widget=0x2264f9265e80) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:831
#47 _gtk_size_group_compute_requisition (widget=0x2264f9265e80, requisition=requisition@entry=0x7ffdbc41de40) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:828
#48 0x00007f373f4ecd49 in IA__gtk_widget_size_request (widget=<optimized out>, requisition=requisition@entry=0x7ffdbc41de40) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwidget.c:3932
#49 0x00007f373f4fbd6c in gtk_window_size_request (widget=0x2264f94b3050, requisition=0x2264f94b3088) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwindow.c:4968
#50 0x00007f373fe0b210 in g_cclosure_marshal_VOID__BOXEDv (closure=0x2264f8fa4040, return_value=<optimized out>, instance=<optimized out>, args=<optimized out>, marshal_data=<optimized out>,
n_params=<optimized out>, param_types=0x2264f90eb9a0) at /build/buildd/glib2.0-2.40.2/./gobject/gmarshal.c:1160
#51 0x00007f373fe085e7 in _g_closure_invoke_va (closure=0x2264f8fa4040, return_value=0x0, instance=0x2264f94b3050, args=0x7ffdbc41e0f0, n_params=1, param_types=0x2264f90eb9a0)
at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:831
#52 0x00007f373fe21088 in g_signal_emit_valist (instance=instance@entry=0x2264f94b3050, signal_id=signal_id@entry=18, detail=detail@entry=0, var_args=var_args@entry=0x7ffdbc41e0f0)
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3215
#53 0x00007f373fe22212 in g_signal_emit_by_name (instance=instance@entry=0x2264f94b3050, detailed_signal=detailed_signal@entry=0x7f373f5fa399 "size-request")
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3403
#54 0x00007f373f447a25 in do_size_request (widget=widget@entry=0x2264f94b3050) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:628
#55 0x00007f373f448408 in do_size_request (widget=0x2264f94b3050) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:831
#56 _gtk_size_group_compute_requisition (widget=widget@entry=0x2264f94b3050, requisition=requisition@entry=0x0) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtksizegroup.c:828
#57 0x00007f373f4ecd49 in IA__gtk_widget_size_request (widget=widget@entry=0x2264f94b3050, requisition=requisition@entry=0x0) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwidget.c:3932
#58 0x00007f373f4fc63b in gtk_window_compute_configure_request (window=window@entry=0x2264f94b3050, request=request@entry=0x7ffdbc41e340, geometry=geometry@entry=0x7ffdbc41e350,
flags=flags@entry=0x7ffdbc41e32c) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwindow.c:5842
#59 0x00007f373f4fedf7 in gtk_window_show (widget=0x2264f94b3050) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwindow.c:4509
#60 0x00007f373fe083b8 in g_closure_invoke (closure=0x2264f8fa4cc0, return_value=0x0, n_param_values=1, param_values=0x7ffdbc41e540, invocation_hint=0x7ffdbc41e4e0)
at /build/buildd/glib2.0-2.40.2/./gobject/gclosure.c:768
#61 0x00007f373fe19557 in signal_emit_unlocked_R (node=node@entry=0x2264f8f34840, detail=detail@entry=0, instance=instance@entry=0x2264f94b3050, emission_return=emission_return@entry=0x0,
instance_and_params=instance_and_params@entry=0x7ffdbc41e540) at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3481
#62 0x00007f373fe21a29 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffdbc41e6c8)
at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3307
#63 0x00007f373fe21ce2 in g_signal_emit (instance=instance@entry=0x2264f94b3050, signal_id=<optimized out>, detail=detail@entry=0) at /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:3363
#64 0x00007f373f4f3dc6 in IA__gtk_widget_show (widget=0x2264f94b3050) at /build/gtk+2.0-KsZSEA/gtk+2.0-2.24.23/gtk/gtkwidget.c:3236
#65 0x0000000002cbe5db in remoting::(anonymous namespace)::DisconnectWindowGtk::Start (this=0x2264f90df9c0, client_session_control=...) at ../../remoting/host/disconnect_window_linux.cc:161
#66 0x0000000002cc13f8 in remoting::HostWindowProxy::Core::StartOnUiThread (this=0x2264f95debf0, client_jid="kelvinp@google.com/chromoting3E8ACA23") at ../../remoting/host/host_window_proxy.cc:133
#67 0x0000000000e3a5f6 in base::internal::RunnableAdapter<void (net::PollingProxyConfigService::Core::*)(net::ProxyConfig const&)>::Run<scoped_refptr<net::PollingProxyConfigService::Core> const&, net::ProxyConfig const&> (this=0x7ffdbc41f350, receiver_ptr=..., args=...) at ../../base/bind_internal.h:186
#68 0x0000000002cc251e in base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (remoting::HostWindowProxy::Core::*)(std::string const&)> >::MakeItSo<scoped_refptr<remoting::HostWindowProxy::Core> const&, std::string const&> (runnable=..., args="kelvinp@google.com/chromoting3E8ACA23", args="kelvinp@google.com/chromoting3E8ACA23") at ../../base/bind_internal.h:311
#69 0x0000000002cc24cd in base::internal::Invoker<base::IndexSequence<0ul, 1ul>, base::internal::BindState<base::internal::RunnableAdapter<void (remoting::HostWindowProxy::Core::*)(std::string const&)>, void (remoting::HostWindowProxy::Core*, std::string const&), remoting::HostWindowProxy::Core*, std::string const&>, base::internal::InvokeHelper<false, void, base::internal::RunnableAdapter<void (remoting::HostWindowProxy::Core::*)(std::string const&)> >, void ()>::Run(base::internal::BindStateBase*) (base=0x2264f97784f0) at ../../base/bind_internal.h:362
#70 0x00000000004dc22e in base::Callback<void (), (base::internal::CopyMode)1>::Run() const (this=0x7ffdbc41f848) at ../../base/callback.h:397
#71 0x0000000002e81e7e in base::debug::TaskAnnotator::RunTask (this=0x7ffdbc41fed0, queue_function=0x370a085 "MessageLoop::PostTask", pending_task=...) at ../../base/debug/task_annotator.cc:51
#72 0x0000000002d3217c in base::MessageLoop::RunTask (this=0x7ffdbc41fc98, pending_task=...) at ../../base/message_loop/message_loop.cc:484
#73 0x0000000002d32418 in base::MessageLoop::DeferOrRunPendingTask (this=0x7ffdbc41fc98, pending_task=...) at ../../base/message_loop/message_loop.cc:493
#74 0x0000000002d32672 in base::MessageLoop::DoWork (this=0x7ffdbc41fc98) at ../../base/message_loop/message_loop.cc:610
#75 0x0000000002d495f6 in base::MessagePumpGlib::Run (this=0x2264f91d4bd0, delegate=0x7ffdbc41fc98) at ../../base/message_loop/message_pump_glib.cc:313
#76 0x0000000002d31b6f in base::MessageLoop::RunHandler (this=0x7ffdbc41fc98) at ../../base/message_loop/message_loop.cc:448
#77 0x0000000002da43b4 in base::RunLoop::Run (this=0x7ffdbc41fc18) at ../../base/run_loop.cc:35
#78 0x00000000004cff31 in remoting::StartIt2MeNativeMessagingHost () at ../../remoting/host/it2me/it2me_native_messaging_host_main.cc:140
#79 0x00000000004d001d in remoting::It2MeNativeMessagingHostMain (argc=2, argv=0x7ffdbc420128) at ../../remoting/host/it2me/it2me_native_messaging_host_main.cc:152
#80 0x00000000004cfac2 in main (argc=2, argv=0x7ffdbc420128) at ../../remoting/host/it2me/it2me_native_messaging_host_entry_point.cc:8
(gdb)
,
May 19 2016
I was unable to reproduce this using the CRD Official builds. I tested using Today's Host version 52.0.2741.0 on Linux with the current public release web app 51.0.2704.8 sharing on Linux, as well as the 51.0.2704.8 QA release web app and the latest M52 web app version 52.0.2741.0. On the client side (for good measure) I tried the same 3 web app versions to access the Linux Host.
,
May 24 2016
Kelvin, we are not able to repro. If you still see this, please open it back up.
,
May 24 2016
Pada tanggal 25 Mei 2016 05.04, "dahlke@chromium.org via Monorail" < monorail@chromium.org> menulis:
,
Sep 13 2016
Re-opening as I see this issue. I have a feeling this only affects debug builds. It looks like there was a change a few months ago to use a different version of 'harf-buzz' for retail and debug builds (more details on the change/fix are here: crbug.com/462689 ). This is affecting the development of the It2Me confirmation window as well so I think this should be fixed.
,
Sep 14 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2f9cb1d89dd0c905bfb7f666126fb41a149f938a commit 2f9cb1d89dd0c905bfb7f666126fb41a149f938a Author: joedow <joedow@chromium.org> Date: Wed Sep 14 00:09:07 2016 Fixing a crash when showing GTK dialogs on Linux on Debug builds. This problem was introduced several months ago ( crbug.com/462689 ) and causes a crash when a GTK dialog is displayed on debug, non-component builds on Linux. The fix is to include some additional linker flags in this scenario (see libgtk2ui target as another example of this workaround) which allows the framework to run correctly. BUG= 613231 Review-Url: https://codereview.chromium.org/2333313003 Cr-Commit-Position: refs/heads/master@{#418427} [modify] https://crrev.com/2f9cb1d89dd0c905bfb7f666126fb41a149f938a/remoting/host/it2me/BUILD.gn
,
Sep 14 2016
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by dah...@chromium.org
, May 19 2016Status: Assigned (was: Untriaged)