Issue 3272 - crash when thesaurus is activated
Summary: crash when thesaurus is activated
Status: CLOSED FIXED
Alias: None
Product: Writer
Classification: Application
Component: code (show other issues)
Version: 641
Hardware: PC Linux, all
: P1 (highest) Trivial (vote)
Target Milestone: ---
Assignee: thomas.lange
QA Contact: issues@sw
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-03-01 01:28 UTC by Unknown
Modified: 2003-09-08 16:56 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
this is the document which crashes openoffice when the thesaurus is activated (28.50 KB, application/octet-stream)
2002-03-04 02:05 UTC, Unknown
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description Unknown 2002-03-01 01:28:02 UTC
after opening up a Word 2000 document if the thesaurus menu selection is
selected the application crashes
Comment 1 stefan.baltzer 2002-03-01 11:41:05 UTC
Reassigned to Michael.
Comment 2 khendricks 2002-03-03 16:32:29 UTC
Adding myself to cc just in case this turns out to be a 
lingucomponent issue.

BTW: I do not have access to a Word 2000 document.  Could you add a 
sample document as an attachment to this Issue so I can test under 
OOO_STABLE_1 and lingucomponent HEAD.

Thanks,

Kevin

Comment 3 Unknown 2002-03-04 02:05:20 UTC
Created attachment 1144 [details]
this is the document which crashes openoffice when the thesaurus is activated
Comment 4 Unknown 2002-03-04 02:07:36 UTC
oh i forgot

Thanks for looking into the problem.
Comment 5 khendricks 2002-03-04 02:35:00 UTC
Hi,

I can confirm the problem with your "crash.doc" and the latest 
OOO_STABLE_1 version of OpenOffice.org with the very latest 
lingucomponent.

Here is the backtrace.  I think the crash comes before the thesaurus 
code in lingucomponent is ever reached (but I can't be sure yet).

This one needs to be looked at by someone who knows more about the 
setup process before the thesaurus is invoked.

Here is the backtrace:

(gdb) run
Starting program: /src1/OpenOffice.org1/program/soffice.bin
[New Thread 31606 (manager thread)]
[New Thread 31605 (initial thread)]
[New Thread 31607]
[New Thread 31608]
[New Thread 31609]
[New Thread 31610]

Program received signal SIGSEGV, Segmentation fault.
0xc52a09c in SvxThesaurusDialog::UpdateMeaningBox_Impl () at 
eval.c:88
88      eval.c: No such file or directory.
(gdb) bt
#0  0xc52a09c in SvxThesaurusDialog::UpdateMeaningBox_Impl () at 
eval.c:88
#1  0xc52a9a0 in SvxThesaurusDialog::Init_Impl () at eval.c:88
#2  0xc5297f4 in SvxThesaurusDialog::SvxThesaurusDialog () at 
eval.c:88
#3  0xa76f820 in SwView::StartThesaurus () at eval.c:88
#4  0xa76e404 in SwView::ExecLingu () at eval.c:88
#5  0xa76493c in SfxStubSwViewExecLingu () at eval.c:88
#6  0xddb304c in SfxDispatcher::Call_Impl () at eval.c:88
#7  0xddb5a0c in SfxDispatcher::PostMsgHandler () at eval.c:88
#8  0xddb5940 in SfxDispatcher::LinkStubPostMsgHandler () at 
eval.c:88
#9  0xddd332c in SfxHintPoster::Event () at eval.c:88
#10 0xddd32a8 in SfxHintPoster::LinkStubDoEvent_Impl () at eval.c:88
#11 0xfcfc3ec in ImplHandleUserEvent ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#12 0xfcfcc44 in ImplWindowFrameProc ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#13 0xfd54970 in SalFrameData::HandleClientMessage ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#14 0xfd55070 in SalFrameData::Dispatch ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#15 0xfd77ab0 in SalDisplay::Dispatch ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#16 0xfd777ac in SalDisplay::Yield ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
---Type <return> to continue, or q <return> to quit---
#17 0xfd73c00 in DisplayYield ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#18 0xfd72784 in SalXLib::Yield ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#19 0xfd7a344 in SalInstance::Yield ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#20 0xfc09248 in Application::Yield ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#21 0xfc09138 in Application::Execute ()
   from /src1/OpenOffice.org1/program/libvcl641lp.so
#22 0x1001557c in Desktop::Main ()
#23 0xfc0c74c in SVMain () from 
/src1/OpenOffice.org1/program/libvcl641lp.so
#24 0xfd7194c in main () from 
/src1/OpenOffice.org1/program/libvcl641lp.so
#25 0xedbaec0 in __libc_start_main () at eval.c:88
(gdb)


Hope this helps,

Kevin

Comment 6 khendricks 2002-03-04 02:41:54 UTC
Hi,

One other tidbit.  If you add ANY text to the document and click 
anywhere then the thesaurus works perfectly.

The problem seems to be related to the fact that there is no text of 
any sort in the document (just a graphic)

I do not think this is a problem in lingucomponent so I can't be of 
much help here but hopefully Michael will be able to figure out what 
is broken when the new document has no text.

By the way, if you select the graphic itself, the thesaurus menu 
item actually disappears to prevent you from invoking it.

Interesting.

Kevin

Comment 7 Unknown 2002-03-04 03:01:13 UTC
Yah I noticed that it doesn't let you use the thesaurus when you
select the graphic (thats a good thing).  The problem only seems to
occur when the cursor is inside the graphic box, which happens right
when you open the doc, because the graphic is right at the top of the
page, otherwise I probably would never have experienced the crash. 
Bit of a freak bug, and not quite as bad as I first thought :)
Comment 8 thomas.lange 2002-03-04 11:02:52 UTC
TL->Kevin: I tried this in an current version of StarOffice and it 
does not crash. 
Since the code for the Thesaurus dialog is the same for some time I 
think it might be an unexpected return value from the OO Thesaurus.
(I thought I had covered all possibilities...)

Looking in the code of the SvxThesaurusDialog::UpdateMeaningBox_Impl 
I do not not see an obviuos possibility for a crash.
I need your help for this Kevin (since I cannot debug OO here).
Can you determine the exact line of the crash and provide the 
relevant values?

We may then see if and how I've to change the dialog...

BTW: What is the eval.c about that is mentioned in the stack trace?
Comment 9 michael.ruess 2002-03-04 16:05:13 UTC
So we definitely have a bug here, a QA member is the wrong owner, I
think... ;-) 
I reassigned it to Thomas.
Comment 10 khendricks 2002-03-05 01:40:13 UTC
Hi Thomas,

You were right!  This is my bug.  I returned a Sequence of 1 
XMeaning objects uninitialized instead of an sequence of 0 when no 
language was provided or word was of zero length (ie. the graphic).

The follwoing patch fixes this bug in lingucomponent:

Index: thesimp.cxx
===================================================================
RCS file: 
/cvs/whiteboard/lingucomponent/source/thesaurus/libth/thesimp.cxx,v
retrieving revision 1.7
diff -u -r1.7 thesimp.cxx
--- thesimp.cxx 28 Jan 2002 15:42:56 -0000      1.7
+++ thesimp.cxx 5 Mar 2002 01:34:25 -0000
@@ -213,7 +213,7 @@
         INT16 nLanguage = LocaleToLanguage( rLocale );

         if (nLanguage == LANGUAGE_NONE  || !rTerm.getLength())
-                return aMeanings;
+                return noMeanings;

        if (!hasLocale( rLocale ))
 #ifdef LINGU_EXCEPTIONS


I will commit this to lingucomponent HEAD and then ask for 
permission to include this in OOO_STABLE_1.

Thanks!

Kevin


Comment 11 khendricks 2002-06-04 14:39:02 UTC
 close this already fixed in OOo 1.0