K2さんの雑記
2003-08-02(Sat) [長年日記]■ [TPZ]RubyForTPZの文書制限?Rubyの拡張ライブラリ側にバグを発見。ポインタのインクリメントをしないといけないのに、キャストの仕方を間違えていてインクリメントが正常にされていなかったという馬鹿な間違い。今までなぜ気づかなかったのだろう... TPZ拡張ライブラリとRubyForTPZプラグイン(TaskPrize側)は、イベントとメモリマップトファイルで通信を行っている。この通信を通して、TaskPrizeから文字列を引き出したり、Ruby側からTPZに文書を流し込んだりできる。 大容量データに対応できるように、メモリマップトファイル(8kB)のサイズを超えたデータを転送したい場合は、データを8kBごとのパケットに分けて分割転送するようなアルゴリズムになっている。 この部分のRuby -> TPZ側のパスでバグが発生していた。大きな文書をスクリプト側からTPZ側に転送することがあまりなかったから発見されなかったのだろう。非常に低レベルな階層だけに、開発時にしっかり動作確認をしたはずなんだが... すんません。 ■ [TPZ]本体の不具合(プラグイン)こちらは永さんの報告でわかった不具合。現在のアイテムが持つ文書を、TPZPlugin_DeleteDescriptionで削除しようとするとおかしくなるという不具合。 プラグインからこのAPIで削除要求が合った場合、まずアイテムオブジェクトから文書の削除を行う。その後現在のアイテムが持つ文書だったら文書タブ等を再構築しなきゃならない。このときにK2Editクラスが持つテキストをアイテムオブジェクトに対してセーブしていた。これがバグでして、削除した文書にテキストを保存しようとするので問題になる。 K2Editクラスのテキストを文書に保存するのを文書削除より先に行うことで修正完了。Rubyスクリプトのドキュメント削除等にも絡むので、即リリースとしました。 ■ FPGAのバグー本職の方。 今回のバージョンアップで、あるFPGAのダウンロードオブジェクトに修正を入れた。このFPGAは、退社した人から引き継いだ後はじめて修正を入れた。FPGAの中身に対して配線量が限界に達していて、もうほとんど動かせなくて、VHDLを数行編集してリコンパイルするとコンパイル不可能だったりして、うまくない。 もともと配線遅延制約(これは設計者が与える)に対して、条件を満たせないワーニングが出ていて、非常に気になったのだが、修正後リコンパイルして同様のワーニングが出るも、無視した。 一応動作もOKで、ほっとしていたのが6月はじめ。今まで何事もなく動作していた。 7月リリース予定が、他の不具合等やスケジューリングの都合で8月末くらいに伸びて、そろそろという時期にさしかかってきた矢先、ある装置で、このFPGAに起因する不具合が発生。どうも例の遅延制約を満たせないワーニングのためではないかと考えているのだが、今のところ詳細不明。 先も書いたように、容量不足で、もうほとんどVHDLソースを動かせない状態なので、非常にやっかい。今のことろこんな不具合修正できないぞ状態。来週から苦闘が始まる予定。まずデバッグ用のテストスタンド作成からデバッグ用プログラム等を用意するところから始めないといけないので、長期戦になりそう。だが時間はないし... 夏休みは取れなさそうな雰囲気になってきた... 1965|09|
|
//
自己紹介
自己紹介
広告
計るだけダイエット
つっこみリスト
TrackBacks
日記仲間
な/
す/
ひ/
最近の日記
|