|
From: S. K. <ch...@ll...> - 2013-06-02 18:31:06
|
こんにちは、北川といいます。先日はgtk3のGtk::ActionGroup#add_radio_actionsの
件対応していただいてありがとうございました。
今度はgtk3/sample/gtk-demoのデモプログラムについてなのですが、Windows 7の
Ruby 2.0 or 1.9.3で、main.rbを実行して以下のいずれかの操作を行うと以下のエラー
のどちらかが出てプログラムが落ちます。どのような時にどちらのエラーが出るかはよく
わかりません。またgtk2のデモプログラムではこの不具合は起きません。
(1)メインウィンドウを外枠をドラッグしてリサイズする
(2)メインウィンドウ左のリストから開けるウィンドウをタイトルバーをつかんで移動する
(しつこくやってるとエラーが出て落ちます)
(3)メインウィンドウ左のリストから開けるウィンドウを外枠をドラッグしてリサイズする
(2)と(3)のエラーについては発生しない項目もありますが、そこの条件もちょっと想像が
つきません。
(エラー1)
**
GLib:ERROR:gmain.c:3057:g_main_dispatch: assertion failed: (current->
dispatching_sources == ¤t_source_link)
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
(エラー2)
C:/Users/kita/mygit/ruby-gnome2-gtk3-sample/gtk3/sample/gtk-demo/main.rb:
384: [BUG] Segmentation fault
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
-- Control frame information -----------------------------------------------
c:0003 p:---- s:0009 e:000008 CFUNC :main
c:0002 p:0115 s:0006 E:000fa4 EVAL C:/Users/kita/mygit/ruby-gnome2-gtk3-
sample/gtk3/sample/gtk-demo/main.rb:384 [FINISH]
c:0001 p:0000 s:0002 E:0011e4 TOP [FINISH]
C:/Users/kita/mygit/ruby-gnome2-gtk3-sample/gtk3/sample/gtk-demo/
main.rb:384:in `<main>'
C:/Users/kita/mygit/ruby-gnome2-gtk3-sample/gtk3/sample/gtk-demo/
main.rb:384:in `main'
-- C level backtrace information -------------------------------------------
C:\windows\SYSTEM32\ntdll.dll(KiFastSystemCallRet+0x0) [0x77B67094]
C:\windows\system32\kernel32.dll(WaitForSingleObjectEx+0x43) [0x76B7C313]
C:\windows\system32\kernel32.dll(WaitForSingleObject+0x12) [0x76B7C2C2]
C:\Users\kita\myfiles\program\ruby\bin\msvcrt-ruby200.dll(
rb_vm_bugreport+0xa7) [0x668F69D7]
C:\Users\kita\myfiles\program\ruby\bin\msvcrt-ruby200.dll(
rb_name_err_mesg_new+0x69d) [0x667BE2AD]
C:\Users\kita\myfiles\program\ruby\bin\msvcrt-ruby200.dll(
rb_bug+0x2e) [0x667BF0AE]
C:\Users\kita\myfiles\program\ruby\bin\msvcrt-ruby200.dll(
rb_check_safe_str+0x180) [0x6687DC70]
[0x00401866]
C:\windows\system32\kernel32.dll(UnhandledExceptionFilter+0xf5) [0x76B90746]
C:\windows\SYSTEM32\ntdll.dll(EtwReplyNotification+0x366) [0x77B97F02]
-- Other runtime information -----------------------------------------------
* Loaded script: C:/Users/kita/mygit/ruby-gnome2-gtk3-sample/gtk3/sample/
gtk-demo/main.rb
* Loaded features:
0 enumerator.so
1 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/enc/
encdb.so
2 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/enc/
windows_31j.so
3 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/enc/
trans/transdb.so
4 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/rbconfig.rb
5 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/compatibility.rb
6 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/defaults.rb
7 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/deprecate.rb
8 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/errors.rb
9 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/version.rb
10 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/requirement.rb
11 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/platform.rb
12 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/specification.rb
13 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/exceptions.rb
14 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/defaults/
operating_system.rb
15 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/enc/
utf_16le.so
16 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/enc/
trans/utf_16_32.so
17 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/core_ext/
kernel_gem.rb
18 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/core_ext/
kernel_require.rb
19 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems.rb
20 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/path_support.rb
21 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/rubygems/dependency.rb
22 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/
pathname.so
23 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/pathname.rb
24 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/English.rb
25 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/thread.rb
26 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
glib2-2.0.2-x86-mingw32/lib/glib2/deprecatable.rb
27 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/i386-mingw32/enc/
trans/japanese_sjis.so
28 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
glib2-2.0.2-x86-mingw32/lib/2.0/glib2.so
29 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
glib2-2.0.2-x86-mingw32/lib/glib2.rb
30 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
atk-2.0.2-x86-mingw32/lib/2.0/atk.so
31 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
atk-2.0.2-x86-mingw32/lib/atk.rb
32 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/color.rb
33 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/paper.rb
34 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/2.0/cairo.so
35 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/constants.rb
36 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/point.rb
37 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/colors.rb
38 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/papers.rb
39 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/context/rectangle.rb
40 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/context/triangle.rb
41 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/context/circle.rb
42 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/context/path.rb
43 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/context/blur.rb
44 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/context/color.rb
45 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/context.rb
46 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/device.rb
47 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/surface.rb
48 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/pattern.rb
49 C:/Users/kita/myfiles/program/ruby/lib/ruby/2.0.0/forwardable.rb
50 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo/path.rb
51 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
cairo-1.12.6-x86-mingw32/lib/cairo.rb
52 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
pango-2.0.2-x86-mingw32/lib/2.0/pango.so
53 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
pango-2.0.2-x86-mingw32/lib/pango.rb
54 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gdk_pixbuf2-2.0.2-x86-mingw32/lib/2.0/gdk_pixbuf2.so
55 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gdk_pixbuf2-2.0.2-x86-mingw32/lib/gdk_pixbuf2.rb
56 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gdk3-2.0.2-x86-mingw32/lib/2.0/gdk3.so
57 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gdk3-2.0.2-x86-mingw32/lib/gdk3/base.rb
58 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gdk3-2.0.2-x86-mingw32/lib/gdk3/deprecated.rb
59 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gdk3-2.0.2-x86-mingw32/lib/gdk3.rb
60 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gtk3-2.0.2-x86-mingw32/lib/2.0/gtk3.so
61 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gtk3-2.0.2-x86-mingw32/lib/gtk3/base.rb
62 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gtk3-2.0.2-x86-mingw32/lib/gtk3/deprecated.rb
63 C:/Users/kita/myfiles/program/ruby/lib/ruby/gems/2.0.0/gems/
gtk3-2.0.2-x86-mingw32/lib/gtk3.rb
64 C:/Users/kita/mygit/ruby-gnome2-gtk3-sample/gtk3/sample/
gtk-demo/common.rb
65 C:/Users/kita/mygit/ruby-gnome2-gtk3-sample/gtk3/sample/
gtk-demo/appwindow.rb
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
(エラー2ここまで)
Ruby-GNOME2の問題ではないのかなという気もしますが、とりあえず報告です。
|
|
From: Kouhei S. <ko...@co...> - 2013-06-04 14:39:05
|
須藤です。 In <201...@ll...> "[ruby-gnome2-devel-ja] gtk3/sample/gtk-demo のプログラムでウィンドウを操作するとプログラムが落ちる" on Mon, 3 Jun 2013 03:30:48 +0900, "S. Kitagawa" <ch...@ll...> wrote: > こんにちは、北川といいます。先日はgtk3のGtk::ActionGroup#add_radio_actionsの > 件対応していただいてありがとうございました。 いえいえ、こちらこそ報告ありがとうございました。 > 今度はgtk3/sample/gtk-demoのデモプログラムについてなのですが、Windows 7の > Ruby 2.0 or 1.9.3で、main.rbを実行して以下のいずれかの操作を行うと以下のエラー > のどちらかが出てプログラムが落ちます。どのような時にどちらのエラーが出るかはよく > わかりません。またgtk2のデモプログラムではこの不具合は起きません。 おぉ。。。 > (1)メインウィンドウを外枠をドラッグしてリサイズする > (2)メインウィンドウ左のリストから開けるウィンドウをタイトルバーをつかんで移動する > (しつこくやってるとエラーが出て落ちます) > (3)メインウィンドウ左のリストから開けるウィンドウを外枠をドラッグしてリサイズする ちょっと試した感じではDebian GNU/Linuxでも落ちませんでした。 小さいプログラムでも再現させられればもう少し調べやすくなりそ うな気がしますが。。。 require "gtk3" window = Gtk::Window.new window.show_all Gtk.main さすがに↑くらい小さいやつだと再現しないですよねぇ。。。 > (エラー1) > ** > GLib:ERROR:gmain.c:3057:g_main_dispatch: assertion failed: (current-> > dispatching_sources == ¤t_source_link) > > This application has requested the Runtime to terminate it in an unusual way. > Please contact the application's support team for more information. イベントループのコールバックの中で別のイベントのコールバック が実行されたら起きそうな気がしますが、手動でイベントループを 回しているところはなさそうなんですよねぇ。。。 sample/gtk-demo/changedisplay.rbはGtk.main_iterationを呼んで いるので怪しいですけど、これを使っていなくても落ちますし ねぇ。。。 英語ですが、もしイベントループに興味があったら、参考までに。。。 「Customizing the main loop iteration」のところに図入りで説 明があります。 https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#glib-The-Main-Event-Loop.description > (エラー2) > C:/Users/kita/mygit/ruby-gnome2-gtk3-sample/gtk3/sample/gtk-demo/main.rb: > 384: [BUG] Segmentation fault > ruby 2.0.0p195 (2013-05-14) [i386-mingw32] こっちは、Rubyがうまくバックトレースをとれたケースで、1と同 じ原因じゃないかなぁと思います。 |
|
From: S. K. <ch...@ll...> - 2013-06-06 22:08:13
|
北川です。
問題のエラーが起きるケースが一つ見つかりました。以下のようなRubyプログラムで、
Gtk::Notebookに追加したページのラベルにアンダーバーが入っていると、なぜか
ウィンドウをリサイズした時にプログラムが落ちます。(Windows 7上のruby 2.0/1.9.3)
require "gtk3"
window = Gtk::Window.new
window.signal_connect('destroy') do
Gtk.main_quit
end
notebook = Gtk::Notebook.new
notebook.append_page(Gtk::Button.new(label:'_Button'),#こっちは影響なし
Gtk::Label.new('_Tab', true))#こっちは影響あり
window.add(notebook)
window.show_all
Gtk.main
同じプログラムをVirtualBox上のUbuntu 12.04(ruby1.9.3)で実行すると、
Gtk::Notebookのページのラベルに含まれるアンダーバーはGUIには反映されず、
エラーは出ませんでした。
gtk3/sample/gtk-demoのプログラムでも少し試してみましたが、main.rbでは
Gtk::Notebookのページのラベルに含まれるアンダーバーを削除した時に
エラーが出にくくなり(ウィンドウの横幅を縮めていくとなぜか出る)、
(gtk3で動くように一部コメントアウトand修正した)appwindow.rbでは
メニュー項目の表示文字列のアンダーバーを削除した時にエラーが出なくなりま
した。(Windows)
ただしGUIのラベル文字列にアンダーバーが含まれていないサンプルプログラム
でもエラーが起きる時があって、はっきりとした原因はわからないですね……
>英語ですが、もしイベントループに興味があったら、参考までに。。。
>「Customizing the main loop iteration」のところに図入りで説
>明があります。
> https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#glib-The-Main-Event-Loop.description
ありがとうございます。今は理解するのは難しそうですが、時間があれば勉強して
みたい内容ですね。
|
|
From: S. K. <ch...@ll...> - 2013-06-06 22:25:28
|
北川です。 一つ前に出したメールですが、GUI部品のラベルのアンダーバーをできるだけ消した プログラムでも、ウィンドウ内のフォーカスを移動してからいじると、けっこう簡単 にエラーが出てしまう場合がありますね。先のメールはあまり役に立たない情報だっ たもしれません。すみません。 |
|
From: S. K. <ch...@ll...> - 2013-06-07 18:29:38
|
北川です。ちょっと補足を。 "S. Kitagawa" <ch...@ll...> wrote: (2013/06/07 07:08) >問題のエラーが起きるケースが一つ見つかりました。以下のようなRubyプログラムで、 >Gtk::Notebookに追加したページのラベルにアンダーバーが入っていると、なぜか >ウィンドウをリサイズした時にプログラムが落ちます。(Windows 7上のruby 2.0/1.9.3) このメールで挙げたような短いプログラムだと再現性は高いのですが……。デモ プログラムだとGUI部品の表示文字列を修正したものでも、ウィンドウ内でフォ ーカスを移動したり、複数ウィンドウ間でアクティブ状態を入れ替えながら ウィンドウを移動したりリサイズしたりすると、なせかバンバン落ちまくってし まいます。 |
|
From: myokoym <my...@gm...> - 2013-06-08 00:16:18
|
こんにちは。横山です。
2013年6月8日 3:29 S. Kitagawa <ch...@ll...>:
>>問題のエラーが起きるケースが一つ見つかりました。以下のようなRubyプログラムで、
>>Gtk::Notebookに追加したページのラベルにアンダーバーが入っていると、なぜか
>>ウィンドウをリサイズした時にプログラムが落ちます。(Windows 7上のruby 2.0/1.9.3)
いろんな問題が絡み合っていそうで戦々恐々ですね。
とりあえずアンダーバー問題ですが、ニーモニックが原因のようで、
以下の手順で必ず落ちます。
1. Windows上で、
2. ニーモニック文字がキーボードアクセラレータとして登録されている状態で、
3. ウィンドウの端をドラッグしてリサイズしようとする
ちなみに、ニーモニックの概要はこんな感じです。
下線付き文字によってメニュー項目などに定義されます。
エンドユーザーは、"Alt + ニーモニックキー"(例:Alt + A)を押すことによってメニュー項目を選択できます。
http://documentation.softwareag.com/natural/nat633win_j/pg/pg_pte_def_mne_accel_key.htm
サンプルとして提示されていたコードでは、Gtk::Label.newの第二引数に
trueが指定されているので、ニーモニックが有効になっています。
notebook.append_page(Gtk::Button.new(label:'_Button'),#こっちは影響なし
Gtk::Label.new('_Tab', true))#こっちは影響あり
第二引数を省略するかfalseを指定すると、ニーモニックが無効になるので
落ちなくなると思います。
notebook.append_page(Gtk::Button.new(label:'_Button'),#こっちは影響なし
Gtk::Label.new('_Tab'))#第二引数を省略すれば落ちなくなる
アンダーバーがなくても落ちるのは、別の問題か、
単にトリガーが異なるだけで同じ問題かもしれません。
--
Masafumi Yokoyama @myokoym
|
|
From: Kouhei S. <ko...@co...> - 2013-06-09 04:51:28
|
須藤です。
In <CAE...@ma...>
"Re: [ruby-gnome2-devel-ja] gtk3/sample/gtk-demo のプログラムでウィンドウを操作するとプログラムが落ちる" on Sat, 8 Jun 2013 09:16:10 +0900,
myokoym <my...@gm...> wrote:
> 2013年6月8日 3:29 S. Kitagawa <ch...@ll...>:
>>>問題のエラーが起きるケースが一つ見つかりました。以下のようなRubyプログラムで、
>>>Gtk::Notebookに追加したページのラベルにアンダーバーが入っていると、なぜか
>>>ウィンドウをリサイズした時にプログラムが落ちます。(Windows 7上のruby 2.0/1.9.3)
>
> いろんな問題が絡み合っていそうで戦々恐々ですね。
そうみたいですね。。。
gdk3 gemの中にvendor/local/bin/gtk3-demo.exeというCだけで書
かれたGTK+ 3のデモアプリケーションが入っているのですが、それ
でも落ちるか試してみてもらえないでしょうか?
gtk3-demo.exeが依存しているDLLのあるフォルダーを全部PATH環境
変数に入れないといけないので、↓というようにRuby経由で起動し
たほうが楽かもしれません。
require "gdk3"
gdk3_spec = Gem::Specification.find_by_name("gdk3")
spawn("#{gdk3_spec.gem_dir}/vendor/local/bin/gtk3-demo.exe")
もし、これでも落ちるならRuby/GTK3ではなく、GTK+そのものの問
題といえます。この場合はGTK+本体に問題を報告したりそっちで修
正する流れになります。
もし、gtk3-demo.exeだと落ちないならRuby側の問題なので、がん
ばって直そう、という流れになります。
GTK+本体が悪そうな気もしますが。。。
|
|
From: S. K. <ch...@ll...> - 2013-06-10 16:15:44
|
北川です。 Kouhei Sutou <ko...@co...> wrote: (2013/06/09 13:51) >gdk3 gemの中にvendor/local/bin/gtk3-demo.exeというCだけで書 >かれたGTK+ 3のデモアプリケーションが入っているのですが、それ >でも落ちるか試してみてもらえないでしょうか? 実行してみたところ、Ruby版と同じような落ち方をしました。こちらは エラーも吐かずに落ちてしまうことが多いですが、たまに"g_main_dispatch: assertion failed: ..."のエラーを吐きます。 あと参考になるかわかりませんが、GTK+3のWindows用バイナリは公式サイト では公開されてなくて、有志の方(?)が独自に作ったもの(http://www.tarnyko. net/en/?q=node/1)があるのですが、こちらのgtk3-demo.exeはウィンドウを 操作しただけでは落ちることはありませんでした。公式のソースだけではWindo wsでは厳しいってことなんでしょうか……。 |
|
From: Kouhei S. <ko...@co...> - 2013-06-11 14:17:18
|
須藤です。 In <201...@ll...> "Re: [ruby-gnome2-devel-ja] gtk3/sample/gtk-demo のプログラムでウィンドウを操作するとプログラムが落ちる" on Tue, 11 Jun 2013 01:15:35 +0900, "S. Kitagawa" <ch...@ll...> wrote: >>gdk3 gemの中にvendor/local/bin/gtk3-demo.exeというCだけで書 >>かれたGTK+ 3のデモアプリケーションが入っているのですが、それ >>でも落ちるか試してみてもらえないでしょうか? > > 実行してみたところ、Ruby版と同じような落ち方をしました。こちらは > エラーも吐かずに落ちてしまうことが多いですが、たまに"g_main_dispatch: > assertion failed: ..."のエラーを吐きます。 > > あと参考になるかわかりませんが、GTK+3のWindows用バイナリは公式サイト > では公開されてなくて、有志の方(?)が独自に作ったもの(http://www.tarnyko. > net/en/?q=node/1)があるのですが、こちらのgtk3-demo.exeはウィンドウを > 操作しただけでは落ちることはありませんでした。公式のソースだけではWindo > wsでは厳しいってことなんでしょうか……。 おぉ! これはいい情報をもらいました!ありがとうございます! 私のクロスコンパイルの仕方が悪そうですねぇ。念のため、gtk2 gemに入っているgtk-demo.exeも確認してもらえますか?そっちで は問題がないならGTK+ 3のビルドだけおかしそうということがわか ります。gtk2 gemの方でも落ちるなら、もろもろおかしそうで す。。。 g_main_dispatch()関係のメッセージがでているのでGLibのビルドが 悪そうな気がしますが。。。 |
|
From: Kouhei S. <ko...@co...> - 2013-06-11 14:20:55
|
須藤です。 あ、あと、もしよかったらGTK+ 3.8.2も試してもらえるとうれしい です! http://www.tarnyko.net/?q=node/36 gdk3 gemに入っているやつもGTK+ 3.8.2なのです。もし、↑でも落 ちるなら最近のGLib/GTK+まわりの変更の中で落ちるようになった かもしれません。 (たぶん、落ちないと思いますが。。。) In <201...@co...> "Re: [ruby-gnome2-devel-ja] gtk3/sample/gtk-demo のプログラムでウィンドウを操作するとプログラムが落ちる" on Tue, 11 Jun 2013 23:17:00 +0900 (JST), Kouhei Sutou <ko...@co...> wrote: > In <201...@ll...> > "Re: [ruby-gnome2-devel-ja] gtk3/sample/gtk-demo のプログラムでウィンドウを操作するとプログラムが落ちる" on Tue, 11 Jun 2013 01:15:35 +0900, > "S. Kitagawa" <ch...@ll...> wrote: > >>>gdk3 gemの中にvendor/local/bin/gtk3-demo.exeというCだけで書 >>>かれたGTK+ 3のデモアプリケーションが入っているのですが、それ >>>でも落ちるか試してみてもらえないでしょうか? >> >> 実行してみたところ、Ruby版と同じような落ち方をしました。こちらは >> エラーも吐かずに落ちてしまうことが多いですが、たまに"g_main_dispatch: >> assertion failed: ..."のエラーを吐きます。 >> >> あと参考になるかわかりませんが、GTK+3のWindows用バイナリは公式サイト >> では公開されてなくて、有志の方(?)が独自に作ったもの(http://www.tarnyko. >> net/en/?q=node/1)があるのですが、こちらのgtk3-demo.exeはウィンドウを >> 操作しただけでは落ちることはありませんでした。公式のソースだけではWindo >> wsでは厳しいってことなんでしょうか……。 > > おぉ! > これはいい情報をもらいました!ありがとうございます! > > 私のクロスコンパイルの仕方が悪そうですねぇ。念のため、gtk2 > gemに入っているgtk-demo.exeも確認してもらえますか?そっちで > は問題がないならGTK+ 3のビルドだけおかしそうということがわか > ります。gtk2 gemの方でも落ちるなら、もろもろおかしそうで > す。。。 > > g_main_dispatch()関係のメッセージがでているのでGLibのビルドが > 悪そうな気がしますが。。。 |
|
From: S. K. <ch...@ll...> - 2013-06-13 13:33:09
|
北川です。 Kouhei Sutou <ko...@co...> wrote: (2013/06/11 23:17) >私のクロスコンパイルの仕方が悪そうですねぇ。念のため、gtk2 >gemに入っているgtk-demo.exeも確認してもらえますか?そっちで >は問題がないならGTK+ 3のビルドだけおかしそうということがわか >ります。gtk2 gemの方でも落ちるなら、もろもろおかしそうで >す。。。 gtk2-2.0.2-x86-mingw32のgtk-demo.exeを実行してみたところ、 特に問題はなさそうでした。またgtk+-bundle_3.8.2-20130606_win32-PRE1 の方も落ちませんでした。 |
|
From: Kouhei S. <ko...@co...> - 2013-06-16 04:18:45
|
須藤です。 In <201...@ll...> "Re: [ruby-gnome2-devel-ja] gtk3/sample/gtk-demo のプログラムでウィンドウを操作するとプログラムが落ちる" on Thu, 13 Jun 2013 22:33:05 +0900, "S. Kitagawa" <ch...@ll...> wrote: >>私のクロスコンパイルの仕方が悪そうですねぇ。念のため、gtk2 >>gemに入っているgtk-demo.exeも確認してもらえますか?そっちで >>は問題がないならGTK+ 3のビルドだけおかしそうということがわか >>ります。gtk2 gemの方でも落ちるなら、もろもろおかしそうで >>す。。。 > > gtk2-2.0.2-x86-mingw32のgtk-demo.exeを実行してみたところ、 > 特に問題はなさそうでした。またgtk+-bundle_3.8.2-20130606_win32-PRE1 > の方も落ちませんでした。 確認ありがとうございます! 私のGTK+ 3まわりのクロスコンパイルがおかしそうなことがわかり ました。 次のリリースのときには一度ビルドし直します。 |
|
From: myokoym <my...@gm...> - 2013-08-12 08:22:06
|
横山です。 2013年6月16日 13:18 Kouhei Sutou <ko...@co...>: >>>私のクロスコンパイルの仕方が悪そうですねぇ。念のため、gtk2 >>>gemに入っているgtk-demo.exeも確認してもらえますか?そっちで >>>は問題がないならGTK+ 3のビルドだけおかしそうということがわか >>>ります。gtk2 gemの方でも落ちるなら、もろもろおかしそうで >>>す。。。 >> >> gtk2-2.0.2-x86-mingw32のgtk-demo.exeを実行してみたところ、 >> 特に問題はなさそうでした。またgtk+-bundle_3.8.2-20130606_win32-PRE1 >> の方も落ちませんでした。 > > 確認ありがとうございます! > 私のGTK+ 3まわりのクロスコンパイルがおかしそうなことがわかり > ました。 > > 次のリリースのときには一度ビルドし直します。 vendor\local\etc\gtk-3.0\setting.ini を作成して、 gtk-auto-mnemonics = 1 を指定すると落ちなくなりました。 > type C:\Ruby200\lib\ruby\gems\2.0.0\gems\gdk3-2.0.2-x86-mingw32\vendor\local\etc\gtk-3.0\settings.ini [Settings] gtk-auto-mnemonics = 1 Ruby/GDK3 2.0.0 で削除されたGreybirdテーマを復活させると落ちなくなったので、 デフォルトのテーマと差分を取って色々と試したところ、上の設定だけで落ちなくなることがわかりました。 (Linux版のRuby/GTK3やWindows版のRuby/GTK2が大丈夫な理由など、詳しいことはわかっていないですが。。。) ## 対応について gtk-auto-mnemonicsオプションは、GTK+ 3.8 まではデフォルト値がFALSEのようです。 https://developer.gnome.org/gtk3/3.8/GtkSettings.html#GtkSettings--gtk-auto-mnemonics 最新のリファレンスによると、GTK+ 3.9からはデフォルト値はTRUEになり、GTK+ 3.10から gtk-auto-mnemonicsオプションは非推奨(設定されても無視する)になるようです。 https://developer.gnome.org/gtk3/3.9/GtkSettings.html#GtkSettings--gtk-auto-mnemonics 対応としては、3.9はUnstableなので、setting.iniを追加するのがいいかなぁと思いました。 (ビルドはまだできてないですが。。。) |
|
From: S. K. <ch...@ll...> - 2013-06-11 21:52:56
|
北川です。こんにちは。
myokoym <my...@gm...> wrote:
(2013/06/08 09:16)
>とりあえずアンダーバー問題ですが、ニーモニックが原因のようで、
>以下の手順で必ず落ちます。
>
>1. Windows上で、
>2. ニーモニック文字がキーボードアクセラレータとして登録されている状態で、
>3. ウィンドウの端をドラッグしてリサイズしようとする
>サンプルとして提示されていたコードでは、Gtk::Label.newの第二引数に
>trueが指定されているので、ニーモニックが有効になっています。
>
>notebook.append_page(Gtk::Button.new(label:'_Button'),#こっちは影響なし
> Gtk::Label.new('_Tab', true))#こっちは影響あり
>
>
>第二引数を省略するかfalseを指定すると、ニーモニックが無効になるので
>落ちなくなると思います。
>
>notebook.append_page(Gtk::Button.new(label:'_Button'),#こっちは影響なし
> Gtk::Label.new('_Tab'))#第二引数を省略すれば落ちなくなる
確かにこの通りになりました。ここはニーモニックのオン・オフが問題だったん
ですね。
|