Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.0.1 Makes my OneNote Crawl vs 5.9 (My PC may be the issue) #1226

Closed
jasonjac2 opened this issue Dec 19, 2023 · 31 comments · Fixed by #1326, #1327, #1348, #1349 or #1351
Closed

6.0.1 Makes my OneNote Crawl vs 5.9 (My PC may be the issue) #1226

jasonjac2 opened this issue Dec 19, 2023 · 31 comments · Fixed by #1326, #1327, #1348, #1349 or #1351
Assignees
Labels
bug Something isn't working released Available in a released installer
Milestone

Comments

@jasonjac2
Copy link
Sponsor

Problem to Solve

A clear and concise description of what the bug is.
Had the most recent version prior to 6 - I used to get the odd slowdown on large pages, then installed 6 and got the "missing from ribbon", then "fixed the install" from add remove programs and that worked OK. Then I tried DL and install the latest version 6.0.1. These issues seem to be with 6.0.1.

As soon as I had installed it, my ON grinds to a halt. Clicking "file" and "options" takes about a minute to bring up the options.
Literally cursor flashing like treacle.
Other Apps seem OK (word / Outlook).
I did a reboot.
No change.
I went into Options and add-ins and disabled the add-in.
Without reboot - all was fine, back to being responsive.
Went back in and re-enabled the add-in.
Back to treacle.
Uninstalled 6.0.1, got previous version 5.9.0 installed and it worked fine.

Other things I noticed:
Without add-in when OneNote is idling or I give it focus - OneMore = 0 - 1.5% CPU
With add-on enabled: OneNote is idling or I give it focus - OneMore = 0 - 13-15% CPU
Other things:
Just went and checked on another machine and the cursor flashing and the CPU seem to have a similar issue (CPU 15%) . So it seems my main dev machine exaggerates it, But I think I'm fairly confident in 6.0.1 is much more CPU intensive than 5.9.

Is there anything I can do to help you hone in on the issue?

Screenshots

If applicable, add screenshots to help explain your problem.

Environment (if applicable)

Problem version.
01| Starting dllhost 7924, 2592 Mhz, 32 MB, en-US/en-US, v6.0.1, OneNote 15.0, Office 16.0, 2023-12-19 18:25
01| ..Windows 10 Pro, Version 22H2, Build 19041, 64 bit

Downgraded version:
01| Starting dllhost 31676, 2592 Mhz, 32 MB, en-US/en-US, v5.9.0, OneNote 15.0, Office 16.0, 2023-12-19 18:34
01| ..C:\Program Files (x86)\Microsoft Office\root\Office16\ONENOTE.EXE (16.0.17029.20068)

Additional Context

Add any other context about the problem here. Attach page XML file or the app log file as appropriate. You can find the log file here: %localappdata%\temp\OneMore.log

THE FINE PRINT This is a hobby project that I started for myself. I'm happy to take requests and will promise to
consider each one carefully but offer no guarantees that I will ultimately agree to their
usefulness or have time to implement any of them. If OneNote offers a "close enough" work-around
then I will probably reject the request - you've been warned!

@jasonjac2 jasonjac2 added bug Something isn't working unread I have seen it or had time to refine it yet labels Dec 19, 2023
@jasonjac2
Copy link
Sponsor Author

On my alt machine, I went into settings and disabled the Hashtag service , existed and reloaded and it it is back to happy.
Back into settings and re-enabled the service and come out of settings and didn't even get to restart OneNote as it is back to high CPU..
Cursor sluggish. CPU running at 26.4% for OneNote.

@stevencohn
Copy link
Owner

stevencohn commented Dec 19, 2023

The first time 6.0.1 starts up, it proceeds to scan all of your ON notebooks to build a database of hashtags. This can take a few minutes depending on the amount of data. Once it's done, it will scan every two minutes but only interrogate pages that have changed since the last scan.

So it is quite possible your notebooks are structured in a way that is causing it to go crazy. I have 5 notebooks, over 600 pages, and a full initial scan takes a little over a minute. Subsequent scans take about 200ms.

The hashtag service logs to the regular OneMore log file. Anything interesting there?

@stevencohn stevencohn removed the unread I have seen it or had time to refine it yet label Dec 19, 2023
@jasonjac2
Copy link
Sponsor Author

Above: I said "didn't even get to restart" - I think it restarted before I looked back at the screen, i.e. I think when enabling the service.

@jasonjac2
Copy link
Sponsor Author

@stevencohn thanks for getting back to me. OK, 6K Pages split over 2 MS accounts (one personal one Work).
I've just disabled the service on the main machine and waiting for OneNote to restart....... "We're sorry......"
OK - so should I enable verbose logging before I re-enable it?
Will either with or without verbose, does it give updates as it is scanning?

@stevencohn
Copy link
Owner

Above: I said "didn't even get to restart" - I think it restarted before I looked back at the screen, i.e. I think when enabling the service.

That doesn't make sense. It has to restart in order for the scan to begin again.

Yes, enable verbose logging. There are only a couple of extra verbose lines but they may be important.

@stevencohn
Copy link
Owner

I've just disabled the service on the main machine and waiting for OneNote to restart....... "We're sorry......"

You may need to kill the dllhost.exe, which should have /Processid:{88AB.. on its command line as explain on the troubleshooting page.

@stevencohn
Copy link
Owner

And thanks for hanging in there with me. With limited resources, it's hard sometimes to predict how OneMore will behave once it gets out into the world, in a hostile environment. :-)

@jasonjac2
Copy link
Sponsor Author

"That doesn't make sense. It has to restart in order for the scan to begin again." yes - I agree, it was just that I was expecting to have to restart myself, I looked away and then looked back a minute later and it was running again ;-) - sorry - user lies :-).

I am enabling verbose logging, clear logs, start service, let it restart and keep an eye on CPU.
Currently it is running on the spare machine: a minute in and at 30%.

@jasonjac2
Copy link
Sponsor Author

@stevencohn "And thanks for hanging in there with me." That's all great - I appreciate you are innovating and things break when you do that.
"With limited resources, it's hard sometimes to predict how OneMore will behave once it gets out into the world, in a hostile environment. :-)". Definitely. I write my software for a company with 60 concurrent users and I get caught out. As I have said before, I would be very happy to have more telemetry in the SW to help with pinchpoints.

Is there a DB file I can watch grow?
Regards - Jason.

@stevencohn
Copy link
Owner

The usual place - %appdata%\onemore\onemore.db

It's a simple SQLite database. I use the free studio https://sqlitestudio.pl/

@jasonjac2
Copy link
Sponsor Author

Aside: When it is parsing the pages to check for Tags - does it write to the pages (you'll know where I am going with this)?
I can see from the logs on the alt machine that: CPU is still high 10 mins later; I can see the logs saying
"updating tags on page /JAC Work Shared/AB/[R:600] The Page.
Writing Tag ##1
Writing Tag ##1
Writing Tag ##2
....

@stevencohn
Copy link
Owner

No it should be read-only!
Those "Writing..." lines mean it's writing to the db

@stevencohn
Copy link
Owner

stevencohn commented Dec 19, 2023

I take that back! It does write a meta tag to each page on which it finds one or more tags. I can't imagine that you've tagged many pages so far, right?

Anyway, supposing it scales linearly on comparable machinery, your 6K pages would take over 90 minutes so....

I will look into ways of governing resources during the scan.

@jasonjac2
Copy link
Sponsor Author

"No" ..... promise? :-). Oh I see our cross post - so a "maybe :-)"
So the meta - will it change my favourite thing - "Who edited each of the outlines"?
Anyway, the alt version is now not responding and cpu riding at high.
I can see an exception in there - maybe when I was clicking menus.
It looks like in the log you get a page name everytime it hits a page with tags.

@jasonjac2
Copy link
Sponsor Author

It looks like my tags are a co-incidental - I think maybe the logging could drop in everytime it scans n pages.

@stevencohn
Copy link
Owner

So the meta - will it change my favourite thing - "Who edited each of the outlines"?

It will update the stamp on the page but shouldn't touch outlines.

@jasonjac2
Copy link
Sponsor Author

"It will update the stamp on the page but shouldn't touch outlines." - I think based on one search, that I agree :-).
So the meta will update for ALL user / PC that are using those notebooks?
What happens when another machine that hasn't scanned its notebook gets 6.0.1 installed and it needs to build its own DB, does it use the meta or rescan the page?

@stevencohn
Copy link
Owner

stevencohn commented Dec 19, 2023

It will rescan on every machine because ever machine has its own database. A new machine starts out thinking its last scan time was DateTime.MinValue so it will think everything is new and needs to be scanned.

The meta is just a unique ID I may or may not use in the future as a way of "fixing" the not-always-constant ON page IDs. The lastModifiedTime is a separate attribute on the one:Page itself

@jasonjac2
Copy link
Sponsor Author

OK - 25 mins later and it has finished on the alt machine.
Closed ON, then Re-Opened ON, then CPU much happier.
So it may be a "install and sit back....."

@stevencohn
Copy link
Owner

Wow. Good to know. I will definitely look at ways of restricting it, lower priority thread perhaps, and informing the user that "the hashtag service is thinking and may not be available for a while." Thanks J.

@jasonjac2
Copy link
Sponsor Author

Alt machine completed now and the hashtags search is blisteringly quick, with the 6K pages with < 100 tags.

@jasonjac2
Copy link
Sponsor Author

OK..... "The Index button will create a new page with an index of selected pages." - Killer feature!

Of course, I want to polish your perfection.....

  • Allow Boolean logic - maybe
  • Put the tag search criteria on the page.
  • Have richer "index" page, e.g. .checkboxes for:
  1. last modified,
  2. full Notebook\SectionGroup\Section\Page
  3. number of occurances on the page.

And to highlight the issue with ON Page Search (ON's not yours)

  • You can't search for #'s, so you have jason written on the page 100 times, but ##jason is just there once, you can't find ##jason, you can only just find 101 jason's

I think I can use this like the page level tags without over "touching" the page.

Do you think there would be a perf degradation with every page having tags and having a lot of tags

Brain on fire a bit now, so going to let it bed in.

@stevencohn
Copy link
Owner

stevencohn commented Dec 19, 2023

Nice. And the couple I've thought about as well and reserved for v2.0 -yeah really like those 😄 😄

I think I can use this like the page level tags without over "touching" the page.

Exactly, I'm hoping I can deprecate that eventually, or find a hybrid approach that simplifies it overall.

Do you think there would be a perf degradation with every page having tags and having a lot of tags

Not at all. Again, it only cracks open the page if it thinks it's been updated since its last scan. MS was smart in that way, when you ask for the "notebook" you get a list of pages with last modified time, so you don't need to read the page.

@PaulJamesTaylor
Copy link

@stevencohn @jasonjac2 I installed 6.0.0 yesterday and booted up Onenote and observed severe latency for about 15 minutes. I have 10 notebooks and about 2800 pages. I noticed that the CPU was loaded and assumed it was indexing the hash tags so was comfortable with it. No issues since then.

I second the request for boolean logic on them. I use embedded tags in Obsidian and it works really well, but since I can't use Obsidian for certain types of notes I was hoping this would close that gap in Onenote. But just being able to search on a single tag in the page is way less useful than being able to search on multi level tags. Still, the built in tagging system in Onenote is a joke so this is a materially beneficial feature and a step forward.

Is there a reason to upgrade to 6.0.1?

@stevencohn
Copy link
Owner

stevencohn commented Dec 19, 2023

Thanks for this. 6.0.1 fixes a problem with the installer. So if you're happy then you can wait for the next release.

@jasonjac2
Copy link
Sponsor Author

I think 6.0.1 was just @stevencohn trying to fix some install issues. My main machine has now settled down. I'm a bit paranoid about slowdown as I use ON as my everything, so as soon as it gets sluggish it is has such a massive knock on effect.

All looks good now I left it for the "dinner" amount of delay, which was perfect. Others may find the "coffee" or "to the loo and back" a sufficient amount of time. :-).

I like the last scan / next scan info.

I assume it is a per Notebook scan so if it is up to date, it knows when you add a new notebook, that it has to fully scan the new notebook.....
And I assume there is a nuke option of kill the DB, restart - rescans.

Thanks @stevencohn - another great addition to a great tool.

@stevencohn
Copy link
Owner

Hopefully you never need to restart but you can delete the db file and then restart ON and it will rebuild the db.

There is a Scan Now option on the Search dialog if you're less patient than the two minute scan rate.

@stevencohn stevencohn linked a pull request Apr 20, 2024 that will close this issue
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
* delete json when tray exits

* proto
stevencohn#1226

* tweak

* LegacyTaggingConverter
stevencohn#1226

* LegacyTaggingConverter
stevencohn#1226

* tag bank
stevencohn#1226
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
* delete json when tray exits

* proto
stevencohn#1226

* tweak

* LegacyTaggingConverter
stevencohn#1226

* LegacyTaggingConverter
stevencohn#1226

* tag bank
stevencohn#1226
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
* delete json when tray exits

* proto
stevencohn#1226

* tweak

* LegacyTaggingConverter
stevencohn#1226

* LegacyTaggingConverter
stevencohn#1226

* tag bank
stevencohn#1226
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
* delete json when tray exits

* proto
stevencohn#1226

* tweak

* LegacyTaggingConverter
stevencohn#1226

* LegacyTaggingConverter
stevencohn#1226

* tag bank
stevencohn#1226
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 20, 2024
stevencohn added a commit that referenced this issue Apr 21, 2024
stevencohn added a commit that referenced this issue Apr 21, 2024
stevencohn added a commit that referenced this issue Apr 21, 2024
stevencohn added a commit that referenced this issue Apr 21, 2024
stevencohn added a commit that referenced this issue Apr 21, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 21, 2024
* delete json when tray exits

* proto
stevencohn#1226

* tweak

* LegacyTaggingConverter
stevencohn#1226

* LegacyTaggingConverter
stevencohn#1226

* tag bank
stevencohn#1226
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 21, 2024
weissm pushed a commit to weissm/OneMore that referenced this issue Apr 21, 2024
stevencohn added a commit that referenced this issue Apr 24, 2024
stevencohn added a commit that referenced this issue Apr 24, 2024
stevencohn added a commit that referenced this issue Apr 24, 2024
stevencohn added a commit that referenced this issue Apr 24, 2024
@stevencohn stevencohn linked a pull request Apr 24, 2024 that will close this issue
@stevencohn stevencohn added released Available in a released installer and removed next-release Addressed but not yet released labels Apr 25, 2024
@stevencohn stevencohn added this to the 6.2.1 milestone Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment