[Insight-developers] Memory exception
ivan gm
ivan.gm.itk at gmail.com
Tue Dec 9 08:06:56 EST 2008
Hi:
Have a look to my anwers in your mail:
On Tue, Dec 2, 2008 at 4:56 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>
>
> Hi Ivan,
>
>
> Three suggestions:
>
>
> A) You can catch "any" exceptions by using:
>
> catch(...)
> {
> }
>
> note the "..." inside the parenthesis,
> this is to be used literally.
>
Thanks this catch the exception. I didn't know c lets us to use this.
>
> B) This looks indeed like a memory limitation on your
> machine. However, it is healthy to fully understand
> the problem first.
>
> Please provide the following information:
>
> a) How much physical RAM do you have ?
1024 MB
>
> b) How much virtual memory do you have configured ?
from 2049 to 4092
>
> c) What is the number of pixels in the input slices ?
512 x 512 and 344 slices
>
> (number of pixels along X and along Y).
> d) What is the pixel type of the image ?
signed sort (16 bits)
>
>
> C) If you have the TaskManager ON, and the Resource tab ON,
> while you run your program, you should be able to see
> how the memory consumption increases, and... eventually
> if it goes over your available RAM.
>
>
>
> Please let us know what you find,
>
>
> Thanks
>
>
> Luis
>
>
>
> ---------------------
> ivan gm wrote:
>
>> Hi,
>>
>> Unfortunately, neither of this option caught the excetion, I think this is
>> happening because the itk pipeline is running under a thread. When the
>> program crash Visual Studio shows the afxtls_.h file in the line 197 (Create
>> object funtion). I only get this exception when I use a image of 300 slices.
>> if I use a normal 40 slices-image it runs nice. But my question is, if I
>> increase the RAM or the virtual memory it would solve the problem?
>>
>> Thanks a lot.
>>
>>
>> On Tue, Nov 25, 2008 at 1:32 PM, Tom Vercauteren <tom.vercauteren at m4x.org<mailto:
>> tom.vercauteren at m4x.org>> wrote:
>>
>> Hi Ivan,
>>
>> You might also want to try catching other types of exceptions. I
>> remember that ITK writers can also throw a std::bad_alloc exception. I
>> guess that other types are also possible...
>>
>> Try this:
>> try{
>> writer->Update();
>> }
>> catch( itk::ExceptionObject & excp ) {
>> std::cerr << "itk::ExceptionObject: " << excp << std::endl;
>> }
>> catch ( std::bad_alloc & excp ){
>> std::cerr << "std::bad_alloc: " << excp.what() << std::endl;
>> }
>> catch ( std::exception & excp ){
>> std::cerr << "std::exception: " << excp.what() << std::endl;
>> }
>>
>> Tom
>>
>> On Tue, Nov 25, 2008 at 12:52 PM, ivan gm <ivan.gm.itk at gmail.com
>> <mailto:ivan.gm.itk at gmail.com>> wrote:
>> > Hello:
>> >
>> > Even with this clause I can't caught the exception. It's very
>> extrange
>> > because if I use the AnalyzeImageIO it works perfectly and with the
>> > GDCMImageIO it fails. In order to give you more information I
>> attach the
>> > stack trace given by dotnet:
>> >
>> > kernel32.dll!7c812aeb()
>> > [Los marcos siguientes pueden no ser correctos o faltar, no
>> se han
>> > cargado símbolos para kernel32.dll]
>> > kernel32.dll!7c812aeb()
>> >>
>> mfc80d.dll!CThreadLocal<AFX_MODULE_THREAD_STATE>::CreateObject() Línea
>> >> 198 + 0x47 bytes C++
>> > msvcr80d.dll!_CxxThrowException(void *
>> pExceptionObject=0x0ffbd598,
>> > const _s__ThrowInfo * pThrowInfo=0x783c0b6c) Línea 166 C++
>> > mfc80d.dll!AfxThrowMemoryException() Línea 222 C++
>> > mfc80d.dll!AfxNewHandler(unsigned int __formal=180355072)
>> Línea 304
>> > C++
>> > mfc80d.dll!operator new(unsigned int nSize=180355072) Línea
>> 360 + 0xd
>> > bytes C++
>> > mfc80d.dll!operator new[](unsigned int nSize=180355072)
>> Línea 382 +
>> > 0x9 bytes C++
>> > myAplication.exe!itk::GDCMImageIO::Write(const void *
>> > buffer=0x1fb40040) Línea 1069 + 0xc bytes C++
>> >
>> myAplication.exe!itk::ImageFileWriter<itk::OrientedImage<short,3>
>> >>::GenerateData() Línea 279 + 0x33 bytes C++
>> >
>> myAplication.exe!itk::ImageFileWriter<itk::OrientedImage<short,3>
>> >>::Write() Línea 232 + 0x12 bytes C++
>> >
>> myAplication.exe!itk::ImageFileWriter<itk::OrientedImage<short,3>
>> >>::Update() Línea 148 + 0x12 bytes C++
>> > myAplication.exe!CmyAplicationDlg::FilterThread() Línea 608
>> + 0x32
>> > bytes C++
>> >
>> > Thanks for your help.
>> >
>> >
>> >
>> > On Mon, Nov 24, 2008 at 1:25 PM, Dan Mueller <dan.muel at gmail.com
>> <mailto:dan.muel at gmail.com>> wrote:
>> >>
>> >> Hi Ivan,
>> >>
>> >> Perhaps try the following:
>> >>
>> >> try
>> >> {
>> >> writer->Update();
>> >> }
>> >> catch( itk::ExceptionObject & excp )
>> >> {
>> >> std::cerr << excp << std::endl;
>> >> }
>> >>
>> >> This should provide some more details regarding this issue. Let us
>> >> know what you find.
>> >>
>> >> HTH
>> >>
>> >> Regards, Dan
>> >>
>> >> 2008/11/24 ivan gm <ivan.gm.itk at gmail.com
>> <mailto:ivan.gm.itk at gmail.com>>:
>>
>> >> > Hello:
>> >> >
>> >> > Im trying to save an image in a file with the code bellow:
>> >> > writer = WriterType::New();
>> >> >
>> writer->SetFileName(originalName.c_str());
>> >> > writer->SetImageIO(
>> itk:DicomImageIO::New() );
>> >> > // itk::AnalyzeImageIO::New());
>> >> > writer->SetInput( this->tempImage1 );
>> >> > writer->Update();
>> >> > When i use a itk::AnalyzeImageIO it works fine but when I
>> change it to
>> >> > DicomImageIO (because i want to save the file in dcm format
>> instead of
>> >> > hdr)
>> >> > the program crash with the following Excetion message:
>> >> >
>> >> > Excepción no controlada en 0x7c812aeb en myprogram.exe:
>> Excepción de
>> >> > Microsoft C++: CMemoryException en la ubicación de memoria
>> 0x0ffbd514.
>> >> >
>> >> > I think the problem is that my computer don't have enough RAM
>> memory...
>> >> > can
>> >> > anybody tell me if I can't solve the problem without
>> increasing the RAM?
>> >> >
>> >> > On the other hand, I tried to handle this CMemoryException
>> with the
>> >> > following code:
>> >> > try {
>> >> > //code
>> >> > } catch (CMemoryException e) {
>> >> > printf("whatever");
>> >> > }
>> >> > But it doesn't catch anything. Any help?
>> >> >
>> >> >
>> >> > Thanks a lot.
>> >> >
>> >> > Iván García Martínez.
>> >> >
>> >> > _______________________________________________
>> >> > Insight-developers mailing list
>> >> > Insight-developers at itk.org <mailto:Insight-developers at itk.org>
>> >> > http://www.itk.org/mailman/listinfo/insight-developers
>> >
>> >
>> > _______________________________________________
>> > Insight-developers mailing list
>> > Insight-developers at itk.org <mailto:Insight-developers at itk.org>
>> > http://www.itk.org/mailman/listinfo/insight-developers
>> >
>> >
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Insight-developers mailing list
>> Insight-developers at itk.org
>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20081209/e70250dd/attachment.htm>
More information about the Insight-developers
mailing list