お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-04-27 22:48:27

NoriSen
新しいメンバ
登録日: 2008-04-27

[Hardy] OOo Base が Segmentation Fault

OpenOffice Base + MyODBC を使っておりますが、
Gutsy→HardyにUpgradeしてからテーブル表示や
クエリーを表示しようとすると、突然落ちてしまい、
次に起動するとドキュメントの回復ウインドウが表示
されるようになってしまいました。
なにか対策はないでしょうか。できればCDからのクリーン
インストールとかはなるべく避けたいです。

発生までの手順:
1) oobaseを立ち上げる
2) 既存のデータベースを開く (MyODBCでMySQLに接続する設定済み)
3) データベースのテーブルアイコンをクリックして、MySQLの
    パスワードを入力。
4) デーブル名、或はクエリをダブルクリックすると、落ちる。

状況:
・Gutsy AMD64版のAlternative CDで1週間前ぐらいにインストール
・昨日HardyにオンラインUpgrade (Upgrade中は特に問題は出ていません)
・Gutsy (OOo 2.3) では特に問題はなかった。HardyではOOo 2.4になっている。
・libmyodbcは再インストールしてみましたが、変わりませんでした。
・コマンドラインでMySQLサーバにログインしてクエリ等を実行しても
   特に問題が見られない。
・どんな単純なテーブルを表示しようとしてもダメ。例えば以下のような
   テーブルを作っています。

mysql> desc language ;
+----------+----------------------+------+-----+---------+----------------+
| Field    | Type                 | Null | Key | Default | Extra          |
+----------+----------------------+------+-----+---------+----------------+
| id       | smallint(5) unsigned | NO   | PRI | NULL    | auto_increment |
| language | smallint(5) unsigned | YES  |     | NULL    |                |
+----------+----------------------+------+-----+---------+----------------+
2 rows in set (0.45 sec)

・落ちる瞬間をgdbでトレースしてみると、以下のようにodbc関連で
   Segmentation Faultしているようです。

(gdb) where
#0  0x00002b680b01fc76 in poll () from /lib/libc.so.6
#1  0x00002b680f231366 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00002b680f2319af in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00002b68128dd4a7 in ?? () from /usr/lib/openoffice/program/libvclplug_gtk680lx.so
#4  0x00002b680684c30e in Application::Yield () from /usr/lib/openoffice/program/libvcl680lx.so
#5  0x00002b680684c3e7 in Application::Execute ()
   from /usr/lib/openoffice/program/libvcl680lx.so
#6  0x00000000004357c7 in desktop::Desktop::Main ()
#7  0x00002b68068518e6 in ?? () from /usr/lib/openoffice/program/libvcl680lx.so
#8  0x00002b68068519d5 in SVMain () from /usr/lib/openoffice/program/libvcl680lx.so
#9  0x00000000004267fd in main ()
(gdb) c
Continuing.
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x2b6812838900 (LWP 20803)]
0x00002aaab54da11a in connectivity::odbc::ODatabaseMetaDataResultSet::getInt ()
   from /usr/lib/openoffice/program/libodbcbase2.so
(gdb) where
#0  0x00002aaab54da11a in connectivity::odbc::ODatabaseMetaDataResultSet::getInt ()
   from /usr/lib/openoffice/program/libodbcbase2.so
#1  0x00002aaab35632f6 in ?? () from /usr/lib/openoffice/program/libdbtools680lx.so
#2  0x00002aaab3564cf0 in connectivity::OTableHelper::refreshColumns ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#3  0x00002aaab3531053 in connectivity::sdbcx::OTable::getColumns ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#4  0x00002aaab30d3511 in ?? () from /usr/lib/openoffice/program/libdba680lx.so
#5  0x00002aaab30d27f3 in ?? () from /usr/lib/openoffice/program/libdba680lx.so
#6  0x00002aaab35b982c in connectivity::OSQLParseTreeIterator::appendColumns ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#7  0x00002aaab35ba956 in connectivity::OSQLParseTreeIterator::setSelectColumnName ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#8  0x00002aaab35be5aa in connectivity::OSQLParseTreeIterator::traverseSelectColumnNames ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#9  0x00002aaab35be974 in connectivity::OSQLParseTreeIterator::impl_traverse ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#10 0x00002aaab317e3c3 in ?? () from /usr/lib/openoffice/program/libdba680lx.so
#11 0x00002aaab3183c3b in ?? () from /usr/lib/openoffice/program/libdba680lx.so
#12 0x00002aaab31846a7 in ?? () from /usr/lib/openoffice/program/libdba680lx.so
#13 0x00002aaab35a7602 in ?? () from /usr/lib/openoffice/program/libdbtools680lx.so
#14 0x00002aaab35a87cc in dbtools::StatementComposer::getQuery ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#15 0x00002aaab3552d3e in dbtools::getComposedRowSetStatement ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#16 0x00002aaab355313e in dbtools::getCurrentSettingsComposer ()
   from /usr/lib/openoffice/program/libdbtools680lx.so
#17 0x00002aaabc545291 in ?? () from /usr/lib/openoffice/program/libfrm680lx.so
#18 0x00002aaabc549779 in ?? () from /usr/lib/openoffice/program/libfrm680lx.so
#19 0x00002aaabc49b1f5 in ?? () from /usr/lib/openoffice/program/libfrm680lx.so
---Type <return> to continue, or q <return> to quit---
#20 0x00002aaabc49b28d in ?? () from /usr/lib/openoffice/program/libfrm680lx.so
#21 0x00002aaabc49c5e8 in ?? () from /usr/lib/openoffice/program/libfrm680lx.so
#22 0x00002aaabc49cfbc in ?? () from /usr/lib/openoffice/program/libfrm680lx.so
#23 0x00002aaab3e672c9 in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#24 0x00002aaab3e9284d in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#25 0x00002aaab3e9362f in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#26 0x00002aaab3e9545c in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#27 0x00002aaab3e960a9 in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#28 0x00002aaab3e2c1db in dbaui::OGenericUnoController::initialize ()
   from /usr/lib/openoffice/program/libdbu680lx.so
#29 0x00002aaab3e3d82e in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#30 0x00002aaaab526b5e in ?? () from /usr/lib/openoffice/program/libfwk680lx.so
#31 0x00002aaaab52892a in ?? () from /usr/lib/openoffice/program/libfwk680lx.so
#32 0x00002aaaab5290a8 in ?? () from /usr/lib/openoffice/program/libfwk680lx.so
#33 0x00002aaaab401435 in ?? () from /usr/lib/openoffice/program/libfwk680lx.so
#34 0x00002aaab3d6b2e2 in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#35 0x00002aaab3d6bc6c in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#36 0x00002aaab3d6aa89 in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#37 0x00002aaab3ee49f5 in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#38 0x00002aaab3ee56cf in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#39 0x00002aaab3ef8c3f in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#40 0x00002aaab3f11674 in ?? () from /usr/lib/openoffice/program/libdbu680lx.so
#41 0x00002b68073965e0 in ?? () from /usr/lib/openoffice/program/libsvt680lx.so
#42 0x00002b6806a25a3c in ?? () from /usr/lib/openoffice/program/libvcl680lx.so
#43 0x00002b6806a26b65 in ?? () from /usr/lib/openoffice/program/libvcl680lx.so
#44 0x00002b681290141e in ?? () from /usr/lib/openoffice/program/libvclplug_gtk680lx.so
#45 0x00002b6812c7787f in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#46 0x00002b680edbabcf in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#47 0x00002b680edce6bc in ?? () from /usr/lib/libgobject-2.0.so.0
#48 0x00002b680edcfde6 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#49 0x00002b680edd0483 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#50 0x00002b6812d7ee55 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#51 0x00002b6812c70b92 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#52 0x00002b6812c71b35 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#53 0x00002b680e28758c in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#54 0x00002b680f22e262 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#55 0x00002b680f231516 in ?? () from /usr/lib/libglib-2.0.so.0
#56 0x00002b680f2319af in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#57 0x00002b68128dd439 in ?? () from /usr/lib/openoffice/program/libvclplug_gtk680lx.so
#58 0x00002b680684c30e in Application::Yield () from /usr/lib/openoffice/program/libvcl680lx.so
#59 0x00002b680684c3e7 in Application::Execute ()
   from /usr/lib/openoffice/program/libvcl680lx.so
#60 0x00000000004357c7 in desktop::Desktop::Main ()
#61 0x00002b68068518e6 in ?? () from /usr/lib/openoffice/program/libvcl680lx.so
#62 0x00002b68068519d5 in SVMain () from /usr/lib/openoffice/program/libvcl680lx.so
#63 0x00000000004267fd in main ()
(gdb)

オフライン

 

#2 2008-04-30 22:20:58

avidya
ゲスト

Re: [Hardy] OOo Base が Segmentation Fault

 MyODBC ということは MySQL をお使いなんですね。
 それ以前に Ubuntu 同梱の OOo Base の SQLエンジンにバグがあるようなんです。同梱版で SQL を発行したら、OOo Base が固まるという現象が生じています。
 仕方がないので、本家の OOo をインストールして使っています。本家 OOo の方が安定して動いています。
 それと 8.04 になってから、各種ライブラリがバージョンアップしてますので、MyODBC を再ビルドした方がいいかもしれません。

最後の編集者: avidya (2008-04-30 22:23:28)

 

#3 2008-04-30 22:32:05

NoriSen
新しいメンバ
登録日: 2008-04-27

Re: [Hardy] OOo Base が Segmentation Fault

ご回答ありがとうございます。再ビルドですか。
不慣れな作業ですが挑戦してみます。

ちなみに、結局クリーンインストールしてみましたが、現象は変わりませんでした。
今はとりあえずJDBCに切り替えてやってます。JDBCは動作が鈍いですが…。

オフライン

 

#4 2008-05-02 05:31:07

NoriSen
新しいメンバ
登録日: 2008-04-27

Re: [Hardy] OOo Base が Segmentation Fault

MyODBCを再ビルドしてみましたが、変わりませんでした。
本家のtarballを持ってきてビルドしたほうがいいのかも
知れませんが。

% sudo apt-get install libmysqlclient15-dev
% sudo apt-get install unixodbc-dev
% sudo apt-get install build-essential
% sudo apt-get source libmyodbc
% cd myodbc-3.51.15r409
% sudo dpkg-buildpackage -b -uc
% sudo dpkg -i libmyodbc_3.51.15r409-2_amd64.deb


試しにoobaseも同じように挑戦しましたが、壊れたパッケージができて
ビルドがまともにできませんでした。断念。こわれてないパッケージ
を入れてみると なぜか brOffice というロゴに変わって立ち上がり
ましたが、問題は解決しませんでした。

本家OOoの方はx86_64のdebパッケージが無いようですね。

オフライン

 

#5 2008-05-02 05:48:35

NoriSen
新しいメンバ
登録日: 2008-04-27

Re: [Hardy] OOo Base が Segmentation Fault

解決したっぽいです。これが一番手っ取り早かったようです。

% wget ttp://download.softagency.net/MySQL/Downloads/MyODBC3/mysql-connector-odbc-3.51.19-linux-x86-64bit.tar.gz -P /tmp
# URLが省略表示されるのでttp:で書きました。正しくはhttp:です。
% cd /usr/local
% sudo tar xvf /tmp/mysql-connector-odbc-3.51.19-linux-x86-64bit.tar.gz

mysql-connector-odbc-3.51.19-linux-x86-64bit というディレクトリができるので、

% sudo ODBCConfig

のDriverタブでMyODBCを選択してConfigure...をクリック。

Driver64の欄:
  /usr/local/mysql-connector-odbc-3.51.19-linux-x86-64bit/lib/libmyodbc3-3.51.19.so
Setup64の欄:
  /usr/local/mysql-connector-odbc-3.51.19-linux-x86-64bit/lib/libmyodbc3S-3.51.19.so

これでoobaseを立ち上げてmysqlにログイン後、テーブルやクエリが普通に表示
されました。
どうもありがとうございました。

最後の編集者: NoriSen (2008-05-02 05:53:29)

オフライン

 

Board footer

Powered by FluxBB