!kiyoka.blog.2013_02 RSSPLAIN

Related pages: !kiyoka.blog.list
55555553313333333333333333332233333333332222111111103335555555555555555555544555555555555555505
5

kiyoka日記。NendoSekkaの開発や、最近思うことなど

5

最新10件!kiyoka.blog   過去記事一覧!kiyoka.blog.list

5

kiyoka.blog_header 

5

このブログを書いている人: 西山 清香(kiyoka) - twitter: @kiyokaEXT

5

5

 

5

 

3

kiyoka.2013_02_22[MacRuby][PasteHub] SEGVしない環境変数の組合せ

3

 

1

自分用メモ。あまりにも時間をかけたため、残してなかったら多分後悔するだろう。

3

 

3

PasteHubのクラウド同期処理をMacRubyで動かすと、まれに落ちる。

3

MacRubyのバージョンは次のもの。

3
 kiyoka/MacRuby at build_macruby_for_10.6_on_Lion · GitHubEXT
3

 

3

問題のコードは次のようなPure Rubyのコードだ。

3
    def fetchServerList( latestKey, auth )
3
      client = PasteHub::Client.new( auth )
3
      if latestKey.is_a? String
3
        STDERR.puts "Info: fetch one entry"
3
        list = [ latestKey ]
3
      else
3
        STDERR.puts "Info: fetch ALL entries"
3
        list = client.getList()
3
      end
3
      client.setServerFlags( list )
3
    end
3

 

2

落ちる場所は決まって、if latestKey.is_a? Stringの行だ。

2

latestKeyが参照する先の文字列オブジェクトがこっそりGCされるのか、gdbで見ると不正なアドレス参照で落ちていることがわかる。

3

 

3

MacRubyの様々な最適化オプションを外していったところ次の設定が安定することがわかった。

3
export VM_DISABLE_RBO=1
3
#export GC_DISABLE=1
3
export VM_OPT_LEVEL=0
3
export GC_DEBUG=1
3
export AUTO_USE_TLC=0
3

 

3

さて、実際にPasteHubをデプロイするとなると、GC_DEBUGは上記のままとなるが、結果はいかに。

3

 

2

追記:

2

どうやら「export AUTO_USE_TLC=0」が効いたっぽい。

2

しかし、これをまじめに追いかけてMacRuby本体を直すところまではコストが合わないなぁ。

2

 

1

XCodeの環境変数で以下を指定したら、3日使っても落ちなくなったので一件落着。

1

 

1

この画面は、XCodeのメニュー「Product」 → 「Edit Scheme...」で辿りつける。

1

 

1
 XCode_and_MacRuby_EditSchemas
1

 

1

 

0

comment (disabled)

3

3

 

3

 

5

kiyoka.2013_02_15[Webサービス][クラウド] PasteHub.net αサービスユーザ募集

5
 iStock_000019296334XSmall
5
 PasteHub.netEXTというサービスを作りました。早期ユーザーを募集しています。
5

PasteHubは一言でいうと「自分の持っているコンピュータのコピペをクラウドで同期する」という、ただそれだけのサービスです。

5

Dropboxのコピペ版といったところでしょうか。

5
 iStock_000009322220XSmall
5

 

5

開発動機

5

開発動機はこちらを見て頂ければと思います。※だいぶ前の発表スライドなんですが、モノが形になるまで非公開にしておりました。

5
 Pastehub at_kansaiemacsEXT
5

 

5

現在は、対応OSがMacOS XとLinux上のEmacsのみとなっています。

5

要望次第で、次にどのプラットフォームをサポートするかが決まります。(Windowsやvimなどが次の候補です)

5

 

5

想定ユーザー

5

日頃から多くのLinuxサーバーに入ってEmacsで編集する方に向いています。

5

常にコピペが同期されている便利さに慣れると、これ無しでは生きていけません。

5

 

5

こんな方に向いています。

5
Macを2台以上持っている。
4
デスクトップがMacで、リモートサーバーがLinux(Emacsを常用)。
4
Linux(Emacsを常用)の環境をたくさん管理している。(VPS/AWS/IaaSなど)
5

 

5

ちなみに私はMacBook ProからAWSのEC2環境やさくらのクラウドに入ることが多いです。

5

多くのインスタンスでコピペ(kill-ring)が同期しています。

5

 

5

始め方

5

 

5

ユーザ登録依頼メールを送って下さい。

5

あとはMacOS X用クライアントやLinux用のクライアントをダウンロードしてユーザ情報を入力します。

5
 リンクEXT
5

 

5

オープンソース

5

全てオープンソースです。

5
 kiyoka/pastehub · GitHubEXT
5

 

5

この先どう発展していくかは未知数ですが、応援よろしくお願いします。

5

 

0

comment (disabled)

5