This can be caused by a locked or damaged file within the library.
Back Up and try rebuild the library: hold down the command and option (or alt) keys while launching iPhoto. Use the resulting dialogue to rebuild. Include the option to check and repair Library permissions.
If that fails: Download iPhoto Library Manager and use its rebuild function. This will create a new library based on data in the albumdata.xml file. Not everything will be brought over - no slideshows, books or calendars, for instance - but it should get all your albums and keywords back.
Because this process creates an entirely new library and leaves your old one untouched, it is non-destructive, and if you're not happy with the results you can simply return to your old one.
Excellent – it looks like iP LM is doing the job – and in short order too!
iPhoto has opened and I see the photos beig imported to a new library.
I spent 5 hours on and off trying to get iPhoto to sort itself out.
(And a day prior to that.)
I will leave it running as I need to go home now
and hopefully I can report back on Monday that iPhoto is working again.
Many thanks TD
if this works, can I then delete the original iPhoto Library?