Local Viveport content library broken & much more

SOLVED
Highlighted
Cymatic
Contributor

Local Viveport content library broken & much more

My current issue in a list of many woes is that the desktop Vive/Viveport application is somehow disconnected and out of sync with my account  even though I am logging in with the same credentials. This is an HTC account (not Steam, or Facebook, etc.).

 

And, no, I am not using two separate accounts by accident. I thought of that and verified it is indeed the same account.

 

The Vive desktop app stopped working entirely (which I'll get into later) which caused me to have to uninstall and reinstall all of the Vive software. Reinstalling got things working again... sort of. I can see the SteamVR content I have installed since reinstalling ViveSetup in my library, but any content that I had previously downloaded/installed and any new content I've attempted to install on Viveport are no where to be found. Yet I see the content when I log into viveport.com using the same account/credentials.

 

Here's my Steam content showing up in the library but no Viveport content:

ViveportLib.jpg

 

And my "Downloads" area is empty:

ViveportDownloads.jpg

 

Yet on the website, I can see Viveport content that I attempted to initiate a download of using the HMD or that I have previously downloaded:

ViveportWebLib.jpg

 

When I am in the desktop app (and not using the HMD) I can see a download button, but clicking it does nothing (where as it did work in the past):

ViveportDownloadButton.jpg

 

Conversly, when I try to initiate a download in the HMD, although it does add the content to my library on the website, it only says "Waiting..." in the HMD and it never actually shows up in the desktop app, and there's no way for me to access it or launch it:

ViveportWaiting.jpg

 

ViveportHMDLib.jpg

 

PurchaseConfusion.jpg

 

Oddly enough, my bookmarks still work OK across the board. I can add/remove bookmarks from the HMD, desktop app, or the website, and the bookmark list syncs perfectly. Just not the library.

 

I've tried deleting my ApplicationList files, cache, browser cache, anything Vive or Steam related in C:\Users\{username}\AppData, etc. and no luck.

 

This whole situation started because ViveportService.exe just stopped working on its own and this caused the Vive desktop app to fail to connect to any data. A little investigation showed that the service was just endlessly stuck in a loop of trying to start, throwing an error/exception, and failing, and then trying to restart again. I was eventually able to watch that behavior right in Windows 10's services window.

 

What tipped me off to it was two paired errors in Windows EventViewer:

 

Application: ViveportService.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: exception code e06d7363, exception address 7645A832

and

Faulting application name: ViveportService.exe, version: 1.0.8889.986, time stamp: 0x587e36d0
Faulting module name: KERNELBASE.dll, version: 10.0.14393.479, time stamp: 0x58256d37
Exception code: 0xe06d7363
Fault offset: 0x000da832
Faulting process id: 0x3ff4
Faulting application start time: 0x01d288f0a0af7256
Faulting application path: C:\Program Files (x86)\ViveSetup\PCClient\ViveportService.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: cdfed496-cb24-4e78-97ed-9ba7645c6882
Faulting package full name: 
Faulting package-relative application ID: 

This is what forced me to reinstall to begin with, which did fortunately get things somewhat working again, although it's pretty useless not being able to access any content. At least SteamVR titles still work.

 

I also see lots of suspect behavior in the log file:

 

[2017-02-17 04:43:38,957][UTC:12:43:38,957][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:38,961][UTC:12:43:38,961][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:38,965][UTC:12:43:38,965][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:38,980][UTC:12:43:38,980][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:38,984][UTC:12:43:38,984][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:38,987][UTC:12:43:38,987][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:44,047][UTC:12:43:44,047][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:44,053][UTC:12:43:44,053][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:44,058][UTC:12:43:44,058][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:44,064][UTC:12:43:44,064][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:44,069][UTC:12:43:44,069][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:44,073][UTC:12:43:44,073][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:44,088][UTC:12:43:44,088][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:44,093][UTC:12:43:44,093][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:44,097][UTC:12:43:44,097][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:44,104][UTC:12:43:44,104][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:44,107][UTC:12:43:44,107][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:44,111][UTC:12:43:44,111][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:44,120][UTC:12:43:44,120][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:44,124][UTC:12:43:44,124][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:44,127][UTC:12:43:44,127][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:49,131][UTC:12:43:49,131][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:49,135][UTC:12:43:49,135][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:49,139][UTC:12:43:49,139][70][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old
[2017-02-17 04:43:49,145][UTC:12:43:49,145][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() GetApplicationList
[2017-02-17 04:43:49,149][UTC:12:43:49,149][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Called GetApplicationList asking for OpenVRApplications
[2017-02-17 04:43:49,152][UTC:12:43:49,152][76][DEBUG] HTC.VR.Marketplace.StoreServices.StoreManagerService         - GetApplicationList() Skipping asking for OpenVRList because cache is less than 5000 ms old

I will see that GetApplicationList() call happening many many times (I truncated just for examples sake) somewhere between multiple times per second to maybe every 5 mintues. Is that even normal? Why the obsessive fetching of application lists?

 

Here's another one that doesn't look good:

[2017-02-17 04:43:20,452][UTC:12:43:20,452][76][ERROR] HTC.VR.Marketplace.StoreServices.StoreManagerService         - StartNewApplicationCheckTask() Update service returned HttpStatusNotOK

I also see these exception stack traces all over the place in the log file:

System.ServiceModel.CommunicationObjectAbortedException: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it has been Aborted.

Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at HTC.VR.Marketplace.StoreServices.IStoreManagerWcfServiceEvents.StoreEvent(UInt64 sequence, StoreManagerEventStatus eventType, Nullable`1 itemGuid, String appId, Int32 appStatus, ApplicationInfo appInfo, Int64 longValue, String stringValue)
   at HTC.VR.Marketplace.StoreServices.StoreManagerService.SendStoreEventToWCFCallbacks(StoreManagerEventStatus eventType, Nullable`1 itemGuid, String appId, ApplicationStatus appStatus, ApplicationInfo appInfo, Int64 longValue, String stringValue)
[2017-02-17 04:43:01,322][UTC:12:43:01,322][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - ############ Sending BI information ############
[2017-02-17 04:43:01,328][UTC:12:43:01,328][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - account_id: 29a51c1b-9ea1-4fdb-a69b-a0cd59ecb4d9
[2017-02-17 04:43:01,332][UTC:12:43:01,332][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - status_code: 9040
[2017-02-17 04:43:01,337][UTC:12:43:01,337][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - error_code: AuthTokenRefreshed
[2017-02-17 04:43:01,341][UTC:12:43:01,341][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - content_id: 
[2017-02-17 04:43:01,344][UTC:12:43:01,344][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - is_update: False
[2017-02-17 04:43:01,349][UTC:12:43:01,349][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - content_version: 
[2017-02-17 04:43:01,353][UTC:12:43:01,353][76][DEBUG] HTC.VR.Marketplace.StoreServices.Utilities.BIDownloadHelper  - extra: System.ServiceModel.CommunicationObjectAbortedException: The communication object, System.ServiceModel.Channels.ServiceChannel, cannot be used for communication because it has been Aborted.

Server stack trace: 
   at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrNotOpen()
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at HTC.VR.Marketplace.StoreServices.IStoreManagerWcfServiceEvents.StoreEvent(UInt64 sequence, StoreManagerEventStatus eventType, Nullable`1 itemGuid, String appId, Int32 appStatus, ApplicationInfo appInfo, Int64 longValue, String stringValue)
   at HTC.VR.Marketplace.StoreServices.StoreManagerService.SendStoreEventToWCFCallbacks(StoreManagerEventStatus eventType, Nullable`1 itemGuid, String appId, ApplicationStatus appStatus, ApplicationInfo appInfo, Int64 longValue, String stringValue)

 

I've had some bugs/trouble with SteamVR too, but I've been able to recover from those, but Vive/Viveport has been extremely buggy and is now unusable. Upon my first ever install of ViveSetup I couldn't even login with my Steam account because of a bunch of verification errors and buggy/glitchy happenings when attempting that authentication route. So I eventually created an HTC account and that worked up until this point.

 

I'm really at a loss here. Does anyone have any suggestions? Anyone else experiencing these issues?

 

I love the Vive hardware and really want it all to succeed, but seems like software QA could use some help. Vive if you're listening consider putting some more resources on the QA front. Seems like I'm not the only one who can't access their content.

 

Thank you to anyone who bothered to check out this rather long post!

 

Cymatic
Contributor
Solution

Re: Local Viveport content library broken & much more

Just a follow up. I decided to give it one last go. I uninstalled all Vive software again. This time I deleted everything HTC or Vive I could find in:

  • C:\ProgramData
  • C:\Program Files (x86)
  • C:\Program Files
  • C:\Users\{my username}\AppData\Local
  • C:\Users\{my username}\AppData\LocalLow
  • C:\Users\{my username}\AppData\Roaming

I didn't delete those folders obviously (as these are Windows system folders), just any subfolders in them that started with either the name HTC or Vive. I rebooted and reinstalled Vive setup and I now see my Viveport content in "Downloads" of the Vive desktop app and I can download the content again.

 

I would strongly suggest to HTC that the Vive software uninstallers should clean up these folder contents entirely or fix whatever issue was breaking the local library by leaving data behind! Or provide some sort of downloadable "cleaner" executable people can run that will clean it up in case they get stuck in the state I was.

 

If anyone else is having this kind of issue I suggest trying this out to see if it works for you.

 

This still of course has nothing to do with why ViveportService.exe stopped working in the first place though...

 

Cheers

krustymk
Contributor

Re: Local Viveport content library broken & much more

pretty much the same issue, i gave up for a bit, just come back and its all there..

Wouldnt be suprised if it was an issue at HTC now with some sort of authentication server only listing games it could authenticate.. 

After the lack of any response from several avenues i can only assume HTC is a bunch of ... well... struggling to think of a nice word here... ill let you imagine a suitable word

Rockjaw
Architect

Re: Local Viveport content library broken & much more

Hi @Cymatic - thank you for a thorough investigation, sorry you had to do it!

 

We've run into an issue overnight that, I believe, is causing your problems here. (It's causing the endless loops you're seeing.) The good news is, we do have a temporary fix - hopefully it'll work for you - and we're also working on solving the root issue.

 

We have a hotfix file which is attached to this post. It's a simple EXE that should fix things up for you. Alternatively, you can wait until tomorrow (or, late tonight, my time - Pacific/West Coast) where we should fix the problem at the root. Here's how to apply the hotfix:

 

1) Download the attached file, vivehotfix.zip

2) Unzip the file and locate the EXE file that's extracted

3) Run vivehotfix.exe

4) You should see a quick DOS box as follows. Press any key to exit.

vivehotfix.jpeg

 

5) Run Vive desktop as normal.

 

While this has been tested internally, I want to be sure that it works for you - so please let me know. You've done a lot of troubleshooting already, so hopefully this will be a simple, final step.

 

@krustymk - if you're seeing similar issues, I'd suggest following the same steps above and letting us know if it works.

 

Cymatic
Contributor

Re: Local Viveport content library broken & much more

After my directory clean and reinstall Viveport has been working, although I haven't yet had the time to use it extensively yet so I'm not sure if it's fragile, but so far it's fine. If ViveportService.exe ends up in a looping exception state again I will try the hotfix and report how it goes.