Hello all,
I have found a new problem in my machine with Pd and the recent changes i made: (I mentioned them in a previous e-mail, but I'll restate them: installing recordmydesktop and Mplayer, and adding support for mpeg3, Quicktime and ffmpeg, then recompiling gem)
Now this is what I can see so far: everytime I: -change an object's name while pd is running, -copy part of a patch into another patch,
I get the following message in the terminal:
*** glibc detected *** ./pd: malloc(): memory corruption: 0x0000000000fa56a0*** (below is another one with more details)
pd is looks ok, but I can't use any of the menus or edit and need to quit it from the terminal with ctrl+c. If there is a gem window then it is impossible to quit.
If I reopen pd I get the following message and no sound of course:
snd_pcm_open (input): Device or resource busy snd_pcm_open (output): Device or resource busy
I then need to restart the machine to get sound again.
At this point, I think it only happens with patches that have a gemwin...
below is a longer error message after closing a patch and opening it again. Anyone have a clue of what could be causing this and how to solve it?
cheers,
Jaime
*** glibc detected *** ./pd: malloc(): memory corruption: 0x000000000165c530
======= Backtrace: ========= /lib64/libc.so.6[0x3470272fec] /lib64/libc.so.6(__libc_malloc+0x7a)[0x34702748fa] /usr/lib64/libstdc++.so.6(_Znwm+0x1d)[0x34840bd1ed] /home/joliverl/Desktop/Gem/src/Gem.pd_linux(_ZN11pix_filmNEWC1EP7_symbol+0x1d9)[0x92d9b9] /home/joliverl/Desktop/Gem/src/Gem.pd_linux[0x92db33] ./pd(pd_typedmess+0x46e)[0x45d4ce] ./pd(binbuf_eval+0x47d)[0x461aed] ./pd[0x419da6] ./pd(canvas_obj+0x70)[0x41bb30] ./pd(pd_typedmess+0x287)[0x45d2e7] ./pd(binbuf_eval+0x47d)[0x461aed] ./pd(binbuf_evalfile+0xae)[0x466c0e] ./pd(glob_evalfile+0x1c)[0x466ccc] ./pd(pd_typedmess+0x389)[0x45d3e9] ./pd(binbuf_eval+0x47d)[0x461aed] ./pd(socketreceiver_read+0xecb)[0x46fe4b] ./pd[0x46cfb4] ./pd(m_mainloop+0xa5d)[0x46965d] ./pd(sys_main+0x120b)[0x46c8ab] /lib64/libc.so.6(__libc_start_main+0xf4)[0x347021e074] ./pd[0x40ffd9] ======= Memory map: ======== 00110000-001ac000 r-xp 00000000 fd:00 18513989 /usr/lib64/libavformat.so.52.22.1 001ac000-003ac000 ---p 0009c000 fd:00 18513989 /usr/lib64/libavformat.so.52.22.1 003ac000-003b7000 rw-p 0009c000 fd:00 18513989 /usr/lib64/libavformat.so.52.22.1 003b7000-003b9000 rwxp 00000000 00:0f 203 /dev/zero 00400000-004e0000 r-xp 00000000 fd:00 33622022 /home/joliverl/Desktop/pd-0.41-4/bin/pd 006e0000-006e2000 rw-p 000e0000 fd:00 33622022 /home/joliverl/Desktop/pd-0.41-4/bin/pd 006e2000-006ef000 rw-p 006e2000 00:00 0 006ef000-00a25000 r-xp 00000000 fd:00 33591301 /home/joliverl/Desktop/Gem/src/Gem.pd_linux 00a25000-00c24000 ---p 00336000 fd:00 33591301 /home/joliverl/Desktop/Gem/src/Gem.pd_linux 00c24000-00c49000 rw-p 00335000 fd:00 33591301 /home/joliverl/Desktop/Gem/src/Gem.pd_linux 00c49000-00c4e000 rw-p 00c49000 00:00 0 00c4e000-00c7b000 r-xp 00000000 fd:00 18513967 /usr/lib64/libmpeg3.so.1.0.0 00c7b000-00e7b000 ---p 0002d000 fd:00 18513967 /usr/lib64/libmpeg3.so.1.0.0 00e7b000-00e81000 rw-p 0002d000 fd:00 18513967 /usr/lib64/libmpeg3.so.1.0.0 00e81000-00e94000 rw-p 00e81000 00:00 0 00e94000-00f18000 r-xp 00000000 fd:00 18513997 /usr/lib64/libquicktime.so.0.0.0 00f18000-01117000 ---p 00084000 fd:00 18513997 /usr/lib64/libquicktime.so.0.0.0 01117000-0111c000 rw-p 00083000 fd:00 18513997 /usr/lib64/libquicktime.so.0.0.0 0111c000-0111d000 rw-p 0111c000 00:00 0 0111d000-01161000 r-xp 00000000 fd:00 18513933 /usr/lib64/libmp3lame.so.0.0.0 01161000-01360000 ---p 00044000 fd:00 18513933 /usr/lib64/libmp3lame.so.0.0.0 01360000-01362000 rw-p 00043000 fd:00 18513933 /usr/lib64/libmp3lame.so.0.0.0 01362000-01393000 rw-p 01362000 00:00 0 01413000-01b65000 rw-p 01413000 00:00 0 [heap] 0364f000-0365d000 r-xp 00000000 fd:00 18513981 /usr/lib64/libfaac.so.0.0.0 0365d000-0385d000 ---p 0000e000 fd:00 18513981 /usr/lib64/libfaac.so.0.0.0 0385d000-03860000 rw-p 0000e000 fd:00 18513981 /usr/lib64/libfaac.so.0.0.0 03c21000-03c29000 r-xp 00000000 fd:00 18513991 /usr/lib64/libavutil.so.49.10.0 03c29000-03e29000 ---p 00008000 fd:00 18513991 /usr/lib64/libavutil.so.49.10.0 03e29000-03e2a000 rw-p 00008000 fd:00 18513991 /usr/lib64/libavutil.so.49.10.0 03e2a000-03e2d000 rw-p 03e2a000 00:00 0 04138000-04142000 r-xp 00000000 fd:00 18513965 /usr/lib64/liba52.so.0.0.0 04142000-04341000 ---p 0000a000 fd:00 18513965 /usr/lib64/liba52.so.0.0.0 04341000-04342000 rw-p 00009000 fd:00 18513965 /usr/lib64/liba52.so.0.0.0 04342000-04343000 rw-p 04342000 00:00 0 04380000-04Pd: signal 6
Jaime Oliver wrote:
Hello all,
I have found a new problem in my machine with Pd and the recent changes i made: (I mentioned them in a previous e-mail, but I'll restate them: installing recordmydesktop and Mplayer, and adding support for mpeg3, Quicktime and ffmpeg, then recompiling gem)
Now this is what I can see so far: everytime I: -change an object's name while pd is running, -copy part of a patch into another patch,
do the problems go away when you _not_ load Gem? has Gem been compiled against the correct version of Pd? (m_pd.h used for compilation of Gem belongs to Pd-binary used)
it seems like i missed the version of Pd you are trying to use.
oh, and your machine is x86_64, correct?
fgmadr IOhannes
Hi Iohannes,
do the problems go away when you _not_ load Gem?
Yes, as far as I can tell, they go away.
has Gem been compiled against the correct version of Pd?
I don't know, I can't remember when was the last time I downloaded this version of GEM, it only says: ver: 0.91-cvs
(m_pd.h used for compilation of Gem belongs to Pd-binary used)
it seems like i missed the version of Pd you are trying to use.
My pd version is pd-0.41-4, the thing is that it was working properly before i installed all the new libraries and mplayer. That is, the gem and pd versions were the same before and they worked fine together... is this relevant? Should I download and compile the latest versions of gem and Pd and see?
oh, and your machine is x86_64, correct?
correct.
cheers,
Jaime
fgmadr IOhannes
Jaime Oliver wrote:
Hi Iohannes,
do the problems go away when you _not_ load Gem?
Yes, as far as I can tell, they go away.
darn
has Gem been compiled against the correct version of Pd?
I don't know, I can't remember when was the last time I downloaded this version of GEM, it only says: ver: 0.91-cvs
so did you compile Gem yourself or are you using a pre-compiled binary?
(m_pd.h used for compilation of Gem belongs to Pd-binary used)
it seems like i missed the version of Pd you are trying to use.
My pd version is pd-0.41-4, the thing is that it was working properly before i installed all the new libraries and mplayer. That is, the gem and pd versions were the same before and they worked fine together... is this relevant?
hmm, just in order to get it right: you installed Pd and Gem and everything worked fine; then you installed mplayer and updated some libraries; then the old binaries of pd/Gem started to crash.
this sounds very much like an ABI problem to me. since Gem uses some of the libraries you upgraded (libquicktime, libmpeg3, FFMPEG(!)), it is a good idea to re-link Gem to this libraries.
this is especially true for FFMPEG which ha a policy of not maintaining compatibility to older releases. it is recommended to build Gem without ffmpeg support (unless you know what you are doing and you really need it) .... though i think it won't compile with recent ffmpeg anyhow :-)
Should I download and compile the latest versions of gem and Pd and see?
just re-compiling Gem should be sufficient.
fgmasdr IOhannes
hello again,
On Mon, Dec 1, 2008 at 1:13 AM, IOhannes m zmoelnig zmoelnig@iem.at wrote:
Jaime Oliver wrote:
Hi Iohannes,
do the problems go away when you _not_ load Gem?
Yes, as far as I can tell, they go away.
darn
darn indeed
has Gem been compiled against the correct version of Pd?
I don't know, I can't remember when was the last time I downloaded this version of GEM, it only says: ver: 0.91-cvs
so did you compile Gem yourself or are you using a pre-compiled binary?
I compiled it myself
(m_pd.h used for compilation of Gem belongs to Pd-binary used)
it seems like i missed the version of Pd you are trying to use.
My pd version is pd-0.41-4, the thing is that it was working properly before i installed all the new libraries and mplayer. That is, the gem and pd versions were the same before and they worked fine together... is this relevant?
hmm, just in order to get it right: you installed Pd and Gem and everything worked fine; then you installed mplayer and updated some libraries; then the old binaries of pd/Gem started to crash.
YES
this sounds very much like an ABI problem to me.
what does ABI mean? I'm pretty sure it's not any of these: http://en.wikipedia.org/wiki/ABI... (you'll excuse my ignorance in this and some of what follows...)
since Gem uses some of the libraries you upgraded (libquicktime, libmpeg3, FFMPEG(!)), it is a good idea to re-link Gem to this libraries.
well, when i run ./configure in GEM, it tells me:
use mpeg-3 : yes use quicktime : yes use ffmpeg : yes
So doesn't this imply they are linked? I didn't have this libraries on this computer before, so they are brand new.
this is especially true for FFMPEG which ha a policy of not maintaining compatibility to older releases. it is recommended to build Gem without ffmpeg support (unless you know what you are doing and you really need it) .... though i think it won't compile with recent ffmpeg anyhow :-)
Actually, I could do without it, but I don't know how to get rid of it... is there a nice command like uninstall ffmpeg? I installed it via-yum with freshrpms or a similar repo... I imagine i could do without mpeg3 to.
to read mp4s i just need quicktime right?
Should I download and compile the latest versions of gem and Pd and see?
just re-compiling Gem should be sufficient.
Ok, so I got his errors:
make[1]: Entering directory `/home/joliverl/Desktop/Gem/src/Pixes' In file included from pix_filmNEW.cpp:28: ../Pixes/filmFFMPEG.h:23:22: error: avformat.h: No such file or directory ../Pixes/filmFFMPEG.h:24:21: error: avcodec.h: No such file or directory In file included from pix_filmNEW.cpp:30: ../Pixes/filmMPEG3.h:22:22: error: libmpeg3.h: No such file or directory In file included from filmMPEG3.cpp:16: ../Pixes/filmMPEG3.h:22:22: error: libmpeg3.h: No such file or directory In file included from filmFFMPEG.cpp:17: ../Pixes/filmFFMPEG.h:23:22: error: avformat.h: No such file or directory ../Pixes/filmFFMPEG.h:24:21: error: avcodec.h: No such file or directory
so there seems to be problems both with mpeg3 and ffmpeg, is this what you mean by linking them?
J
fgmasdr IOhannes
Jaime Oliver wrote:
hello again,
hi
this sounds very much like an ABI problem to me.
what does ABI mean? I'm pretty sure it's not any of these: http://en.wikipedia.org/wiki/ABI...
it is: http://en.wikipedia.org/wiki/Application_binary_interface
(you'll excuse my ignorance in this and some of what follows...)
at least i understand it as "binary compatibility". probably it means something else.
since Gem uses some of the libraries you upgraded (libquicktime, libmpeg3, FFMPEG(!)), it is a good idea to re-link Gem to this libraries.
well, when i run ./configure in GEM, it tells me: Actually, I could do without it, but I don't know how to get rid of it... is
there a nice command like uninstall ffmpeg? I installed it via-yum with freshrpms or a similar repo... I imagine i could do without mpeg3 to.
to read mp4s i just need quicktime right?
depends on which codecs come with your installation of libquicktime. it should work though.
use mpeg-3 : yes use quicktime : yes use ffmpeg : yes
So doesn't this imply they are linked? I didn't have this libraries on this
yes, this is implied.
computer before, so they are brand new.
wait. which libraries is Gem linked with? try "ldd /path/to/Gem.pd_linux" and/or create a [pix_film] object and observe what it says.
this is especially true for FFMPEG which ha a policy of not maintaining compatibility to older releases. it is recommended to build Gem without ffmpeg support (unless you know what you are doing and you really need it) .... though i think it won't compile with recent ffmpeg anyhow :-)
see below...
Actually, I could do without it, but I don't know how to get rid of it... is there a nice command like uninstall ffmpeg? I installed it via-yum with freshrpms or a similar repo... I imagine i could do without mpeg3 to.
actually it is simple: % ./configure --help ... and then something like % ./configure --without-ffmpeg
i thought that ffmpeg was disabled by default in the current HEAD of Gem which would make this unneccessary...i'll doublecheck
to read mp4s i just need quicktime right?
depends on which codecs come with your installation of libquicktime. it should work though.
Ok, so I got his errors:
make[1]: Entering directory `/home/joliverl/Desktop/Gem/src/Pixes' In file included from pix_filmNEW.cpp:28: ../Pixes/filmFFMPEG.h:23:22: error: avformat.h: No such file or directory ../Pixes/filmFFMPEG.h:24:21: error: avcodec.h: No such file or directory In file included from pix_filmNEW.cpp:30: ../Pixes/filmMPEG3.h:22:22: error: libmpeg3.h: No such file or directory In file included from filmMPEG3.cpp:16: ../Pixes/filmMPEG3.h:22:22: error: libmpeg3.h: No such file or directory In file included from filmFFMPEG.cpp:17: ../Pixes/filmFFMPEG.h:23:22: error: avformat.h: No such file or directory ../Pixes/filmFFMPEG.h:24:21: error: avcodec.h: No such file or directory
so there seems to be problems both with mpeg3 and ffmpeg, is this what you mean by linking them?
for theffmpeg error see above. the mpeg3 error seems to be because fc8 stores the mpeg3-headers in /usr/include/mpeg3 rather than directly in /usr/include/ and does not provide a pkg-config option to detect this...
anyhow, just add another "--without-mpeg3" to the configure options.
fmgasdr IOhannes
Ok, so it works now:
wait.
which libraries is Gem linked with? try "ldd /path/to/Gem.pd_linux"
I pasted this at the end of this mail in case this is of interest for you...
...
and then something like % ./configure --without-ffmpeg
anyhow, just add another "--without-mpeg3" to the configure options.
Ok, I tried with both the above flags and it seems to be working ok again, at least it created a pix_film and copied several patches without troubles....
So thanks for the fast reply, I'll post some of my work to the list soon...
cheers,
J
Here is the
"ldd /path/to/Gem.pd_linux"
Before recompiling:
[joliverl@maquina ~]$ ldd /home/joliverl/Desktop/Gem/src/Gem.pd_linux
linux-vdso.so.1 => (0x00007fff9b1ff000) libavformat.so.52 => /usr/lib64/libavformat.so.52
(0x000000000066f000)
libmpeg3.so.1 => /usr/lib64/libmpeg3.so.1 (0x0000000000916000) libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x0000000000b5c000) libtiff.so.3 => /usr/lib64/libtiff.so.3 (0x0000000000d7d000) libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x0000000000fd6000) libGL.so.1 => /usr/lib64/libGL.so.1 (0x00000000ec265000) libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000000001244000) libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x0000000001455000) libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000000165a000) libdl.so.2 => /lib64/libdl.so.2 (0x000000000195e000) libz.so.1 => /lib64/libz.so.1 (0x0000000001b62000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000000001d76000) libquicktime.so.0 => /usr/lib64/libquicktime.so.0
(0x000000002e158000)
libm.so.6 => /lib64/libm.so.6 (0x0000000001f91000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000000002214000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000000002514000) libc.so.6 => /lib64/libc.so.6 (0x0000000002722000) libavcodec.so.51 => /usr/lib64/libavcodec.so.51
(0x0000000002a79000)
libavutil.so.49 => /usr/lib64/libavutil.so.49 (0x000000000329a000) liba52.so.0 => /usr/lib64/liba52.so.0 (0x00000000034a6000) libGLcore.so.1 => /usr/lib64/libGLcore.so.1 (0x00000000036b1000) libnvidia-tls.so.1 => /usr/lib64/tls/libnvidia-tls.so.1
(0x0000000004722000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000000004823000) libxcb-xlib.so.0 => /usr/lib64/libxcb-xlib.so.0
(0x0000000004a25000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000000004c26000) /lib64/ld-linux-x86-64.so.2 (0x000000346f000000) libfaac.so.0 => /usr/lib64/libfaac.so.0 (0x0000000004e41000) libfaad.so.0 => /usr/lib64/libfaad.so.0 (0x0000000005052000) libgsm.so.1 => /usr/lib64/libgsm.so.1 (0x0000000005293000) libmp3lame.so.0 => /usr/lib64/libmp3lame.so.0 (0x000000000549e000) libtheora.so.0 => /usr/lib64/libtheora.so.0 (0x0000000005714000) libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2
(0x0000000005956000)
libvorbis.so.0 => /usr/lib64/libvorbis.so.0 (0x0000000005d2e000) libx264.so.60 => /usr/lib64/libx264.so.60 (0x0000000005f5a000) libxvidcore.so.4 => /usr/lib64/libxvidcore.so.4
(0x00000000f830f000)
libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00000000061e0000) libmp4v2.so.0 => /usr/lib64/libmp4v2.so.0 (0x00000000063e5000) libogg.so.0 => /usr/lib64/libogg.so.0 (0x000000000668d000)
After recompiling:
[joliverl@maquina ~]$ ldd /home/joliverl/Desktop/Gem/src/Gem.pd_linux
linux-vdso.so.1 => (0x00007fff191ff000) libjpeg.so.62 => /usr/lib64/libjpeg.so.62 (0x000000000066f000) libtiff.so.3 => /usr/lib64/libtiff.so.3 (0x0000000000890000) libGLU.so.1 => /usr/lib64/libGLU.so.1 (0x0000000000ae9000) libGL.so.1 => /usr/lib64/libGL.so.1 (0x0000000000d57000) libXext.so.6 => /usr/lib64/libXext.so.6 (0x0000000000f27000) libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00000000e87ef000) libX11.so.6 => /usr/lib64/libX11.so.6 (0x0000000001138000) libdl.so.2 => /lib64/libdl.so.2 (0x000000000143c000) libz.so.1 => /lib64/libz.so.1 (0x0000000001640000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000000001854000) libquicktime.so.0 => /usr/lib64/libquicktime.so.0
(0x0000000001a6f000)
libm.so.6 => /lib64/libm.so.6 (0x0000000001cf8000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x0000000001f7b000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x000000000227b000) libc.so.6 => /lib64/libc.so.6 (0x0000000002489000) libGLcore.so.1 => /usr/lib64/libGLcore.so.1 (0x00000000027e0000) libnvidia-tls.so.1 => /usr/lib64/tls/libnvidia-tls.so.1
(0x0000000003851000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000000003952000) libxcb-xlib.so.0 => /usr/lib64/libxcb-xlib.so.0
(0x0000000003b54000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000000003d55000) /lib64/ld-linux-x86-64.so.2 (0x000000346f000000) libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000000003f70000)
Jaime Oliver wrote:
Ok, so it works now:
great.
Here is the
"ldd /path/to/Gem.pd_linux"
Before recompiling:
[joliverl@maquina ~]$ ldd /home/joliverl/Desktop/Gem/src/Gem.pd_linux
linux-vdso.so.1 => (0x00007fff9b1ff000) libavformat.so.52 => /usr/lib64/libavformat.so.52 libavcodec.so.51 => /usr/lib64/libavcodec.so.51 libavutil.so.49 => /usr/lib64/libavutil.so.49 (0x000000000329a000)
this means that your Gem was linked against ffmpeg. since ffmpeg changed considerably (in a way, that now Gem even refuses to compile with recent ffmpeg-headers), the new libraries most likely caused the crashes you were experincing.
mfgas IOhannes