致命的 #799
closedツイートをクリックするとセグフォで落ちる
0%
Description
環境¶
ArchLinux
ruby 2.2.4p230
ruby-glib2 2.2.5
ruby-atk 2.2.5
ruby-cairo 1.14.3
ruby-pango 2.2.5
ruby-gdk_pixbuf2 2.2.5
ruby-gtk2 2.2.5
ruby-nokogiri 1.6.6.2
ruby-httpclient 2.6.0.1
ruby-moneta 0.8.0
mikutter 3.2.11
現象
ツイートをクリックするとGdk::MiraclePainter#clicked()でiob_clicked()を呼んだ時にセグフォで落ちる。
mikutter3.2.10は同じ環境でも落ちない¶
Files
Updated by toshi_a 初音 over 8 years ago
簡単にできるところで、RubyGTK2とかを 2.2.5にしましたが、正常に動いているように見えます。
一応、2.2.5はサポートしていないことになっているので、そっちのメンテナを突付いたほうがいいかもしれませんね。
Updated by Takaaki TSUJIMOTO over 8 years ago
一応、回避策としてdisplay_requirementsプラグインを入れると落ちないことを発見しました。
Updated by Izumi Tsutsui over 8 years ago
Takaaki TSUJIMOTO は書きました:
一応、回避策としてdisplay_requirementsプラグインを入れると落ちないことを発見しました。
これを見て NetBSD/i386 7.0 で mikutter 3.2.11 + ruby-gnome2 3.0.7 で試してみたのですが、
- ~/.mikutter/plugin/display_requirements.rb があると落ちない
- ~/.mikutter/plugin/display_requirements.rb がないとツイートクリックすると落ちる
で再現性ある感じですね……。ちょっとマズいかも。
Updated by Izumi Tsutsui over 8 years ago
mikutter --debug でログ取ってみましたが
notice: {MIKUTTER_DIR}/core/mui/cairo_cell_renderer_message.rb:106:in `block in tree=': now: 1 last: 0 notice: {MIKUTTER_DIR}/core/plugin/gui/hierarchy_parent.rb:71:in `set_active_child': active child set #<Plugin::GUI::Timeline(role=timeline,slug=home_timeline)> => nil notice: {MIKUTTER_DIR}/core/plugin/gui/hierarchy_parent.rb:71:in `set_active_child': active child set #<Plugin::GUI::Tab(role=tab,slug=home_timeline)> => #<Plugin::GUI::Timeline(role=timeline,slug=home_timeline)> notice: {MIKUTTER_DIR}/core/plugin/gui/hierarchy_parent.rb:71:in `set_active_child': active child set #<Plugin::GUI::Pane(role=pane,slug=__Plugin::GUI::Pane_2071_54a42046_61a3e473)> => #<Plugin::GUI::Tab(role=tab,slug=home_timeline)> notice: {MIKUTTER_DIR}/core/plugin/gui/hierarchy_parent.rb:71:in `set_active_child': active child set #<Plugin::GUI::Window(role=window,slug=default)> => #<Plugin::GUI::Pane(role=pane,slug=__Plugin::GUI::Pane_2071_54a42046_61a3e473)> /usr/pkg/share/mikutter/core/plugin/display_requirements/display_requirements.rb:175:in `iob_clicked': wrong number of arguments (2 for 0)
display_requirements.rb:175:in `iob_clicked'
がダメなんでしょうか。
Updated by Izumi Tsutsui over 8 years ago
Izumi Tsutsui は書きました:
display_requirements.rb:175:in `iob_clicked'
がダメなんでしょうか。
0dfd5e20 の core/mui/cairo_icon_over_button.rb の差分からコピペして
添付のように displayrequirements.rb の iob_clicked を直すと一応動いているようです。
が、これってプラグイン互換性の観点からするとどうなんですかね?
Updated by toshi_a 初音 over 8 years ago
- Assignee set to toshi_a 初音
- プラグイン名 set to display_requirements
再現できました。これは修正漏れですね。
もともと非互換な変更にdisplay_requirementsが対応していないだけなので、このパッチで正しいです。
Updated by toshi_a 初音 over 8 years ago
- Status changed from 新規 to レビュー待ち
- Assignee changed from toshi_a 初音 to Takaaki TSUJIMOTO
修正してみました。一応つじもんさんの環境でも確認してもらえますか?つついさんもお願いします。
Updated by Izumi Tsutsui over 8 years ago
Updated by Takaaki TSUJIMOTO over 8 years ago
リビジョン c061b55c でツイートをクリックしても落ちずに動作していることを確認できました!