Bug 108656 - LibO is trying to access the non-existing user\config\standard.soc when opening the Paragraph dialog
Summary: LibO is trying to access the non-existing user\config\standard.soc when openi...
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
(earliest affected)
Hardware: All Windows (All)
: medium trivial
Assignee: Not Assigned
Keywords: bisected, regression
Depends on:
Blocks: Too-Much-File-Access
  Show dependency treegraph
Reported: 2017-06-20 19:05 UTC by Telesto
Modified: 2017-10-16 15:24 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:

Strace of opening Paragraph dialog (1.15 MB, application/zip)
2017-06-29 09:42 UTC, Buovjaga

Note You need to log in before you can comment on or make changes to this bug.
Description Telesto 2017-06-20 19:05:49 UTC
LibO is trying to access the non-existing user\config\standard.soc (24 times) when opening the Paragraph dialog. 

Also a write action can be noticed with Version: (930 kb) which doesn't exist in LibO5.4.0.0b2 

Steps to Reproduce:
1. Open Writer
2. Right click in the document (to clean out other file access) and close the dialog again
3. Open Process Monitor (and process explorer) both focused on soffice.bin
4. Right Click into the document to open the context menu and select Paragraph

Actual Results:  
- LibO tries to read user\config\standard.soc 24 times.
- There is also a write action since LibO6.0.0.0 

Expected Results:
The write action shouldn't happen. No clue if the access to user\config\standard.soc is normal (or not)

Reproducible: Always

User Profile Reset: No

Additional Info:
Build ID: cbf371e07fd5dea1ea08a1f299360d1273961ebd
CPU threads: 4; OS: Windows 6.19; UI render: default; 
TinderBox: Win-x86@42, Branch:master, Time: 2017-06-14_23:13:57
Locale: en-US (nl_NL); Calc: CL

Small stack preview for "Data\settings\user\config\standard.soc"

osl_getDirectoryItem + 0x227
ucpexpand1_component_getFactory + 0x7c50
ucpexpand1_component_getFactory + 0x9453
ucpexpand1_component_getFactory + 0x24375
ucpexpand1_component_getFactory + 0x49d2
ucbhelper::Content::executeCommand + 0x163
ucbhelper::Content::getPropertyValuesInterface + 0x16d
ucbhelper::Content::getPropertyValues + 0x43
ucbhelper::Content::getPropertyValue + 0x7e
ucbhelper::Content::isDocument + 0x62
ucbhelper::Content::openStream + 0x36
utl::MediaDescriptor::impl_openStreamWithURL + 0x7e5
utl::MediaDescriptor::impl_addInputStream + 0x17f
utl::MediaDescriptor::addInputStreamOwnLock + 0x94
SfxMedium::GetMedium_Impl + 0x3cc
SfxMedium::GetInStream + 0xd9
SfxMedium::IsStorage + 0xdb
com_sun_star_comp_Svx_GraphicImportHelper_get_implementation + 0x3121
XPropertyList::Load + 0x1ee
XPropertyList::Count + 0xe
SvxColorListBox::SvxColorListBox + 0x195
PaletteManager::SetPalette + 0x2a29
makeSvxColorListBox + 0x30

User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0
Comment 1 Buovjaga 2017-06-28 19:14:30 UTC

Version: (x64)
Build ID: e0f67add2ec56706ce06a03572535266f21c0303
CPU threads: 4; OS: Windows 6.19; UI render: default; 
TinderBox: Win-x86_64@42, Branch:master, Time: 2017-06-27_23:04:56
Locale: fi-FI (fi_FI); Calc: group
Comment 2 Heiko Tietze 2017-06-29 09:09:58 UTC Comment hidden (no-value)
Comment 3 Heiko Tietze 2017-06-29 09:32:14 UTC Comment hidden (no-value)
Comment 4 Buovjaga 2017-06-29 09:42:01 UTC
Created attachment 134376 [details]
Strace of opening Paragraph dialog

I hope it can reveal something about the write activity.

Arch Linux 64-bit, KDE Plasma 5
Build ID: 98befbb26217b0bf3f35354e418a355280c52cfc
CPU threads: 8; OS: Linux 4.11; UI render: default; VCL: kde4; 
Locale: fi-FI (fi_FI.UTF-8); Calc: group
Built on June 29th 2017
Comment 5 Telesto 2017-09-28 20:26:56 UTC
C:\cygwin\home\XX\bibisect-win32-5.1\instdir\user\config\standard.soc started with:

$ git bisect bad aa9d9772d1e6541d0a2735825f8a2bfb936e4f47 is the first bad commit
commit aa9d9772d1e6541d0a2735825f8a2bfb936e4f47
Author: Norbert Thiebaud <nthiebaud@gmail.com>
Date:   Tue Jul 14 18:11:26 2015 -0700

    source 29202a16d9f1934684c7d0978112849f2a21fe2f

    source 29202a16d9f1934684c7d0978112849f2a21fe2f

:040000 040000 1c1a3e9a7863daa7d40ca3ec114a2563803c5d7e 1d6078daf6994b3fe1360974885fac0376737fd7 M      instdir

$ git bisect log
# bad: [05d11632892a322664fb52bac90b2598b7fb7544] source 5616d22b57a9a5e57d545e912e029162a230829b
# good: [c1efd324c6ad448ac9edb030dc9738b9e6899e4d] source ab465b90f6c6da5595393a0ba73f33a1e71a2b65
git bisect start 'origin/master' 'oldest'
# bad: [97526ab777da7e58ce283c05498262ecdd4d6f7f] source 4ea70f87f7a2b61eda6e5ab1f48debf6fcfadc1f
git bisect bad 97526ab777da7e58ce283c05498262ecdd4d6f7f
# bad: [2202cdaa0eae3f646f1285a0ea45934edeb26e8a] source a88bf8fd10c42a15e5d6e66da656889c82b4933a
git bisect bad 2202cdaa0eae3f646f1285a0ea45934edeb26e8a
# bad: [1d0a95445c203c11beb1aa5eae844cf178ea0984] source 8f324aebfb94c4b2023894121b954ad4f35eb395
git bisect bad 1d0a95445c203c11beb1aa5eae844cf178ea0984
# good: [fb2523235c0a0c37d4e1f482afde48066f2c4b83] source 5b87ff40857147bee697a9bf420aae89e8cd9e93
git bisect good fb2523235c0a0c37d4e1f482afde48066f2c4b83
# bad: [96c5e6142c03cdfdd63c936de319666d0fdcffcc] source b2c8ea3a0253ce87f1b292fbb19b461a53c14912
git bisect bad 96c5e6142c03cdfdd63c936de319666d0fdcffcc
# good: [c630e487b748e18b8aa9489d1b4bc96ec749af2b] source 374d53f5ee0204b17b76a1f447b041ce5479971d
git bisect good c630e487b748e18b8aa9489d1b4bc96ec749af2b
# bad: [195e133babd8ef9d963328e73411a822019e514b] source 4101949b2a9fcf399a1fa10c2547f745a24f5a3d
git bisect bad 195e133babd8ef9d963328e73411a822019e514b
# good: [938ff6f34bfb99a36e8a7a01caef827a7aef7705] source 2f6a06856ad8df0c11a112d1e457b408e9a7af1d
git bisect good 938ff6f34bfb99a36e8a7a01caef827a7aef7705
# good: [23aafef6874e33d735f33844fbf6a05394d6885f] source 2da066628f02925ade2590229eb069d4765f619a
git bisect good 23aafef6874e33d735f33844fbf6a05394d6885f
# bad: [e0ce710984b89b5b7a73d3cba7d62e21d9eaf63a] source 81fb7720e5e40858a43ad6639f71bb125091aefb
git bisect bad e0ce710984b89b5b7a73d3cba7d62e21d9eaf63a
# good: [531e3fed87d085723792a963ae0775ecb62cf719] source 0fd01e681e1c5886be3909cc3d7eb66cc62705f3
git bisect good 531e3fed87d085723792a963ae0775ecb62cf719
# good: [207a252844c11c22161edcc6566e77e86e97f26a] source 2c3bf6bfc244517a0134e320acaa1f720703d8f2
git bisect good 207a252844c11c22161edcc6566e77e86e97f26a
# bad: [911e091c8c689a0eae2dbe17fe05253ac4949d2a] source 16f1477a2dd47d92bf754d437c6b5127c533f076
git bisect bad 911e091c8c689a0eae2dbe17fe05253ac4949d2a
# bad: [aa9d9772d1e6541d0a2735825f8a2bfb936e4f47] source 29202a16d9f1934684c7d0978112849f2a21fe2f
git bisect bad aa9d9772d1e6541d0a2735825f8a2bfb936e4f47
# first bad commit: [aa9d9772d1e6541d0a2735825f8a2bfb936e4f47] source 29202a16d9f1934684c7d0978112849f2a21fe2f

1. Open Start Center
2. Launch Process Monitor with filter set to Path Contains \standard.soc
3. Start the capture
4. Click Writer from the Start Center menu
5. Stop the capture
Comment 6 Buovjaga 2017-10-16 13:56:10 UTC
Caolán: apparently this is somehow a side effect of your patch:

Resolves: tdf#89905 don't copy palettes from shared to user
make this a multi-path element with a shared read-only location
and a user read/write location and don't copy the presets, instead
just keep them in the shared location

Now an admin can copy extra palettes into the shared location
and they magically appear in the user deployments
Comment 7 Caolán McNamara 2017-10-16 15:19:30 UTC
Yes, allowing palettes to exist in both shared and user-specific dirs means that they are searched for in those two locations and there may not be a user-specific override. That's not a bug.