[PD] resend: popen vs shell bug

Hans-Christoph Steiner hans at at.or.at
Mon Jun 28 19:53:38 CEST 2010


Yeah, those two are known to be crashy.  I haven't had a chance to  
look into it.  Anyone else?

.hc

On Jun 28, 2010, at 12:17 PM, Kim Cascone wrote:

> sorry for resending this but very curious if anyone was able to  
> recreate this bug on OS X, XP/W7 or other flavors of Linux or other  
> kernels?
> my config is at the very end of the error report
> patch attached
> ciao!
> KIM
>
> ======================================================
>
> I send the following message to both the [popen] and the [shell]  
> externals:
>
> [cd /usr/lib/pd/extra && ls -al > ~/Desktop/foobar.txt]
>
> when sent to [popen] it crashes Pd
> but sending it to [shell] worked fine
>
> below is the crash report (pd -stderr) after sending it to [popen]
>
> FYI: I got rid of the [moonlib] version of [popen] as well as its  
> help file
> as you can see the flatspace one is being loaded
>
> ===================================
>
> tried /usr/lib/pd/extra/flatspace/popen.pd_linux and succeeded
>
> *** buffer overflow detected ***: pd terminated
> ======= Backtrace: =========
> /lib/tls/i686/cmov/libc.so.6(__fortify_fail+0x48)[0xb76deef8]
> /lib/tls/i686/cmov/libc.so.6[0xb76dd000]
> /lib/tls/i686/cmov/libc.so.6[0xb76dc28d]
> /usr/lib/pd/extra/flatspace/popen.pd_linux[0xb70e2b9f]
> pd(pd_typedmess+0x2ab)[0x80b71db]
> ======= Memory map: ========
> 08048000-08111000 r-xp 00000000 08:03 35809      /usr/bin/pd
> 08111000-08112000 r--p 000c8000 08:03 35809      /usr/bin/pd
> 08112000-08113000 rw-p 000c9000 08:03 35809      /usr/bin/pd
> 08113000-08520000 rw-p 08113000 00:00 0
> 09f9f000-0a089000 rw-p 09f9f000 00:00 0          [heap]
> b42f3000-b4348000 r-xp 00000000 08:03 34905
> /usr/lib/liboil-0.3.so.0.3.0
> b4348000-b4349000 r--p 00055000 08:03 34905
> /usr/lib/liboil-0.3.so.0.3.0
> b4349000-b4360000 rw-p 00056000 08:03 34905
> /usr/lib/liboil-0.3.so.0.3.0
> b4360000-b4362000 rw-p b4360000 00:00 0
> b4362000-b4366000 r-xp 00000000 08:03 482419     /lib/libattr.so.1.1.0
> b4366000-b4367000 r--p 00003000 08:03 482419     /lib/libattr.so.1.1.0
> b4367000-b4368000 rw-p 00004000 08:03 482419     /lib/libattr.so.1.1.0
> b4368000-b436b000 r-xp 00000000 08:03 482538     /lib/libuuid.so.1.2
> b436b000-b436c000 r--p 00002000 08:03 482538     /lib/libuuid.so.1.2
> b436c000-b436d000 rw-p 00003000 08:03 482538     /lib/libuuid.so.1.2
> b436d000-b4405000 r-xp 00000000 08:03 34677      /usr/lib/ 
> libxvidcore.so.4.2
> b4405000-b440f000 rw-p 00098000 08:03 34677      /usr/lib/ 
> libxvidcore.so.4.2
> b440f000-b4479000 rw-p b440f000 00:00 0
> b4479000-b4502000 r-xp 00000000 08:03 33520      /usr/lib/libx264.so. 
> 68
> b4502000-b4504000 rw-p 00088000 08:03 33520      /usr/lib/libx264.so. 
> 68
> b4504000-b450b000 rw-p b4504000 00:00 0
> b450b000-b4526000 r-xp 00000000 08:03 1406274
> /usr/lib/sse2/libspeex.so.1.5.0
> b4526000-b4527000 r--p 0001a000 08:03 1406274
> /usr/lib/sse2/libspeex.so.1.5.0
> b4527000-b4528000 rw-p 0001b000 08:03 1406274
> /usr/lib/sse2/libspeex.so.1.5.0
> b4528000-b4598000 r-xp 00000000 08:03 33499
> /usr/lib/libschroedinger-1.0.so.0.2.0
> b4598000-b4599000 ---p 00070000 08:03 33499
> /usr/lib/libschroedinger-1.0.so.0.2.0
> b4599000-b459a000 r--p 00070000 08:03 33499
> /usr/lib/libschroedinger-1.0.so.0.2.0
> b459a000-b459b000 rw-p 00071000 08:03 33499
> /usr/lib/libschroedinger-1.0.so.0.2.0
> b459b000-b45b8000 r-xp 00000000 08:03 36726
> /usr/lib/libopenjpeg-2.1.3.0.so
> b45b8000-b45b9000 r--p 0001c000 08:03 36726
> /usr/lib/libopenjpeg-2.1.3.0.so
> b45b9000-b45ba000 rw-p 0001d000 08:03 36726
> /usr/lib/libopenjpeg-2.1.3.0.so
> b45ba000-b45ce000 r-xp 00000000 08:03 33583
> /usr/lib/libopencore-amrwb.so.0.1.1
> b45ce000-b45cf000 rw-p 00014000 08:03 33583
> /usr/lib/libopencore-amrwb.so.0.1.1
> b45cf000-b45fc000 r-xp 00000000 08:03 33581
> /usr/lib/libopencore-amrnb.so.0.1.1
> b45fc000-b45fd000 rw-p 0002c000 08:03 33581
> /usr/lib/libopencore-amrnb.so.0.1.1
> b45fd000-b4609000 r-xp 00000000 08:03 35799      /usr/lib/libgsm.so. 
> 1.0.12
> b4609000-b460a000 rw-p 0000b000 08:03 35799      /usr/lib/libgsm.so. 
> 1.0.12
> b460a000-b4645000 r-xp 00000000 08:03 36722      /usr/lib/libfaad.so. 
> 0.0.0
> b4645000-b4646000 ---p 0003b000 08:03 36722      /usr/lib/libfaad.so. 
> 0.0.0
> b4646000-b4647000 r--p 0003b000 08:03 36722      /usr/lib/libfaad.so. 
> 0.0.0
> b4647000-b464a000 rw-p 0003c000 08:03 36722      /usr/lib/libfaad.so. 
> 0.0.0
> b464a000-b4658000 r-xp 00000000 08:03 33922      /usr/lib/libfaac.so. 
> 0.0.0
> b4658000-b465b000 rw-p 0000d000 08:03 33922      /usr/lib/libfaac.so. 
> 0.0.0
> b465b000-b46eb000 r-xp 00000000 08:03 36716
> /usr/lib/libdirac_encoder.so.0.1.0
> b46eb000-b46ed000 rw-p 00090000 08:03 36716
> /usr/lib/libdirac_encoder.so.0.1.0
> b46ed000-b46ee000 rw-p b46ed000 00:00 0
> b46ee000-b46fd000 r-xp 00000000 08:03 409348
> /usr/lib/i686/cmov/libavutil.so.50.16.0
> b46fd000-b46fe000 rw-p 0000f000 08:03 409348
> /usr/lib/i686/cmov/libavutil.so.50.16.0
> b46fe000-b4701000 rw-p b46fe000 00:00 0
> b4701000-b473b000 r-xp 00000000 08:03 482466     /lib/libncursesw.so. 
> 5.7
> b473b000-b473c000 ---p 0003a000 08:03 482466     /lib/libncursesw.so. 
> 5.7
> b473c000-b473e000 r--p 0003a000 08:03 482466     /lib/libncursesw.so. 
> 5.7
> b473e000-b473f000 rw-p 0003c000 08:03 482466     /lib/libncursesw.so. 
> 5.7
> b473f000-b4744000 r-xp 00000000 08:03 35655      /usr/lib/libgdbm.so. 
> 3.0.0
> b4744000-b4745000 r--p 00004000 08:03 35655      /usr/lib/libgdbm.so. 
> 3.0.0
> b4745000-b4746000 rw-p 00005000 08:03 35655      /usr/lib/libgdbm.so. 
> 3.0.0
> b4746000-b4749000 r-xp 00000000 08:03 482430     /lib/libcap.so.2.11
> b4749000-b474a000 r--p 00002000 08:03 482430     /lib/libcap.so.2.11
> b474a000-b474b000 rw-p 00003000 08:03 482430     /lib/libcap.so.2.11
> b474b000-b4760000 r-xp 00000000 08:03 35314      /usr/lib/libICE.so. 
> 6.3.0
> b4760000-b4761000 rw-p 00014000 08:03 35314      /usr/lib/libICE.so. 
> 6.3.0
> b4761000-b4763000 rw-p b4761000 00:00 0
> b4763000-b476a000 r-xp 00000000 08:03 35345      /usr/lib/libSM.so. 
> 6.0.0
> b476a000-b476b000 r--p 00006000 08:03 35345      /usr/lib/libSM.so. 
> 6.0.0
> b476b000-b476c000 rw-p 00007000 08:03 35345      /usr/lib/libSM.so. 
> 6.0.0
> b476c000-b4773000 r-xp 00000000 08:03 35765      /usr/lib/libgomp.so. 
> 1.0.0
> b4773000-b4774000 r--p 00006000 08:03 35765      /usr/lib/libgomp.so. 
> 1.0.0
> b4774000-b4775000 rw-p 00007000 08:03 35765      /usr/lib/libgomp.so. 
> 1.0.0
> b4775000-b47aa000 r-xp 00000000 08:03 409468
> /usr/lib/i686/cmov/libswscale.so.0.11.0
> b47aa000-b47ab000 rw-p 00034000 08:03 409468
> /usr/lib/i686/cmov/libswscale.so.0.11.0
> b47ab000-b47b8000 r-xp 00000000 08:03 410417
> /usr/lib/i686/cmov/libavutil.so.49.15.0
> b47b8000-b47b9000 r--p 0000c000 08:03 410417
> /usr/lib/i686/cmov/libavutil.so.49.15.0
> b47b9000-b47ba000 rw-p 0000d000 08:03 410417
> /usr/lib/i686/cmov/libavutil.so.49.15.0
> b47ba000-b47bd000 rw-p b47ba000 00:00 0
> b47bd000-b4872000 r-xp 00000000 08:03 409849
> /usr/lib/i686/cmov/libavformat.so.52.37.0
> b4872000-b4879000 rw-p 000b5000 08:03 409849
> /usr/lib/i686/cmov/libavformat.so.52.37.0
> b4879000-b48c5000 rw-p b4879000 00:00 0
> b48c5000-b4da2000 r-xp 00000000 08:03 409836
> /usr/lib/i686/cmov/libavcodec.so.52.32.0
> b4da2000-b4dad000 rw-p 004dc000 08:03 409836
> /usr/lib/i686/cmov/libavcodec.so.52.32.0
> b4dad000-b51cf000 rw-p b4dad000 00:00 0
> b51cf000-b52da000 r-xp 00000000 08:03 36599      /usr/lib/ 
> libcxcore.so.1.0.0
> b52da000-b52db000 r--p 0010a000 08:03 36599      /usr/lib/ 
> libcxcore.so.1.0.0
> b52db000-b52e2000 rw-p 0010b000 08:03 36599      /usr/lib/ 
> libcxcore.so.1.0.0
> b52e2000-b52eb000 rw-p b52e2000 00:00 0
> b52eb000-b531b000 r-xp 00000000 08:03 482499     /lib/libpcre.so. 
> 3.12.1
> b531b000-b531c000 r--p 0002f000 08:03 482499     /lib/libpcre.so. 
> 3.12.1
> b531c000-b531d000 rw-p 00030000 08:03 482499     /lib/libpcre.so. 
> 3.12.1
> b531d000-b5326000 r-xp 00000000 08:03 36707      /usr/lib/ 
> liba52-0.7.4.so
> b5326000-b5327000 rw-p 00008000 08:03 36707      /usr/lib/ 
> liba52-0.7.4.so
> b5327000-b5328000 rw-p b5327000 00:00 0
> b5328000-b5339000 r-xp 00000000 08:03 36284      /usr/lib/ 
> libv4lconvert.so.0
> b5339000-b533a000 r--p 00010000 08:03 36284      /usr/lib/ 
> libv4lconvert.so.0
> b533a000-b533b000 rw-p 00011000 08:03 36284      /usr/lib/ 
> libv4lconvert.so.0
> b533b000-b538b000 rw-p b533b000 00:00 0
> b538b000-b5390000 r-xp 00000000 08:03 35785      /usr/lib/libgpm.so. 
> 2.0.0
> b5390000-b5391000 r--p 00004000 08:03 35785      /usr/lib/libgpm.so. 
> 2.0.0
> b5391000-b5392000 rw-p 00005000 08:03 35785      /usr/lib/libgpm.so. 
> 2.0.0
> b5392000-b542d000 r-xp 00000000 08:03 482516     /lib/libslang.so. 
> 2.1.3
> b542d000-b5430000 r--p 0009a000 08:03 482516     /lib/libslang.so. 
> 2.1.3
> b5430000-b543d000 rw-p 0009d000 08:03 482516     /lib/libslang.so. 
> 2.1.3
> b543d000-b5473000 rw-p b543d000 00:00 0
> b5473000-b54a2000 r-xp 00000000 08:03 482464     /lib/libncurses.so. 
> 5.7
> b54a2000-b54a4000 r--p 0002e000 08:03 482464     /lib/libncurses.so. 
> 5.7
> b54a4000-b54a5000 rw-p 00030000 08:03 482464     /lib/libncurses.so. 
> 5.7
> b54a5000-b54c1000 r-xp 00000000 08:03 35476      /usr/lib/libcaca.so. 
> 0.99.16
> b54c1000-b54c2000 r--p 0001b000 08:03 35476      /usr/lib/libcaca.so. 
> 0.99.16
> b54c2000-b5549000 rw-p 0001c000 08:03 35476      /usr/lib/libcaca.so. 
> 0.99.16
> b5549000-b554d000 rw-p b5549000 00:00 0
> b554d000-b5560000 r-xp 00000000 08:03 35550
> /usr/lib/libdirect-1.0.so.0.1.0
> b5560000-b5561000 r--p 00012000 08:03 35550
> /usr/lib/libdirect-1.0.so.0.1.0
> b5561000-b5562000 rw-p 00013000 08:03 35550
> /usr/lib/libdirect-1.0.so.0.1.0
> b5562000-b5569000 r-xp 00000000 08:03 35632
> /usr/lib/libfusion-1.0.so.0.1.0
> b5569000-b556a000 r--p 00006000 08:03 35632      /upd_gui: pd  
> process exited
> Aborted
>
>
>
> -- 
> <b>my Linux audio perf config:</b><br>
> Dell Studio 15 Core2 Duo 2.0GHz 3G-RAM<br>
> Ubuntu 9.04<br>
> kernel 2.6.28.19-generic<br>
> jackd version 0.116.1 tmpdir /dev/shm protocol 24<br>
> Ardour 2.8.2<br>
> Pd version 0.41-4extended<br>
> USB iMic audio interface<br>
> Korg nanoKontrol<br>
> cpufreq-set - both cpu's are set to 2.0GHz and userspace<br>
>
> #N canvas 370 140 665 462 10;
> #X obj 68 81 shell;
> #X obj 65 212 popen;
> #X obj 68 109 print shl;
> #X obj 65 250 print ppn;
> #X text 192 136 -versus-;
> #X msg 68 43 cd /usr/lib/pd/extra && ls -al > ~/Desktop/footoo.txt
> ;
> #X msg 65 179 cd /usr/lib/pd/extra && ls -al > ~/Desktop/footoo.txt
> ;
> #X text 174 220 [popen] crashes Pd when trying to write a text file
> to disk;
> #X text 163 78 [shell] seems to be able to write a text file to ~/ 
> Desktop
> ;
> #X connect 0 0 2 0;
> #X connect 1 0 3 0;
> #X connect 5 0 0 0;
> #X connect 6 0 1 0;
> _______________________________________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list



----------------------------------------------------------------------------

Terrorism is not an enemy.  It cannot be defeated.  It's a tactic.   
It's about as sensible to say we declare war on night attacks and  
expect we're going to win that war.  We're not going to win the war on  
terrorism.        - retired U.S. Army general, William Odom





More information about the Pd-list mailing list