Jean-Marc Lasgouttes wrote: >>>>>> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes: > > Angus> Jean-Marc, could I get you to test once again whether > Angus> previewing now works for you? > > I get a nice crash now... I append the full ugly backtrace, it seems > that a bad variable is passed to imageReady.
Hmmmmm. I find that the .ppm files exist but have zero size. > > It is impressive to see how boost manages to make a mess from what > should be a backtrace with 4 or five entries. I got fed up after a > while, so complain if my backtrace is still not long enough. Yuck! Using the qt frontend I see no crash, but no diagnostic either. Using the xforms frontend, I see the crash. Conclusion? You're using the xforms frontend! Here's what valgrind has to say. Angus ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x7FE37D: BMP_identify (image_bmp.c:55) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x8047D4: FITS_identify (image_fits.c:93) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x7FB586: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== by 0x82D9073: lyx::graphics::CacheItem::Impl::loadImage() (GraphicsImage.h:175) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x806255: GIF_identify (image_gif.c:65) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x808906: JPEG_identify (image_jpeg.c:84) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x808926: JPEG_identify (image_jpeg.c:89) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x808936: JPEG_identify (image_jpeg.c:89) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x808945: JPEG_identify (image_jpeg.c:92) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x80BC8D: PPM_identify (image_pnm.c:63) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x80BCE3: PGM_identify (image_pnm.c:72) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x80BD39: PBM_identify (image_pnm.c:81) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x81014F: IRIS_identify (image_sgi.c:47) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x81015B: IRIS_identify (image_sgi.c:47) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x81073D: TIFF_identify (image_tiff.c:107) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x810749: TIFF_identify (image_tiff.c:107) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x815AB0: XWD_identify (image_xwd.c:143) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x815AC5: XWD_identify (image_xwd.c:146) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) ==2850== ==2850== Conditional jump or move depends on uninitialised value(s) ==2850== at 0x8080B7: GZIP_identify (image_gzip.c:48) ==2850== by 0x7FB580: identify_image (image.c:170) ==2850== by 0x7FB669: flimage_open (image.c:225) ==2850== by 0x81F8723: lyx::graphics::xformsImage::load_impl(std::string const&) (basic_string.h:717) In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview15.ppm: Unknown image format ==2850== ==2850== Invalid read of size 4 ==2850== at 0x82E3043: lyx::graphics::PreviewImage::Impl::statusChanged() (PreviewImage.C:155) ==2850== by 0x82E30D4: _ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tIvNS_4_mfi3mf0IvN3lyx8graphics12PreviewImage4ImplEEENS3_5list1INS3_5valueIPSA_EEEEEEvE6invokeENS1_11any_pointerE (mem_fn_template.hpp:46) ==2850== by 0x8060E93: boost::signal0<void, boost::last_value<void>, int, std::less<int>, boost::function0<void, std::allocator<boost::function_base> > >::operator()() (function_template.hpp:317) ==2850== by 0x82DF357: lyx::graphics::Loader::Impl::statusChanged() (GraphicsLoader.C:261) ==2850== Address 0x238A410 is 8 bytes inside a block of size 32 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0x82E2756: lyx::graphics::PreviewImage::~PreviewImage() (checked_delete.hpp:36) ==2850== by 0x82E94C7: boost::detail::sp_counted_base_impl<lyx::graphics::PreviewImage*, boost::checked_deleter<lyx::graphics::PreviewImage> >::dispose() (checked_delete.hpp:36) ==2850== by 0x82E4242: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (shared_count.hpp:148) ==2850== ==2850== Invalid read of size 4 ==2850== at 0x82E3046: lyx::graphics::PreviewImage::Impl::statusChanged() (PreviewImage.C:155) ==2850== by 0x82E30D4: _ZN5boost6detail8function26void_function_obj_invoker0INS_3_bi6bind_tIvNS_4_mfi3mf0IvN3lyx8graphics12PreviewImage4ImplEEENS3_5list1INS3_5valueIPSA_EEEEEEvE6invokeENS1_11any_pointerE (mem_fn_template.hpp:46) ==2850== by 0x8060E93: boost::signal0<void, boost::last_value<void>, int, std::less<int>, boost::function0<void, std::allocator<boost::function_base> > >::operator()() (function_template.hpp:317) ==2850== by 0x82DF357: lyx::graphics::Loader::Impl::statusChanged() (GraphicsLoader.C:261) ==2850== Address 0x238A414 is 12 bytes inside a block of size 32 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0x82E2756: lyx::graphics::PreviewImage::~PreviewImage() (checked_delete.hpp:36) ==2850== by 0x82E94C7: boost::detail::sp_counted_base_impl<lyx::graphics::PreviewImage*, boost::checked_deleter<lyx::graphics::PreviewImage> >::dispose() (checked_delete.hpp:36) ==2850== by 0x82E4242: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (shared_count.hpp:148) ==2850== ==2850== Invalid read of size 4 ==2850== at 0x82E276A: lyx::graphics::PreviewImage::snippet() const (scoped_ptr.hpp:95) ==2850== by 0x819F228: RenderPreview::imageReady(lyx::graphics::PreviewImage const&) (basic_string.h:910) ==2850== by 0x819F481: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderPreview, lyx::graphics::PreviewImage const&>, boost::_bi::list2<boost::_bi::value<RenderPreview*>, boost::arg<1> > >, void, boost::arg<1> >::invoke(boost::detail::function::any_pointer, boost::arg<1>) (mem_fn_template.hpp:130) ==2850== by 0x82E70CC: boost::signal1<void, lyx::graphics::PreviewImage const&, boost::last_value<void>, int, std::less<int>, boost::function1<void, lyx::graphics::PreviewImage const&, std::allocator<boost::function_base> > >::operator()(lyx::graphics::PreviewImage const&) (function_template.hpp:317) ==2850== Address 0x2958B44 is 0 bytes inside a block of size 4 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0x82E94CF: boost::detail::sp_counted_base_impl<lyx::graphics::PreviewImage*, boost::checked_deleter<lyx::graphics::PreviewImage> >::dispose() (checked_delete.hpp:36) ==2850== by 0x82E4242: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (shared_count.hpp:148) ==2850== by 0x82E33EE: lyx::graphics::PreviewLoader::remove(std::string const&) const (scoped_ptr.hpp:94) ==2850== ==2850== Invalid read of size 4 ==2850== at 0x82E2788: lyx::graphics::PreviewImage::snippet() const (scoped_ptr.hpp:94) ==2850== by 0x819F228: RenderPreview::imageReady(lyx::graphics::PreviewImage const&) (basic_string.h:910) ==2850== by 0x819F481: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderPreview, lyx::graphics::PreviewImage const&>, boost::_bi::list2<boost::_bi::value<RenderPreview*>, boost::arg<1> > >, void, boost::arg<1> >::invoke(boost::detail::function::any_pointer, boost::arg<1>) (mem_fn_template.hpp:130) ==2850== by 0x82E70CC: boost::signal1<void, lyx::graphics::PreviewImage const&, boost::last_value<void>, int, std::less<int>, boost::function1<void, lyx::graphics::PreviewImage const&, std::allocator<boost::function_base> > >::operator()(lyx::graphics::PreviewImage const&) (function_template.hpp:317) ==2850== Address 0x2958B44 is 0 bytes inside a block of size 4 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0x82E94CF: boost::detail::sp_counted_base_impl<lyx::graphics::PreviewImage*, boost::checked_deleter<lyx::graphics::PreviewImage> >::dispose() (checked_delete.hpp:36) ==2850== by 0x82E4242: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (shared_count.hpp:148) ==2850== by 0x82E33EE: lyx::graphics::PreviewLoader::remove(std::string const&) const (scoped_ptr.hpp:94) ==2850== ==2850== Invalid read of size 4 ==2850== at 0x819F23C: RenderPreview::imageReady(lyx::graphics::PreviewImage const&) (basic_string.h:249) ==2850== by 0x819F481: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderPreview, lyx::graphics::PreviewImage const&>, boost::_bi::list2<boost::_bi::value<RenderPreview*>, boost::arg<1> > >, void, boost::arg<1> >::invoke(boost::detail::function::any_pointer, boost::arg<1>) (mem_fn_template.hpp:130) ==2850== by 0x82E70CC: boost::signal1<void, lyx::graphics::PreviewImage const&, boost::last_value<void>, int, std::less<int>, boost::function1<void, lyx::graphics::PreviewImage const&, std::allocator<boost::function_base> > >::operator()(lyx::graphics::PreviewImage const&) (function_template.hpp:317) ==2850== by 0x82E34B5: lyx::graphics::PreviewLoader::emitSignal(lyx::graphics::PreviewImage const&) const (scoped_ptr.hpp:94) ==2850== Address 0x238A41C is 20 bytes inside a block of size 32 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0x82E2756: lyx::graphics::PreviewImage::~PreviewImage() (checked_delete.hpp:36) ==2850== by 0x82E94C7: boost::detail::sp_counted_base_impl<lyx::graphics::PreviewImage*, boost::checked_deleter<lyx::graphics::PreviewImage> >::dispose() (checked_delete.hpp:36) ==2850== by 0x82E4242: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (shared_count.hpp:148) ==2850== ==2850== Invalid read of size 4 ==2850== at 0x819F255: RenderPreview::imageReady(lyx::graphics::PreviewImage const&) (char_traits.h:139) ==2850== by 0x819F481: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderPreview, lyx::graphics::PreviewImage const&>, boost::_bi::list2<boost::_bi::value<RenderPreview*>, boost::arg<1> > >, void, boost::arg<1> >::invoke(boost::detail::function::any_pointer, boost::arg<1>) (mem_fn_template.hpp:130) ==2850== by 0x82E70CC: boost::signal1<void, lyx::graphics::PreviewImage const&, boost::last_value<void>, int, std::less<int>, boost::function1<void, lyx::graphics::PreviewImage const&, std::allocator<boost::function_base> > >::operator()(lyx::graphics::PreviewImage const&) (function_template.hpp:317) ==2850== by 0x82E34B5: lyx::graphics::PreviewLoader::emitSignal(lyx::graphics::PreviewImage const&) const (scoped_ptr.hpp:94) ==2850== Address 0x238A41C is 20 bytes inside a block of size 32 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0x82E2756: lyx::graphics::PreviewImage::~PreviewImage() (checked_delete.hpp:36) ==2850== by 0x82E94C7: boost::detail::sp_counted_base_impl<lyx::graphics::PreviewImage*, boost::checked_deleter<lyx::graphics::PreviewImage> >::dispose() (checked_delete.hpp:36) ==2850== by 0x82E4242: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (shared_count.hpp:148) Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview14.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview13.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview12.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview11.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview10.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview9.ppm: Unknown image format ==2850== ==2850== Invalid read of size 4 ==2850== at 0x819F23E: RenderPreview::imageReady(lyx::graphics::PreviewImage const&) (basic_string.h:257) ==2850== by 0x819F481: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderPreview, lyx::graphics::PreviewImage const&>, boost::_bi::list2<boost::_bi::value<RenderPreview*>, boost::arg<1> > >, void, boost::arg<1> >::invoke(boost::detail::function::any_pointer, boost::arg<1>) (mem_fn_template.hpp:130) ==2850== by 0x82E70CC: boost::signal1<void, lyx::graphics::PreviewImage const&, boost::last_value<void>, int, std::less<int>, boost::function1<void, lyx::graphics::PreviewImage const&, std::allocator<boost::function_base> > >::operator()(lyx::graphics::PreviewImage const&) (function_template.hpp:317) ==2850== by 0x82E34B5: lyx::graphics::PreviewLoader::emitSignal(lyx::graphics::PreviewImage const&) const (scoped_ptr.hpp:94) ==2850== Address 0x3CFEB68 is 0 bytes inside a block of size 240 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0xA10A7B: std::__default_alloc_template<true, 0>::deallocate(void*, unsigned) (in /usr/lib/libstdc++.so.5.0.5) ==2850== by 0xA163B8: std::string::_Rep::_M_destroy(std::allocator<char> const&) (in /usr/lib/libstdc++.so.5.0.5) ==2850== by 0x82E427C: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (basic_string.h:207) ==2850== ==2850== Invalid read of size 1 ==2850== at 0x819F25C: RenderPreview::imageReady(lyx::graphics::PreviewImage const&) (char_traits.h:139) ==2850== by 0x819F481: boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, RenderPreview, lyx::graphics::PreviewImage const&>, boost::_bi::list2<boost::_bi::value<RenderPreview*>, boost::arg<1> > >, void, boost::arg<1> >::invoke(boost::detail::function::any_pointer, boost::arg<1>) (mem_fn_template.hpp:130) ==2850== by 0x82E70CC: boost::signal1<void, lyx::graphics::PreviewImage const&, boost::last_value<void>, int, std::less<int>, boost::function1<void, lyx::graphics::PreviewImage const&, std::allocator<boost::function_base> > >::operator()(lyx::graphics::PreviewImage const&) (function_template.hpp:317) ==2850== by 0x82E34B5: lyx::graphics::PreviewLoader::emitSignal(lyx::graphics::PreviewImage const&) const (scoped_ptr.hpp:94) ==2850== Address 0x3CFEB74 is 12 bytes inside a block of size 240 free'd ==2850== at 0x87C64C: __builtin_delete (vg_replace_malloc.c:244) ==2850== by 0xA10A7B: std::__default_alloc_template<true, 0>::deallocate(void*, unsigned) (in /usr/lib/libstdc++.so.5.0.5) ==2850== by 0xA163B8: std::string::_Rep::_M_destroy(std::allocator<char> const&) (in /usr/lib/libstdc++.so.5.0.5) ==2850== by 0x82E427C: lyx::graphics::PreviewLoader::Impl::remove(std::string const&) (basic_string.h:207) Redraw screen Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview8.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview7.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview6.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview5.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview4.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview3.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview2.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview1.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview17.ppm: Unknown image format Redraw screen Redraw screen In OpenImage [../../image/image.c 228] /tmp/lyx_tmpdir2850zKVsm2/lyx_tmpbuf0/0lyxpreview16.ppm: Unknown image format Redraw screen no text in updateScrollbar
