Yeah, I meant that I compiled OIIO on that 64-bit machine.
2013/9/9 Kevin Brightwell <[email protected]> > No no, I meant when you compiled oiio. > > > On Mon, Sep 9, 2013 at 11:36 AM, Ramiro Pereira de Magalhães < > [email protected]> wrote: > >> Yes, that machine has a 64bit processor and a 64 bit kernel. Here's the >> uname -a output: >> >> Linux frodo 3.10-2-amd64 #1 SMP Debian 3.10.7-1 (2013-08-17) x86_64 >> GNU/Linux >> >> >> >> 2013/9/9 Kevin Brightwell <[email protected]> >> >>> First question, might be stupid, but are you compiling in 64-bit? 32-bit >>> will definitely crash, and unreliably do so. >>> >>> Second, in a bit of PD, I think this might have something to do with it: >>> >>> private: >>> std::ifstream m_file; >>> std::string m_current_line; ///< Buffer the image pixels >>> const char * m_pos; >>> unsigned int m_pnm_type, m_max_val; // shouldn't this be long? >>> >>> >>> >>> bool read_file_scanline (void * data); >>> bool read_file_header (); >>> }; >>> >>> >>> and this shows up here: >>> >>> Line 267: >>> if (m_max_val > std::numeric_limits<unsigned char>::max()) >>> raw_to_raw ((unsigned short *)&buf[0], (unsigned short * >>> ) data, >>> nsamples, (unsigned short)m_max_val); >>> else >>> raw_to_raw ((unsigned char *)&buf[0], (unsigned char *) >>> data, >>> nsamples, (unsigned char)m_max_val); // >>> casting to a char? >>> break; >>> >>> Lots of places show up that could cause problems with massive file >>> sizes. I'm no expert. >>> >>> Kevin >>> >>> >>> On Mon, Sep 9, 2013 at 11:16 AM, Ramiro Pereira de Magalhães < >>> [email protected]> wrote: >>> >>>> Hi, >>>> >>>> I have just learned about OIIO and I wrote a simple program with >>>> OpenImageIO to load a 10GB PGM file into memory. To try things out I wrote >>>> a simple program to load a 10GB PGM (yeah, PGM) file into memory. Sadly, >>>> the program crashes prior to completing its task with a Segmentation Fault. >>>> The machine where this is running has 64GB RAM, most of it free. Can anyone >>>> help me figure out this issue? >>>> >>>> Bellow is the program I wrote. It is pretty simple: load the image >>>> given as argument to it into a buffer, then close the file, clean the >>>> buffers and leave. >>>> >>>> ================CODE================ >>>> #include <iostream> >>>> #include <string> >>>> #include <sstream> >>>> #include <OpenImageIO/imageio.h> >>>> >>>> OIIO_NAMESPACE_USING >>>> >>>> int main(int argc, char* args[]) >>>> { >>>> if (argc != 2) >>>> { >>>> return 1; >>>> } >>>> const std::string filePath = args[1]; >>>> >>>> ImageInput *in = ImageInput::open (filePath); >>>> const ImageSpec & spec = in->spec(); >>>> const int size = spec.width * spec.height; >>>> >>>> unsigned char * pixels = new unsigned char[size]; >>>> in->read_image(TypeDesc::UCHAR, pixels); >>>> std::cout << "Done reading." << std::endl; >>>> in->close(); >>>> std::cout << "Closed file." << std::endl; >>>> >>>> delete in; >>>> delete pixels; >>>> >>>> std::cout << "Outta here." << std::endl; >>>> return 0; >>>> } >>>> ================CODE================ >>>> >>>> >>>> Segfault happens at line 173 of onminput.cpp. Here is the call stack >>>> given by Qt Builder: >>>> >>>> 0 OpenImageIO::v1_3::raw_to_raw<unsigned char> pnminput.cpp >>>> 173 0x7ffff798c1e6 >>>> 1 OpenImageIO::v1_3::PNMInput::read_file_scanline pnminput.cpp >>>> 272 0x7ffff798b09c >>>> 2 OpenImageIO::v1_3::PNMInput::read_native_scanline >>>> pnminput.cpp 385 0x7ffff798b91e >>>> 3 OpenImageIO::v1_3::ImageInput::read_native_scanlines >>>> imageinput.cpp 260 0x7ffff76d9280 >>>> 4 OpenImageIO::v1_3::ImageInput::read_scanlines imageinput.cpp >>>> 197 0x7ffff76d8c24 >>>> 5 OpenImageIO::v1_3::ImageInput::read_scanlines imageinput.cpp >>>> 165 0x7ffff76d8977 >>>> 6 OpenImageIO::v1_3::ImageInput::read_image imageinput.cpp >>>> 631 0x7ffff76db3c8 >>>> 7 main show.cpp 31 0x4012b7 >>>> >>>> >>>> I compiled OIIO from the git commit >>>> d64b9ac8a63261040ae0263b0709924d8fecf4df (Tue Sep 3 12:53:12 2013 -0700). >>>> >>>> I appreciate any help. >>>> >>>> _______________________________________________ >>>> Oiio-dev mailing list >>>> [email protected] >>>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>>> >>>> >>> >>> >>> -- >>> Kevin Brightwell >>> *BESc. and BSc. Candidate 2015* >>> Western University www.westernu.ca <http://www.uwo.ca> >>> e. [email protected] c. 226.678.4927 >>> >>> _______________________________________________ >>> Oiio-dev mailing list >>> [email protected] >>> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >>> >>> >> >> _______________________________________________ >> Oiio-dev mailing list >> [email protected] >> http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org >> >> > > > -- > Kevin Brightwell > *BESc. and BSc. Candidate 2015* > Western University www.westernu.ca <http://www.uwo.ca> > e. [email protected] c. 226.678.4927 > > _______________________________________________ > Oiio-dev mailing list > [email protected] > http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org > >
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
