[ome-users] OMEROcpp - API changes for version 4.4.4

Josh Moore josh at glencoesoftware.com
Mon Nov 12 15:31:10 GMT 2012


On Nov 7, 2012, at 12:42 PM, John Webber (NBI) wrote:

> Hi Josh,

Hi John,

> Thank you for the reply again.
> 
> I have successfully followed the upgrade process to upgrade my test Omero server to the latest version of Omero (4.4.4).  I have compiled it with Omero support, and against version 4.4.4 of Omero.  I compiled it using both Visual Studios 2010 and also outside of Visual studios, just using the visual studios 2010 command prompt.  The build itself is working fine, and Volviewer starts successfully.
> 
> Unfortunately Volviewer crashes when I attempt to open an Omero image, with the following  message:  "Unhandled exception at 0x5088778c (msvcp90d.dll) in VolViewer.exe: 0xC0000005: Access violation reading location 0x6f682e6f."
> 
> I have attempted to debug the code using Visual Studios 2010, but I'm a complete novice in using Visual Studios and in C++, so I am not able to fully understand why it is failing.  It looks like it is crashing when it attempts to reserve some memory, before it even attempts to connect with the Omero server.  In the OMEROLoader.cpp file, it reaches a line within the OMEROLoader::connect(void) function, as follows:  "omero = new omero::client(svrname); //port".  From here it appears to be attempting to reserve memory and it calls the following:
> 
> 	new.cpp   	void *__CRTDECL operator new(size_t size) _THROW1(_STD bad_alloc)
> 			Defines C++ new routine.
> 
> 	dbgmalloc.c	extern "C" _CRTIMP void * __cdecl malloc (]
> 			Allocate of block of memory
> 
> 	dbgheap.c	extern "C" void * __cdecl _nh_malloc_dbg (
> 			Get a block of memory from the debug heap
> 
> 	mlock.c		void __cdecl _lock (
> 			Multi-thread locking routines
> 
> 	dbghook.c	int __cdecl _CrtDefaultAllocHook(
> 			Allow users to override default alloc hook at link time.
> 
> 	memset.asm	which is assembly code!
> 
> At no stage within these steps is it obvious where things go wrong, but at the end it crashes with the access violation. (Unhandled exception at 0x5088778c (msvcp90d.dll) in VolViewer.exe: 0xC0000005: Access violation reading location 0x6f682e6f).
> 
> Can you give me any pointers in where this is going wrong?

Have you compiled and linked against the debug versions of Ice and OMERO? It's only a guess, but I would assume that you have mixed debug and non-debug versions.

Sorry I can't be of more help.
~Josh


> Thanks
> John
> 
> 
> 
> -------------------------------------------------------------------------------------------------------------------------------------------- 
> John Webber
> Computing and Information Services
> NBI Partnership Ltd
> Norwich Research park
> Colney Lane
> Norwich
> NR4 7UH
> 
> E-Mail:  john.webber at nbi.ac.uk
> Web:     http://www.nbi.ac.uk
> Tel:        +44(0)1603 450 818
> 
> The NBI Partnership Ltd provides non-scientific services to the Institute of Food Research, the John Innes Centre, The Genome Analysis Centre and The Sainsbury Laboratory
> 
> -----Original Message-----
> From: Josh Moore [mailto:josh at glencoesoftware.com] 
> Sent: 06 November 2012 14:13
> To: John Webber (NBI)
> Cc: ome-users at lists.openmicroscopy.org.uk
> Subject: Re: [ome-users] OMEROcpp - API changes for version 4.4.4
> 
> 
> On Nov 5, 2012, at 12:05 PM, John Webber (NBI) wrote:
> 
>> Hi,
> 
> Hi John,
> 
>> Please can anyone let me know where to find details of the API changes for the OMEROcpp from version 4.3 to version 4.4?
>> 
>> We have an application developed for an  old version of Omero Server (4.3) which no longer works with the latest version of Omero (4.4.4). Would anyone be able to advice where there were any major changes to the API for OMEROcpp between these two versions, and where I might be able to find this information?
> 
> Other than the addition of a few methods, there shouldn't be any API changes that would break VolViewer. And as I mentioned, I got the files compiling successfully on 10.6 [1]. What problems are you seeing to make you say it "no longer works"?
> 
>> Thanks
>> John
> 
> Cheers,
> ~Josh
> 
> [1] http://lists.openmicroscopy.org.uk/pipermail/ome-users/2012-September/003326.html
> 
> 
>> 
>> -------------------------------------------------------------------------------------------------------------------------------------------- 
>> John Webber
>> Computing and Information Services
>> NBI Partnership Ltd
>> Norwich Research park
>> Colney Lane
>> Norwich
>> NR4 7UH
>> 
>> E-Mail:  john.webber at nbi.ac.uk
>> Web:     http://www.nbi.ac.uk
>> Tel:        +44(0)1603 450 818
>> 
>> The NBI Partnership Ltd provides non-scientific services to the Institute of Food Research, the John Innes Centre, The Genome Analysis Centre and The Sainsbury Laboratory
>> 
>> From: Jerome Avondo [mailto:jeromeavondo at gmail.com] 
>> Sent: 22 October 2012 12:46
>> To: John Webber (NBI)
>> Subject: Re: FW: Volviewer on Windows PC - issues with the "manifest"?
>> 
>> Hi,
>> 
>> The omero loading / saving code is all contained in this class:
>> https://cmpdartsvr1.cmp.uea.ac.uk/banghamlabSVN/VolViewer/VolViewer/VolViewer/src/OMEROLoader.cpp
>> 
>> Also you may want to build as a console application, to see the full verbose/debug output from VolViewer.
>> This will help a lot.
>> 
>> No idea what changes are present in the 4.4.4 API, best ask the omero forums if any big changes have occured to the cpp API.
>> 
>> J.
>> 
>> On 22 October 2012 12:55, John Webber (NBI) <John.Webber at nbi.ac.uk> wrote:
>> Hi Jerome,
>> 
>> How are you?
>> 
>> We have made some progress with the upgrade of the Omero server, but I do not believe that VolViewer will work with the latest version of Omero, without some changes.
>> 
>> I have now managed to get VolViewer working against my test version of the Omero server, using a set of Images that Samantha was able to provide for me.  I have three different installs of Volviewer running:  The 32bit and 64bit versions that I downloaded the binaries for fromhttp://cmpdartsvr1.cmp.uea.ac.uk/wiki/BanghamLab/index.php/VolViewer#Download and also a version of VolViewer that I built from source using Microsoft Visual Studios 2008.  With all three installs, I am able to open images from either the Omero production server, or from my new Omero Test server.
>> 
>> I have subsequently followed the process to upgrade my test Omero server to the latest version of Omero (4.4.4) and now would like to test Volviewer against this version of Omero.  All three versions of Volviewer that I mentioned previously crash when I attempt to open an image, with the following  message:  "This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information."
>> 
>> The 64bit version also had the following message when attempting to open an image from the upgraded server:  "QT has caught an exc eption through from an even handler.  Throwing exceptions from an even handler is not supported in Qt.  You must reimplement Qapplication::notify() and catch all exceptions there. "
>> 
>> I therefore build Volviewer again, this time linking it with the latest version of Omero (4.4.4) and using Visual Studios 2010 Command line.  The build works successfully, but this version also crashes when I attempt to open an image from the upgraded test Omero server.  This version does not issue any errors, but simply crashes and stops responding.
>> 
>> Are you aware of any changes that will need to be made to Volviewer in order to get it to work with the later version of Omero?
>> 
>> Thanks
>> John
>> 




More information about the ome-users mailing list