コメを噛め

コメを噛め

rerofumi の電子工作メモ

hatena bookmark

Gynostemma Ver.1.50.0 (20110910)をリリースした。

お待たせしましたというか、ようやくというか、特殊なパターンで内側にゴミが残るバグを修正することができた版となる。

通常私が使っている分には出会わない現象だったので確認が遅れたのだけれども、

時たま上の画のようにパターン内側にひげゴミが残る事があった。
出る状況も限られていたのでなかなかわかりにくかったのだが、乱数で任意のパターン線を数本引いて問題ないかを評価するユニットテストで回数ぶんまわすことでようやく不具合が生じる単純パターンを見つけ出すことができた。

わかってしまえばどうと言うことも無い簡単なバグであった。

その不具合を修正することでようやくゴミ残りバグを根絶することができた。

まあ、それが無くなったからといって完璧では無いことは作った本人が理解しているのだけれども、ひとつよろしくお願いいたします。

10 Comments to “Gynostemma Ver1.50 (20110910) リリース”

  1. トト Says:

    はじめまして トト と申します
    このソフト 使わせていただきたくダウンロード 実行しましたが立ち上がらない状況です

    win7 64ビットでは無理でしょうか?

    .NET Framework とその上で動作する IronRubyはインストール済みです

    よろしくお願いいたします

  2. rerofumi Says:

    トトさま、ご報告ありがとうございます。
    Windows7 64bit は私の開発環境であり普段使いの環境であるので問題はありません。

    少々気になって調べたのですが、どうやら IronRuby1.1.3 を用いるとランチャーアプリで
    ある gymnostemma.exe がクラッシュするようです。単に起動用のコンビニエンスツール
    だけで本体は動作しますし IronRuby1.0 .Net4.0 では問題がありません。

    現象を追ってみますがすぐの解決はできなかったため、IronRuby1.0 に落としてご利用
    いただくか、コマンドプロンプトから
    > ir.exe gynostemma_pcb.rb
    と直接起動していただくかでひとまずのお試しができるようになります。
    よろしくお願いいたします。

  3. トト Says:

    管理人様 ご回答ありがとうございます

    私のは

    ironruby-1.0v4.msi
    gynostemma-20110910.zip
    dotNetFx40_Full_x86_x64.exe

    をインストールしておりますが起動しない 上 エラーメッセージも出ないようです
    ん・・・

    ironruby-1.0より

    ir.exe gynostemma_pcb.rb を直接打つと (ir):1: undefined method ‘ir’ for main:Object(NoMethodError) とメッセージがでます

    どこが間違っているのか アドバイスよろしくお願いいたします
    お手数おかけして すみません

  4. トト Says:

    度々 失礼いたします

    ただいま win7上の バーチャルXPで 同じソフト内容をインストールしたところ無事起動しました

    なぜ win7で起動しないのか・・

  5. rerofumi Says:

    To: トトさん

    こちらでも Win7 64bit をクリーン環境(なVirtualMachine)で用意して確認してみました。
    dotNetFx40_Full_x86_x64.exe は無くても Windows Update が当たっていれば動作する様です。

    そして、おそらくの原因がわかりました。
    IronRuby の都合で日本語を含むパス名に置かれていると動作できないようです。ユーザー名など半角英数以外を含んでいるフォルダが途中にあり、その下に置いてはいませんか?
    回避策は探していますが短時間では解決できませんでした、ひとまず回避するために半角英数のみのフォルダの下に gynostemma を移動してみてください。

    ちなみに ir.exe gynostemma_pcb.rb と入力するのは、スタート>アクセサリ>コマンドプロンプト で開くコマンドプロンプト上で行ってください。スタート>IronRuby>IronRuby Console の方ではありません。
    gynostemma_pcb.rb が置いてあるフォルダに cd で移動するのをお忘れ無きよう。

  6. トト Says:

    詳しく説明 ありがとうございます

    フォルダの部分は お聞きする前 ルート直下において テストして見ましたが 駄目でした

    ただ バーチャルXPでは 日本語のフォルダに置いていて正常動作します

    わからないながらも 色々試して見ます

    何らか 原因をお気づきの際は教えていただけると うれしいです

  7. rerofumi Says:

    To: トトさま
    ご報告ありがとうございます。
    もう少しだけお付き合いいただけるとありがたく思います。

    起動しないという問題は以下の二つの要因が考えられます。

    1) 起動プログラムの gynostemma.exe が ir.exe を起動できない
    2) ir.exe が本体プログラムを実行中にエラー停止した

    これのどちらか、もしくは両方が起きていると思われるのですが手元の環境では動作しているためどういった問題が起きているのか想像するしかありません。
    そこで、gynostemma.exe の問題を切り分けできるよう起動プログラムを何種類か用意したファイルを用意しました。
    http://www.fumi2kick.com/komekame/wp-content/files/gynostemma_20120128a.zip
    これの gynostemma.cmd で起動するか、しなかったらどういったエラーメッセージが表示されているかをご連絡いただけると幸いです。

    既知の問題としては、
    1) の方で、IronRuby をインストールしたり入れ替えした直後にはスタートメニューに登録されていて実行することができたとしても shell が ir.exe を見つけてくれなくてエラーになる。という現象がありました。この場合 Windows を再起動することで解決します。
    2) の方では日本語フォルダに置いていると起動中に失敗して停止するという、昨日描いた問題があります。

    以上、よろしくお願い致します。

  8. トト Says:

    丁寧にありがとうございます

    プログラムは 実行も エラーも出ないので gynostemma.cmdを実行して見ました

    以下の メッセージです

    リンクを見ると .NET Framework 4の問題ですか? 私にはよくわかりません

    .NET Framework 4を消しちゃえば いいのかな?? とは思いましたが 他のアプリで影響が出るのも困るので・・

    .NET Framework 2を 指定して起動できればいいのでしょうか?

    ただ なぜ 同じソフトをインストールで WIN7 上の バーチャルxpで 問題が無いのかも疑問です・・

    すみません なにぶん この辺素人で・・

    お手数おかけしますが よろしくおねがいいたします

    C:\gynostemma_20120128a\gynostemma>ir.exe gynostemma_pcb.rb
    ./class/otk_gl_panel.rb:4:in `require’: An attempt was made to load an assembly
    from a network location which would have caused the assembly to be sandboxed in
    previous versions of the .NET Framework. This release of the .NET Framework does
    not enable CAS policy by default, so this load may be dangerous. If this load i
    s not intended to sandbox the assembly, please enable the loadFromRemoteSources
    switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.
    (LoadError)
    from ./class/otk_gl_panel.rb:4
    from ./class/display_gerber.rb:2:in `require’
    from ./class/display_gerber.rb:2
    from ./class/mainwindow_design.rb:5:in `require’
    from ./class/mainwindow_design.rb:5
    from gynostemma_pcb.rb:5:in `require’
    from gynostemma_pcb.rb:5

    C:\gynostemma_20120128a\gynostemma>pause
    続行するには何かキーを押してください . . .

  9. rerofumi Says:

    To: トトさま
    リポートありがとうございます。
    これでやっと何が起きているか理解することができました。

    状況がわかってしまえばそれが起こる手順も推測できるというもので、手元でも再現させることができました。
    今WindowsはかなりセキュアなOSとなっており、ネットワーク越しに入手したファイルは要注意物として扱い不用意に(ユーザーの同意無しに)実行できないのが基本となっています。
    gynostemma のzipファイルはインターネット越しにダウンロードしたものですので、それを解凍した中身もインターネットから入手したものというフラグが付いています。
    参考 : http://www.atmarkit.co.jp/fwin2k/win2ktips/1363streams/streams.html
    これが同封の OpenTK ライブラリの DLL に付いていたため、動作警戒モードになっていたのですが。.NET framework 4.0 でそのへん仕様が変化しており警戒モードのまま動作させることができなくなっているようです。

    以下のどちらかを実行することでブロックを解除し実行することができます。

    1) ファイルのプロパティから動作ブロックの解除を行う

    OpenTK.dll, OpenTK.Compatibility.dll, OpenTK.GLControl.dll の 3つのファイルにおいてそれぞれファイルのプロパティダイアログを表示し[全般]タブの一番下に[ブロックの解除]というボタンがあったらそれを押して解除する。

    2) zipファイルを解凍専用ソフトで展開する

    gynostemma の zip ファイルを展開する際、Windows Explorer の標準機能で開いてコピーすると、zip ファイルに付いていた「インターネットからダウンしました」フラグがアーカイブ内部のファイルにも継承されます。
    ところが、Explzh や Archive decoder といった圧縮展開ソフトを用いて展開すると、純粋にファイルだけが展開されブロックフラグ(正確にはZoneID)がつきません。

    私は普段 2) の手順を使っていたため今回の現象に出会っていませんでした。

    といった状況のようですので、お手数ですが該当ファイルのブロックを解除した上でご利用いただけますでしょうか。

  10. トト Says:

    ありがとうございます
    解決いたしました

    展開を 標準以外のもので行いました
    ディスクトップの 日本語のフォルダに入れても無事起動しました
    これからも すばらしいソフト 活用させていただきます

    今後も 楽しみに ブログ拝見させていただきます

Leave a Reply