Hi folks:
I'm having a strange issue with [pix_multiimage] which maybe someone here can figure out. Whenever I try to give it some files to open using a message like: [open /home/patrick/rainbows/images/11092007223212/*.jpg 12<
...pd locks up completely. The files are named properly with numbers starting at 0. I tried to investigate by starting pd from command line and before it locks up it prints to the terminal:
TIFFOpen: /home/patrick/Desktop/rainbows/images/11092007222235/1.jpg: Cannot open. *** glibc detected *** pd: free(): invalid pointer: 0x08314c4c ***
The help patch for pix_multiimage gives me a similar message.
I'm using Gem 0.91 and pd 0.41 on Ubuntu, both from cvs... so I assume one good solution might be to use older more stable versions...
Anyone know why it might be doing this?
Cheers, Patrick
Patrick Valiquet wrote:
Hi folks:
TIFFOpen: /home/patrick/Desktop/rainbows/images/11092007222235/1.jpg: Cannot open. *** glibc detected *** pd: free(): invalid pointer: 0x08314c4c ***
are you using nvidia's binary drivers? there is a long outstanding bug somewhere upstream (nvidia-glx, libstdc++6, who knows) that crashes openGL-applications whenever they try to throw (and catch!) an exception.
see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=364907 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=365245
since you are on ubuntu, you could try bothering the u'support; since they get paid, it will probably get fixed sooner :-)
apart from that: have you tried compiling Gem with/without imagemagick++ support? (imagemagick can open loads of formats; however it will still crash if it cannot find the image because of the described exception problem)
fnmgas.dr IOhannes
Thanks for the info Iohannes. Should have known it would be a driver issue. Unfortunately the problem persists whether I compile with or without ImageMagick.
I'd troubleshooting to try to find a way to work around this. The problem was that the images I'm sending to [pix_multiimage] are being generated by a script which writes a different number of images in a new directory every time it runs and then sends info about where and how many to PD. If there was only one image generated, it was sending the message:
[open ./directory/*.jpg 1(
...but apparently [pix_multiimage] wants at least two pictures to work with and will crash pd (because of the driver bug you mentioned) when it only finds an image called 0.jpg
That's easy enough to fix (I can make the script generate an extra dummy image when it only wants to make one)... but I have run into a second problem.
After I've loaded a set of pictures into [pix_multiimage], I try to replace it with a second set of images. When I send the message to load the second set, I get an exception with: *** glibc detected *** pd: free(): invalid pointer: 0x08446244 ***
Is this normal behaviour? Should it be possible to change the contents of pix_multiimage on the fly? Otherwise I suppose I can imitate pix_multiimage with a pix_buffer...
Thanks again, Patrick
On 9/12/07, IOhannes m zmoelnig zmoelnig@iem.at wrote:
Patrick Valiquet wrote:
Hi folks:
TIFFOpen: /home/patrick/Desktop/rainbows/images/11092007222235/1.jpg: Cannot open. *** glibc detected *** pd: free(): invalid pointer: 0x08314c4c ***
are you using nvidia's binary drivers? there is a long outstanding bug somewhere upstream (nvidia-glx, libstdc++6, who knows) that crashes openGL-applications whenever they try to throw (and catch!) an exception.
see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=364907 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=365245
since you are on ubuntu, you could try bothering the u'support; since they get paid, it will probably get fixed sooner :-)
apart from that: have you tried compiling Gem with/without imagemagick++ support? (imagemagick can open loads of formats; however it will still crash if it cannot find the image because of the described exception problem)
fnmgas.dr IOhannes
Patrick Valiquet wrote:
After I've loaded a set of pictures into [pix_multiimage], I try to replace it with a second set of images. When I send the message to load the second set, I get an exception with: *** glibc detected *** pd: free(): invalid pointer: 0x08446244 ***
Is this normal behaviour?
depends on your definition of normal. i would say: a crash must never be a "normal" behaviour (unless the program is very special)
could you please file a (or 2) bug-report(s) at gem's tracker (http://sourceforge.net/tracker/?group_id=64325&atid=507079) with a description and an example patch?
Should it be possible to change the contents of pix_multiimage on the fly?
yes it should.
Otherwise I suppose I can imitate pix_multiimage with a pix_buffer...
yes that might be the best thing right now, until this has been sorted out.
fmga.sdr IOhannes
On 9/12/07, IOhannes m zmoelnig zmoelnig@iem.at wrote:
depends on your definition of normal. i would say: a crash must never be a "normal" behaviour (unless the program is very special)
True enough... it's special but not _that_ special...
could you please file a (or 2) bug-report(s) at gem's tracker (http://sourceforge.net/tracker/?group_id=64325&atid=507079) with a description and an example patch?
Will do.
Should it be possible to change the contents of pix_multiimage on the fly?
yes it should.
That's what I figured... the last time I used multiimage was a couple of years ago but I remember it working fine, although that was under OS X. Guess I'm a victim of the closed-source nvidia driver. No big deal: I've rewritten the patch using a pix_buffer, now with no problems.
P