Riven crash on save/load

Skip to the solution

After completing realMyst (and enjoying it a lot), I decided to get the sequal, Riven.

Riven was originally written for Windows 98 and has a number of known problems running on Windows XP, Windows Vista and Windows 7. Most of the problems have been fixed through patches, changes to settings or other work-arounds.

At first Riven wouldn’t launch, so I tried changing compatibility mode to Windows 95 – which sorted that problem out. The next problem I encountered after playing for a while; I decided it would be a good idea to save the game, which is exactly when disaster struck. Riven packed up completely, no error dialogues, no crash dumps, it just disappeared from the screen and returned me to the desktop.

I tried to save and load a few more times but each time the same result, so I did a bit of Googling and discovered a few people with a similar problem on various forums. Some people had managed to fix their problem simply by creating a new game folder and and copying the files across, as follows:

  1. Navigate to C:\program files\
  2. Create a new Riven directory.
  3. Copy the contents of the old Riven directory (except the “data” folder) to the new Riven directory.
  4. In the new Riven directory create a new folder named “data”.
  5. Copy the contents of the old “data” folder into the new one.

This particular procedure didn’t work for me, so I decided to investigate further and fired up my favourite debugger, OlyDbg; as riven needed to be run in compatibility mode, I decided to run OllyDbg in the same mode and then launch Riven from there. Unexpectedly, however, as soon as I clicked”File>Open”, OllyDbg crashed, leading me to believe there was perhaps a problem with the GetOpenFileName API in compatibility mode.

Changing tack, I launched Riven in compatibility mode and OllyDbg in “ordinary” mode and attached the debugger. I then set a breakpoint on Comdlg32.dll’s GetOpenFileName export and proceeded to attempt to open a saved game in Riven. The breakpoint triggered, indicating that the program was crashing after the call, not before – this was a good sign as it meant that there was probably an unhandled return value or something similar.

After setting a breakpoint on the ret instruction at the end of the API stub, I pressed Run and Olly immediately returned with an access violation (attempting to access 0x000004). I tried repeating the steps a few times to see if it was always the same error – it was. I decided the best course of action was to look at the parameters being passed in via pOpenfilename and check that the structure was valid, when I noticed that the current module was “GrooveUT”. Bringing up the Executable Modules window, I quickly spotted “c:\Program Files\Microsoft Office\Office12\GrooveUtil.dll”.

Why is an office component loaded into Riven?  GroveUtil is a shell extension that can be used for syncing files and is part of the Groove application, but for some unknown reason it is loaded into every running application.


Since I don’t use Groove I decided to uninstall it:

  1. Open “Control Panel”.
  2. Open “Add or Remove Programs”.
  3. Scroll down to “Microsoft Office” (I am using 2007).
  4. Click “Change”.
  5. Remove the component “Microsoft Office Groove”.
  6. Restart your computer.
  7. Enjoy Riven.

Update: This fixed the OllyDbg crashing under compatibility mode bug also.
Update 2: Official Microsoft instructions for uninstalling Groove: http://support.microsoft.com/kb/907504 – Thanks to Paul W.

Share

14 Responses to “Riven crash on save/load” RSS

  1. Jonathan Story says:

    I tried this as soon as I read what you posted in the Riven GOG forum, and now my Riven works without a hitch. Thanks a lot, man. This is worth something like a gazillion brownie/karma//whatever points you prefer.

  2. L.S., I thank you for your solution, but it doesn’t work for me. I have also MO 2007. Because my PC is in Dutch I had some trouble to find out what you ment in your solution. You scipped some screens I think. I did what you asked, but now, I don’t have the possibility to save or load. The bar above the game has disappeared. I did ctrl alt del and got two pop ups : one from windows “have to close down’, i ingrored, and one asking to save with .rvn. I did, back to desktop. Great. I’m 60 years old, and I’m no computer wizard, far from. I have Myst 10th An.Ed. but was not able to play Myst or Riven for QuickTime issues. Riven particulary. Thus Gog gave me that trouble less. GOG isn’t that all bad. Can you give me a solution please? I’ll be most gratefull. Yours sincerely, Marianne

  3. Dear, Thanks for your solution for Riven, but it din’t work for me. I have also MO 2007. I am a 60 year old and no PC wizard. So I did what you described (my PC is in Dutch so I had to figure out what you ment) but I sucseeded. I think you scipped a few screens). Now I don’t have the bar above asking “file etc>.” When I applyed ctrl alt del two screens popped up : on windows with the asking to shut down, which I ignored and the screen to ask to save with the extention .rvn. I did, but then I was back to the desktop. Great. Do you see a solution to that please?
    Many thanks, Marianne Verhamme

    • Hi Marianne,

      Which version of Windows are you running?

      Are you able to play the game at all? (can you load it and start playing?)

      When the game is running, what happens when you press ctrl+[space] ? Usually this combination needs to be pressed to get the menu bar to show.

      Are you running the game in compatibility mode? (if you are unsure, that is ok).

      I have found you need to do the following things to get Riven working correctly:
      1) Have the correct version of Quicktime installed.
      2) Use compatibility mode (if you need instructions, let me know).
      3) Remove MSO Groove.

      I will do my best to help.

  4. Sally says:

    Thank you so much for your solution to this problem! I also have Microsoft Office 2007, and removing Groove worked like a charm!

    • No problem, glad it helped 🙂

      • Erin says:

        I came across your site and solution while trying to traipse down memory lane with my version of Riven (came in the anniversary pack I purchased back when I had a Vista computer). I’m having the same problem you were having and I’ve tried all of the solutions known to man (and found via Google), including the compatibility changes, folder changes, etc. I’d like to try your solution here, since it seems to work, but I have MS Office Professional 2010 and I’m running Windows 7 32-bit. There are no Groove files (actually there are legacy files but no .dll) because in this version of MS there isn’t a Groove as it has been permanently changed to Sharepoint.

        Long-winded comment on a months-old post, I know, but yours was the most informative and actionable solution I’ve found — and I’m including all the “solutions” found on Ubisoft’s forums!

        Any assistance you might be able to offer will be greatly appreciated. Thanks so much!

        • Hi Erin,

          Can you tell me if Sharepoint is installed and if you use it?

          Sharepoint *may* be the cause, but I wouldn’t be too fast to blame it without a bit of investigation first.

          If you’re up for a small challenge, I can direct you through a similar method to what I used to find my problem. I can’t, of course, guarantee we’ll find the solution.

          1 ) Setup Riven to launch in Windows 95 Compatibility Mode.
          2 ) Download OllyDbg 1.10 from http://www.ollydbg.de/download.htm
          3 ) Launch OllyDbg.
          4 ) Launch Riven and start a game.
          5 ) Alt+tab to OllyDbg and click File>Attach; locate Riven in the list and click ‘Attach’.
          6 ) Riven will be in a suspended debug state, so click Debug>Run or F9 to resume.
          7 ) Riven may or may not automatically come back up, if it doesn’t, check that OllyDbg says “Running” in the lower right hand corner of the window and then proceed to switch back to Riven.
          8 ) Riven may be upside-down, but you will need to navigate to File>Save.
          9 ) At this point OllyDbg should pop back up or Riven will hang. If it hangs, press Alt+tab to get back to OllyDbg.
          10 ) In the lower right corner it may say something like “Paused”, in the lower left it will say something like “Access Violation” followed by a code.
          11 ) Look at the title bar and see what it says, we are looking for the module name, expect it to be in the following format “OllyDbg – riven.exe – [CPU – main thread, module
          12 ) Click View> Executable modules, look through the names until you match the
          with a Path.

          Lastly, reply to this post and let me know the path of the module.

          Good luck and please let me know how you do.

  5. Erin says:

    Hi Andrew — I gave it the college try but for some reason, the version of Riven I installed also managed to mess up OllyDbg. 🙁 So I ended up paying for a pure download from gog.com and it’s been working great.

    Maybe it was just a bad copy or so old that it couldn’t even be debugged?

    Thanks so much for your help — I’m definitely using Ollydbg for other issues — including errant .dll files!

    E.

    • I’m glad to hear you got a version of it working, though it is interesting that the other one didn’t work.

      The age of a program shouldn’t have any bearing on whether or not it can be debugged, as debugging functions are provided by the operating system. It may be possible that copy protection was creating problems or, as you said, a bad copy, but without seeing it for myself I can’t be sure.

      Anyway, good luck, it’s a tough game!

  6. abogard says:

    Simply amazing, after practically years of trying to fix this game to work on XP finally somebody took the time and did what was needed, I really appreciate the work you did on bringing this solution to us. Cheers!

  7. Paul W. says:

    Andrew, I have a few things I’d like to thank you for. First, I was delighted to learn about OllyDbg! Thanks for bringing that to light and for posting such detailed info on how to use it to find a solution to the Riven crashing on save problem. 28 years ago or so a friend and I wrote a similar program for debugs, this was long before Windows was even around. We put the program down when windows came out and sadly I never enjoyed debugging again until today. (I just told my wife that today was a new day and that she wouldn’t be seeing much of me anymore due to this discovery…lol She wasn’t impressed I might add…)

    Finally thanks for the blog and the time you took to help the rest of us while asking us for nothing. You are a gentleman.

    I would like to add that I had difficulty trying to uninstall the GrooveUtil.dll. The instructions I came across were sketchy. I found this article from the MSKB that was a lot clearer. http://support.microsoft.com/kb/907504

    I am using Windows 7 64bit with MS Office 2007 Enterprise installed which looks like the culprit as you pointed out. I still yet to test it. Wish me luck.

    Thanks again!!!

    • Hi Paul,

      I’m glad you’ve found a way to return to such a fantastic hobby. What was the system your debugger targeted?

      Lol, I bet she wasn’t impressed 🙂

      Thank you. I enjoy sharing any information others may find helpful.

      I’ve updated the post and added the link to the KB article you’ve found (thanks!).

      Good luck, and let me know if it sorts the problem out for you.

Leave a Reply