Apache OpenOffice (AOO) Bugzilla – Issue 9771
Document title field in property dialog cannot handle large strings
Last modified: 2013-08-07 14:43:23 UTC
I was able to cause Writer to hang by taking the following steps: 1) Launch Writer with a new document in it. 2) From the Insert menu, select Field->Title. 3) From the File menu, select Properties... 4) On the Description tab, try to paste a string of length 65,536 characters. (I used a string of random letters, numbers and puncutation built from scratch. I tried a couple of strings, and it didn't seem to matter what the contents of the strings were). At that point, Writer will hang. On my machine, the process used 99% of the CPU cycles, and approximately 38,140K of memory. The characters never appeared in the field. I let the program sit for 10 minutes, and it never relinquished control of the processor. If you try this using a string of 65,535 characters, the characters appear in the field, and when you click OK, the title did get updated after a brief pause.
A case for the user experience.
This is a bounds check to me. Duplicated on RH 8.0, OOo 643c. User summary Large Paste to Document Properties Title field causes Writer to hang
Duplicated on RH 8.0, OOo 1.0.1
I'm not sure that the new summary accurately reflects what I saw... The title field does handle large strings, it's just when the string is pasted that Writer hangs. For example, for another test, I tried pasting 10,000 characters into the field, then another 10,000, and so on. I got up to 60,000 characters without a problem. When I tried to paste an additional 10,000 (which would, of course, put it over the limit of 65,535), it just refused to do the paste. It didn't give an error message, but it didn't hang either. This leads me to believe that the problem is in the paste mechanism rather than specific to the title field. For example, the same thing happens when you paste 65,536 characters into the Subject field on that same dialog.
I was a bit unclear in my last comments. When I said "the same thing happens" for the Subject field, I meant that pasting 65,536 characters into the Subject field makes Writer hang. I also tried pasting 65,536 characters into the main document text (rather than into a field). That worked correctly, so it seems to be a problem pasting into fields rather than pasting in general.
MT->SBA: Seems to be fixed in Writer in SRX644n, please verify...
ES->MT: in a 644s, I still get a hang up an breaking the programm: TL644MI! String::EraseAllChars(unsigned short) + 95 bytes VCL644MI! 00805423() VCL644MI! 008054ca() VCL644MI! 0080aac5() VCL644MI! 00806b32() VCL644MI! 0080acf7() VCL644MI! 00809100() VCL644MI! 008d30de() VCL644MI! 008d2bbb() VCL644MI! 008d4109() VCL644MI! 007e4205() VCL644MI! 007e3236() VCL644MI! 007e66bc() USER32! 77d43a5f() USER32! 77d43b2e() USER32! 77d43d6a() USER32! 77d43dd0() VCL644MI! 0093a765() VCL644MI! 0093a6f5() VCL644MI! 0093a831() VCL644MI! 007ba8fa() VCL644MI! 007fda96() SFX644MI! SfxTabDialog::Execute(void) + 51 bytes SFX644MI! SfxObjectShell::DocInfoDlg_Impl(class SfxDocumentInfo &) + 2000 bytes SFX644MI! SfxObjectShell::ExecFile_Impl(class SfxRequest &) + 7313 bytes SFX644MI! SfxStubSfxObjectShellExecFile_Impl(class SfxShell *,class SfxRequest &) + 15 bytes SFX644MI! SfxDispatcher::Call_Impl(class SfxShell &,class SfxSlot const &,class SfxRequest &,unsigned char) + 1269 bytes SFX644MI! SfxDispatcher::_Execute(class SfxShell &,class SfxSlot const &,class SfxRequest &,unsigned short) + 832 bytes SFX644MI! SfxBindings::Execute_Impl(class SfxRequest &,class SfxSlot const *,class SfxShell *) + 1652 bytes SFX644MI! SfxBindings::Execute_Impl(unsigned short,class SfxPoolItem const * *,unsigned short,unsigned short,class SfxPoolItem const * *) + 1416 bytes SFX644MI! SfxBindings::Execute(unsigned short,class SfxPoolItem const * *,unsigned short,unsigned short,class SfxPoolItem const * *) + 166 bytes SFX644MI! SfxVirtualMenu::Select(class Menu *) + 1268 bytes SFX644MI! SfxVirtualMenu::LinkStubSelect(void *,void *) + 15 bytes VCL644MI! 0075f3de() VCL644MI! 00763e60() VCL644MI! 00763e42() VCL644MI! 008d5c6a() VCL644MI! 008d4485() VCL644MI! 007e5234() VCL644MI! 007e3628() VCL644MI! 007e66bc() USER32! 77d43a5f() USER32! 77d43b2e() USER32! 77d43d6a() USER32! 77d43dd0() VCL644MI! 0093a765() VCL644MI! 0093a6f5() VCL644MI! 0093a831() VCL644MI! 007ba8fa() VCL644MI! 007ba81a() SOFFICE! desktop::Desktop::Main(void) + 7791 bytes VCL644MI! 008cfc48() SOFFICE! 0112d338() SOFFICE! WinMainCRTStartup + 308 bytes KERNEL32! 77e7eb69()
MT->MT: ES told me that he uses text with CR/LF, now I can see the described behaviour.
double: 8166 *** This issue has been marked as a duplicate of 8166 ***
Reopened for sending to QA
MT->ES: Please verify and close when 8166 is fixed
Ok in rtlmath (644u based)
closed