[ja-discuss] Re: 統計-相関のフリーズ

2014-02-03 スレッド表示 baffclan
  baffclan です。
  
  根拠はないのですが、フォントの切替えでフリーズしているように感じました。
  
  目黒さんのサンプルファイルで、G14を選択するとフォント名が切替わります。
  その後、応答がなくなりフリーズします。
  
  OS : Windows7Pro(x64)
  LibO 4.2.0.4
  
  OS : WinXP SP3(x68)
  LibO 4.2.0.1
  
  
  別の不具合と思うのですが、同じファイルでカラムA(一列全部)を選択すると 
  Liberation Sans になっています。ここでフォントを変更するためドロップ
  ダウンリストを開くとフリーズします。
  
-- 
baffclan baffc...@gmail.com


-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted



Re: [ja-discuss] Re: [ja-discuss] Re: [ja-discuss] Re: [ja-discuss] 統計-相関のフリーズ

2014-02-03 スレッド表示 Kohei Yoshida
On Mon, 2014-02-03 at 16:00 +0900, Fuminobu TAKEYAMA wrote:
 武山@openSUSE です
 
 ML でははじめまして

あれ、武山さんここでは初めてでしたか。昨年のOSC立川ではお世話になりま
した。

 デバッグシンボルが付いていませんが、スタックトレースを置いておきます
 https://dl.dropboxusercontent.com/u/12783299/openSUSE/lo42-soukan-gdbtrace.log

おおっ! ありがとうございます。この部分

0x75e30aa2 in SfxItemPool::GetDefaultItem(unsigned short) const () from 
/usr/lib64/libreoffice/program/libmergedlo.so
#0  0x75e30aa2 in SfxItemPool::GetDefaultItem(unsigned short) const () 
from /usr/lib64/libreoffice/program/libmergedlo.so
#1  0x7fffadf6f9e5 in ScColumn::GetOptimalHeight(int, int, unsigned short*, 
OutputDevice*, double, double, Fraction const, Fraction const, bool, unsigned 
short, int) () from /usr/lib64/libreoffice/program/../program/libsclo.so

がかなり参考になりました。特にlibmergedlo.soという部分ですが、これは下位
レベルのライブラリを一つのライブラリに結合することによってスタートアップ
の高速化を目指す手法ですが、リンク時間がかなり長くなってしまうために僕を
含めた開発陣が使うビルドでは使われていません。でもリリースビルドではこれ
が有効になっているようです。Windows版はどうなっているのかはわかりません
が、そちらでも使われている可能性があります。

ビルド時に--enable-mergelibs=yesとすることによって有効に出来ます。

もしこのフリーズがmergelibsが使われたいた時のみに発生するのであれば、僕
のところで再現しないのもうなずけます。

今mergelibsをオンにしてopenSUSEにてビルドしているので、そっちが終わり次
第まだ検証したいと思います。

 IM (IBus) は起動していても、していなくても再現するようです。

そうですね。トレースを見た感じではIMは無関係のようです。

ではでは。


-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted


Re: [ja-discuss] Re: [ja-discuss] 統計-相関のフリーズ

2014-02-03 スレッド表示 Kohei Yoshida
On Mon, 2014-02-03 at 23:34 +0900, Tomofumi Yagi wrote:
 八木です。
 
 目黒さんのファイルを使って、LibreOffice 4.2 と master で不具合を再現でき 
 ました。
 4.2 は、 libreoffice-4-2-0 ブランチのほぼ先端です。
 OS は Windows 8.1 日本語版(64ビット)です。
 
 不具合の再現時は、/core/sc/source/core/data/column2.cxx 内、
 ScColumn::GetOptimalHeight() でループしているように見えました。
 
 このメソッド内で、ScColumn::HasEditCells() を呼ぶのですが(master では 
 822 行の辺り)、
 true を返して且つ、nEditPos  nStart になる時があるように見えます。

八木さん、吉田です。一つお願いできますか?

このメソッド内で、FindFormulaEditText()がend positionを返さない場合で
edit cellの位置がnStartRowよりも上にある状況に出くわした場合のnStartRow
とnEndRowの数値、それとnColとnTabの数値を探って頂けないでしょうか?
nColとnTabはScColumnのメンバーなのでそのままアクセスできます。

それと、たった今このテストコード

https://gerrit.libreoffice.org/gitweb?p=core.git;a=commitdiff;h=fc5eefc903529d1c3548c680b3077eee4e2c7a73;hp=e753233e2e8af04048a17c7163ff5d9d3ffbbf3d

をmasterの方にpushしました。このテストはそちらではパスするでしょうか?
それか若しくはこのテストコード内で問題が再現するようにテストコードに変更
を加えることは可能でしょうか?

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




-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted


Re: [ja-discuss] Re: [ja-discuss] 統計-相関のフリーズ

2014-02-03 スレッド表示 Kohei Yoshida
On Mon, 2014-02-03 at 11:59 -0500, Kohei Yoshida wrote:

 八木さん、吉田です。一つお願いできますか?
...
 いろいろお手数かけます。よろしくおねがいします。

八木さん、忘れてください(笑)。ようやくこっちでも再現しました。あとはこっ
ちでなんとかします。


-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted


Re: [ja-discuss] Re: [ja-discuss] 統計-相関のフリーズ

2014-02-03 スレッド表示 Kohei Yoshida
On Mon, 2014-02-03 at 12:44 -0500, Kohei Yoshida wrote:
 On Mon, 2014-02-03 at 11:59 -0500, Kohei Yoshida wrote:
 
  八木さん、吉田です。一つお願いできますか?
 ...
  いろいろお手数かけます。よろしくおねがいします。
 
 八木さん、忘れてください(笑)。ようやくこっちでも再現しました。あとはこっ
 ちでなんとかします。

恐らくこれ

https://bugs.freedesktop.org/show_bug.cgi?id=72470

と同じ原因ではないかと。セル内に日本語(若しくは中韓)と半角英数が混ざって
いてるcolumn内で発生するようです。あと時間差もあって、しばらく待ってから
出ないとフリーズは再現しないようですね。これは恐らく内部でのscript type
を算出するのに数秒待つからだと思います。

今まだデバッグ中です。


-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted


Re: [ja-discuss] Re: [ja-discuss] 統計-相関のフリーズ

2014-02-03 スレッド表示 Kohei Yoshida
八木さん、

On Mon, 2014-02-03 at 23:34 +0900, Tomofumi Yagi wrote:
 ちょっと頑張って調べたつもりなのですが、外してたらごめんなさい。

ずばりです。素晴らしいです。

添付のパッチを当てると直りますか?

検証をお願いいたします。

ではでは。

-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted


Re: [ja-discuss] Re: [ja-discuss] 統計-相関のフリーズ

2014-02-03 スレッド表示 Kohei Yoshida
On Mon, 2014-02-03 at 14:03 -0500, Kohei Yoshida wrote:
 添付のパッチを当てると直りますか?

MLではattachmentダメみたいですね。以下がパッチです。

diff --git a/sc/inc/mtvfunctions.hxx b/sc/inc/mtvfunctions.hxx
index 3c2a940..6955d21 100644
--- a/sc/inc/mtvfunctions.hxx
+++ b/sc/inc/mtvfunctions.hxx
@@ -618,7 +618,7 @@ FindElement2(
 break;
 default:
 {
-ElseRetType aRet = rFuncElse(it-type, nTopRow, nDataSize);
+ElseRetType aRet = rFuncElse(*it, nOffset);
 if (aRet.second)
 return PositionType(it, aRet.first);
 }
diff --git a/sc/source/core/data/column.cxx b/sc/source/core/data/column.cxx
index 7771f0e..f65c3c7 100644
--- a/sc/source/core/data/column.cxx
+++ b/sc/source/core/data/column.cxx
@@ -2956,16 +2956,16 @@ public:
 return const_castScFormulaCell*(p)-IsMultilineResult();
 }
 
-std::pairsize_t,bool operator() (mdds::mtv::element_t type, size_t 
nTopRow, size_t nDataSize)
+std::pairsize_t,bool operator() (const sc::CellStoreType::value_type 
node, size_t nOffset)
 {
 typedef std::pairsize_t,bool RetType;
 
-if (type == sc::element_type_empty)
+if (node.type == sc::element_type_empty)
 return RetType(0, false);
 
-for (size_t i = 0; i  nDataSize; ++i)
+for (size_t i = nOffset; i  node.size; ++i)
 {
-SCROW nRow = nTopRow + i;
+SCROW nRow = node.position + i;
 sal_uInt8 nScriptType = mrColumn.GetRangeScriptType(miAttrPos, 
nRow, nRow, miCellPos);
 if (IsAmbiguousScriptNonZero(nScriptType))
 // Return the offset from the first row.



-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted