OSC 2015 浜名湖

By ftake @ 2015-02-12 23:21

週の真ん中の2月11日に開催されたオープンソースカンファレンス2015浜名湖に出展してきました。思った以上に多くの方にブースに来て頂き、資料がなくなってしまいました。セミナーのスライドは Slideshare にあります。

写真

(1) hashimom さんと浜松餃子で前夜祭。餃子以外にもローカルフードを堪能しました。(2) ブースの様子。今回は特大はお留守番で、中と黄緑小とちびたちです。松屋の人からの差し入れの豊橋名物のブラックサンダーが子供たちに人気でした。(3) ぎーこもやっぱりうなぎパイが好きなようです。(4)(5) 懇親会は浜松の地ビールのお店にて。 帰りは圧倒的な青勢力で駅前のポータルを制圧しながら帰る展開になりました。

1-P10602952-P10603133-P10603246-P10603475-P1060344

次のイベントはデベロッパーズサミット(金曜日のみ Debian JP ブースを間借り)と、オープンソースカンファレンス東京/春です。どちらもコミケで完売した同人誌を頒布予定です。OSC 東京は土曜日に Scribus と Krita のセミナーがあります。

https://www.ospn.jp/osc2015-spring/modules/eguide/event.php?eid=32

また、ユーザーのみなさんには、ブースを盛り上げるほうにもご協力頂けると幸いです。

Geeko Magazine Special Edition 2014 冬

By ftake @ 2014-12-21 19:38

12月30日(火) コミックマーケット C87 西い35a にて、Geeko Magazine の特別号を頒布します。(500円予定)

内容は

  • openSUSE 13.2 の紹介
  • Scribus や Inkscape でシールや名刺、冊子の作成
  • 結婚式に向けた画像編集や、披露宴の入場時に再生するインスト版の作成のしかた
  • SORBS の迷惑メール判定
  • openSUSE の小説

別冊で openSUSE 女子部による、YaST のガイドが付いてきます。

Geeko Magazine 2014冬 表紙

表紙

また、30日の夜には、毎年恒例の openSUSE 大忘年会が開催されますので、ご参加をお待ちしています。

10月17と18日に初のアジア地域でのopenSUSE Summit が北京航空航天大学で開催されました。 46-P1050093

顔を合わせることが重要

openSUSEの開発は世界中からの多くの人が関わっているため、主なコミュニケーション手段は、メールやオンラインシステムを通して行われます。openSUSE.Asia Summit の重要な目的の1つは、普段オンラインでしか交流の無い人と実際に会うことです。実際に、会場入りすると、次々と挨拶が始まります。まずはopenSUSE.Asia Summitの準備を一緒にしてきた運営メンバー、そして日本語入力まわりを協力してパッケージングしているHillwood(中国人)と出会いました。

実際に会うことで初めて「どのような人か」分かることは多く、今後のオンラインコミュニケーションにも役立つのではないかと思います。 Asia Summitの発起人で、台湾のコミュニティメンバーのsakanaは「イベントの規模や、話す言葉は重要ではない。会う機会を作ることが重要」といっていました。実際に、今回もほとんどのセッションが中国語でした。

openSUSEの今後の方向性

基調講演では、openSUSE Board長のRichard BrownとSUSEのエンジニアリング副社長であるRalf FlaxaがともにopenSUSEとSLESの今後の役割についてふれました。13.2のリリースと同時に、ローリングリリースのTumbleweedがFactoryのスナップショットベースとなり、より最新のフルパッケージがディストリビューションとして提供されます。13.2に向けて整備してきた自動テストフレームワークopenQAがこれを可能にしました。

一方、エンタープライズ向けのSLESと、新しさを求めるopenSUSEの間にはギャップがあります。このギャップを埋めるアイデアとして、バージョン番号付きのopenSUSEのリリースサイクルを見直すこと、長期サポートをするEvergreenプロジェクトが紹介されました。

23-P1050024

主な講演

Max Linは13.2以降のリリースの鍵となる、openQAとStagingプロジェクトの紹介を行いました(2セッション)。この2つの役割を簡単に説明すると、パッケージメンテナーによって更新されたパッケージは Factory に取り込む前に、まずはStagingプロジェクトに送られ、Staging プロジェクトのパッケージとFactoryの他のパッケージを合わせた状態でテストが行われます。このテストに使われるフレームワークがopenQAです。OSを仮想マシンで起動し、アプリケーションの起動・キーの入力などから構成されるテストケースを自動で実行します。openQAはGUIのテストにも対応しており、画面上に表示されている文字列が期待したものと同じかを判定することもできます。

その他には、Gary Linによるセキュアブートが有効な環境下でopenSUSEを動かす仕組みの解説もありました。現在のセキュアブートの環境では、Microsoftの鍵で署名されたブートローダーしか起動できませんが、署名されたプリローダーのShimを通してShimの鍵で署名されたGRUBを起動できます。また、マシン所有者のカスタムブートローダーやカーネルはmachine owner keyという鍵を用いて署名し、セキュアに起動できることが紹介されました。ブートローダーやカーネルの署名はOBSを通して簡単に行うこともできます。

台湾・日本・インド・北京のopenSUSEコミュニティの活動についての紹介も行いました。(日本は筆者が担当)インドコミュニティでは頻繁にパーティを開くようで、これがコミュニティを盛り上げる秘訣だと言っていたのが印象的でした。 私の発表スライド「A closer look at fonts and font rendering system on openSUSE」のスライドはこちらです。Notoフォントの話や、fontconfig、ヒンティングについて話しました:

ワークショップ

会場で実際に手を動かすワークショップもいくつか開催されました。OBSワークショップでは学生ボランティアのメンバーが初めてのパッケージングに挑戦していました。

昼食は吉野家! (#matsuyanow ならず)

北京の町中にはセブンイレブンを始めとする日本でお馴染みのお店がちょくちょく見られますが、吉野家もそのうちの1つです。Summitの昼食は2日とも吉野家でした。とても人気があるようで、お昼の大混雑の中、参加者全員でお店に押しかけました(残念ながら、OSC界隈で人気のある松屋は見当たりません)。お店の雰囲気は日本のハンバーガーチェーン店に似ています。牛丼・豚丼・鶏丼・きのこ丼と一緒にコーラを頼むのが定番だそうです。

27-P1050040 28-P1050041 45-P1050091

ライトニングトーク

OSCでお馴染みの、最後のLT大会にしてみました。時間を拡大して当日申し込みを可能にしてみました。中でも面白かった発表は、Justin Wongによるgdanmakuの紹介です。gdanmakuはニコニコ動画のようなコメントを、スクリーン上に表示するアプリケーションで、LT会場からブラウザ経由でコメントを投稿していました。

gdanmaku

その他、食べ物など

10-P1040991 20-P1050017 34-P1050058 35-P1050061 56-P1050168 55-P1050166 57-P1050163

次回以降は?

2日間を通して、アニメが好きだとか、今度日本に行くけど、どこに行くべきか、次回は秋葉原で開催して欲しいといった話題が上がっていました。次回は台湾になりそうですが、より多くの人が日本から参加してもらえれば…と思います。(写真は主にボランティアのみなさん)

volunteers at openSUSE.Asia Summit 2014

JAVAのバグについて

By 杜若 桔梗 @ 2014-11-15 22:48

前回の投稿からずいぶんと間が開いてしまいました。桔梗です。

今回は珍しくLinux上でとあるソフトを動かしたときのお話です。

みんなも知っているSendmailというMTAがありますね。これの商用製品のアドオンという形で公開されている製品があるのですが、
この導入作業で遭遇したトラブルのお話です。
まあ、真犯人はバグだらけのJDK1.7系列ということなのですが、なかなか見つける手順というものは探してもないものですよね。
さっくりとお話をしますと、CoreDUMPが原因でフェイルオーバーするシステムがあると。原因はなんでしょうか、とう調査依頼です。
それならgdbで出力されたCoreをみてあげればいいわけです。コマンドライン上からは「gdb Coreを出力した実行ファイル Coreファイル」です。
その後に「thread apply all bt」と打つことですべてのスレッドをバックトレースすることができます。
これで、問題を起こしたスレッド、言い換えればCoreファイルを出力したスレッドの動きを追うことができます。
このときはメモリ周りのエラーでしたので重点的にGlibcやらLinux Kernel側を追っていました。今だからいえますが、これは思いっきり見当違いだったわけです。
真犯人は一番最初のスレッドにありました。ContinueInNewThreadだと?この後のスレッドはほとんどがsem_waitやら、pthread_cond_waitやら続いていました。
そこで、JDKのソースを探してみたところ・・・・・・

OpenJDK / jdk7u / jdk7u / hotspot/src/os/posix/launcher/java_md.cの1888行目以降を見てください。

ContinueInNewThread(int (JNICALL *continuation)(void *), jlong stack_size, void * args) {
int rslt;
#if defined(__linux__) || defined(_ALLBSD_SOURCE)
pthread_t tid;
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);

if (stack_size > 0) {
pthread_attr_setstacksize(&attr, stack_size);
}

if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) {
void * tmp;
pthread_join(tid, &tmp);
rslt = (int)(intptr_t)tmp;
} else {
/*
* Continue execution in current thread if for some reason (e.g. out of
* memory/LWP) a new thread can’t be created. This will likely fail
* later in continuation as JNI_CreateJavaVM needs to create quite a
* few new threads, anyway, just give it a try..
*/
rslt = continuation(args);
}

pthread_attr_destroy(&attr);

とありますね。pthread_join()のところで場合によってはデッドロックが発生しますよね、これ。
たしかこの問題はJAVA1.8(8)で解決されていたように思いますがいかがでしょうか。

詳しい解説はこれから。

1888行目からの処理ですが、
pthread_createで pthreadを起動して、pthread_join でpthreadの終了待ちをしています、
この pthread_join は、ブロッキング関数の為、pthread_create で起動した処理が終了しないと、
デッドロックにはまって、ContinueInNewThread が終了せず、pthreadのIDが、スタックの変数の為、メソッドの外から終了させることもできません。

このソースでは、ContinueInNewThread で作ったソースがタイムアウトで終了する事もなく、外から殺す事も出来ない為、引き渡した処理によってはデッドロックが発生する致命的なバグです。

私も私でよくこんなもん見つけたよね・・・・・・

もちろん、openSUSEにはopenJDKが導入されています。できるだけ、openJDK8を利用した方がいいと思います。

12月30日(火) コミックマーケット87に参加します。場所は 西い35a です。
配布物は、いつもの Geeko Magazine を拡大した Geeko Magazine を予定しています。openSUSE について、盛りだくさんで貴重な1冊にしたいと考えていますのでよろしくお願いします。

現段階では次のような内容を予定しています。

  •  特集: openSUSE で同人活動(原稿書きや入稿データ作成、お絵かきなど)
  •  小説
  •  openSUSE 女子部 (イケメン?)

詳細は決まり次第お知らせします

執筆者募集

今回の Geeko Magazine の発行への貢献者を募集しています。

記事の提供

  •  特集枠: 上記のお題に沿った記事を提供して下さい(特に音楽とか、誰か書きませんか?)
  •  ネタ枠: ちょっと見に行ってみようかなと思うような、ネタを募集しています
  •  自由枠: 他の人の記事の挿絵、イラスト、漫画、特集枠に入らない技術ネタ

当日のスタッフ

  •  コスプレ(と衣装)

貢献して頂いた方には、できあがった Geeko Magazine を進呈します。

応募方法: コメント、Twitter、opensuse-ug のメーリングリスト、Facebook など何かしらの方法でお知らせ下さい。
記事の最終締め切り: 11月30日(ネタ枠はできるだけ早い方が良い)
フォーマット: テキストと画像など
レイアウトや文章等の調整はこちらで行います。

Geeko Magazine が欲しい人募集

いつもの A4 1枚の Geeko Magazine とは異なり、ある程度の印刷代がかかる見込みです。多くの部数を作成すると、単価は安くはなります。(50部であれば500円程度)

そこで、どの程度需要があるかを調査するために、事前予約を受け付ける予定です。また会場・または関東エリアでは受け取れない人のために、各地方で欲しい人に頒布して頂ける方がいれば、ご協力をお願いします。

 

openSUSE.Asia Summit のレポートはもう少しお待ち下さい。

この方法で、どのような条件でも確実にインストールできるか怪しいですが、本家 wiki にも書いていないので紹介します。依存パッケージが入らないケースがあれば教えてください

  1. openSUSE 用の RPM を Skype のウェブサイトからダウンロード
  2. ダウンロードしたファイルのあるディレクトリへターミナルで移動し、次のコマンドを実行(ファイル名はダウンロードした実際のファイル名に合わせてください)
sudo zypper in skype-4.3.0.37-suse.i586.rpm

オープンソースカンファレンス(以下, OSC) 2014 Kansai@Kyoto に出店しました!!

どうもはじめまして, 初 geeko blog 担当の iltsuka です.

# ちょこちょこOSC やKOF のお手伝いしてます.

 

さて, 今回のセミナーは Linux 初心者を対象としたもので, 「新しい生活を Linux といっしょに始めよう」 というのをやりました.

こういうところでのセミナーは初だったのですが, 緊張しながらも何とかなるものですね! (自称;

セミナーで使った資料は以下にアップしています.

なにかミスがあれば修正版をアップするので, 連絡があると嬉しいです.

新しい生活をLinuxといっしょに始めよう! from Shun Kittaka

 

ブースの方は, ビラは100部中残り数部 (詳細はど忘れ…) になるまで配りました.

今回はビラとステッカー(シール) もあって, ステッカーは枚数が限られていたのでそれっぽい人(?) 限定で配ってました.

特大ぎーこはもはや, ぬいぐるみというより看板娘として大人気でした~!

客を引き寄せたり, 某ぺんぎんに引き寄せられたり (?)

OSC 2014 kyoto OSC 2014 kyoto