Re: Threadlock in ossim plugins

1 message Options
Embed this post
Permalink
David Burken-2

Re: Threadlock in ossim plugins

Reply Threaded More More options
Print post
Permalink
All,

Just fyi, I had a bug (hang) in our geotiff reader.  readTags was
setting a lock, calling overloaded readTags that also had a lock.  Fixed
in svn.  Also updated test app ossimTiffInfoTest.cpp to test the
ossimGeoTiff class to verify fix.

Thanks Emmanuel!

Dave


On 11/05/2009 12:06 AM, Emmanuel Christophe wrote:

> Hi Dave,
>
> I'm trying to update the internal version of ossim and ossim plugins
> in OTB to the svn version 15827.
>
> I have a lock with the following program:
>
> #include "projection/ossimProjection.h"
> #include "projection/ossimProjectionFactoryRegistry.h"
> #include "ossim/ossimPluginProjectionFactory.h"
>
> int main(int argc, char * argv[])
> {
>
>    ossimProjectionFactoryRegistry::instance()->registerFactory(ossimplugins::ossimPluginProjectionFactory::instance());
>    ossimProjection * projection = ossimProjectionFactoryRegistry::instance()
>    ->createProjection(ossimFilename(argv[1]),0);
> }
>
> Using the image IMAGERY_SSECH.tif (available at
> http://hg.orfeo-toolbox.org/OTB-Data/raw-file/75b235e11e34/Examples/IMAGERY_SSECH.tif).
> It seems to be ok with some other tif file I've tried.
>
> The program hangs and the backtrace is:
>
> #0  0x00007ffff06cf164 in __lll_lock_wait () from /lib/libpthread.so.0
> #1  0x00007ffff06caa53 in _L_lock_102 () from /lib/libpthread.so.0
> #2  0x00007ffff06ca35e in pthread_mutex_lock () from /lib/libpthread.so.0
> #3  0x0000000000403a11 in ScopedLock (this=0x7fffffffdce0, m=...)
>      at /usr/include/OpenThreads/ScopedLock:31
> #4  0x00007ffff4c99b82 in ossimGeoTiff::readTags (this=0x7fffffffde30,
>      tiff=0x70a410, entryIdx=0, ownTiffPtrFlag=true)
>      at /home/christop/OTB/trunk/OTB/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp:874
> #5  0x00007ffff4c9a8f8 in ossimGeoTiff::readTags (this=0x7fffffffde30,
>      file=..., entryIdx=0)
>      at /home/christop/OTB/trunk/OTB/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp:865
> #6  0x00007ffff4c9c9df in ossimGeoTiff (this=0x7fffffffde30, file=...,
>      entryIdx=0)
>      at /home/christop/OTB/trunk/OTB/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp:147
> #7  0x00007ffff4d39b81 in ossimTiffProjectionFactory::createProjection (
>      this=0x6f3810, filename=..., entryIdx=0)
>      at /home/christop/OTB/trunk/OTB/Utilities/otbossim/src/ossim/projection/ossimTiffProjectionFactory.cpp:49
> #8  0x00007ffff4ce904e in ossimProjectionFactoryRegistry::createProjection (
>      this=0x6f3640, name=..., entryIdx=0)
>      at /home/christop/OTB/trunk/OTB/Utilities/otbossim/src/ossim/projection/ossimProjectionFactoryRegistry.cpp:61
> #9  0x0000000000403883 in main (argc=2, argv=0x7fffffffe128)
>      at /home/christop/prog/bugs/ossimPluginsLock.cxx:10
>
>
> Any suggestion?
>
> Emmanuel
>
>    


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
www.ossim.org
Ossim-developer mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/ossim-developer