kmatheussen / radium

A graphical music editor. A next generation tracker.
http://users.notam02.no/~kjetism/radium/
GNU General Public License v2.0
842 stars 36 forks source link

adding paths in ~/.pdextended crashes radium #11

Closed StudioDotfiles closed 10 years ago

StudioDotfiles commented 11 years ago

steps to reproduce: -ad a path in ~/.pdextended (either with another version of pd-extended or by hand, taking care not to forget to up the npath) -restart radium -open a file with pd in it or ad a pd object.

kmatheussen commented 11 years ago

I cannot reproduce this. Does it happen for you if you add a path to an empty directory? Maybe it's a pd object in the path you are adding that crashes. Maybe you can isolate which plugin that is.

StudioDotfiles commented 11 years ago

This happens with various widely used library's like zexy. I'll try out some more libs and report back.

kmatheussen commented 11 years ago

I also wonder what you mean by crashing? Does it really crash, or do you get a warning window saying that it couldn't link pd because of an unresolved symbol? In the latter, you only have to press "continue" and the program should work fine.

StudioDotfiles commented 11 years ago

OK, I did some more testing in this issue. tldr version of the story is: working: iemlibs, earplug~, plugin~ not working: zexy, ggee, cyclone, bsaylor

I somehow ended up with 2472 midiindevs. in my "~/.pdextended". At first I didn't look at how many of them there where, so I didn't really find it odd; I thought they where related to controllers in radium. Probably the only useful testing in the context of this bugreport starts when I did "mv .pdextended .pdextended.old", at the line of *s halfway this report. I'll give you a chronological account of what happened anyway, since I wrote it all before I found out, and it might help you trace the 2472 midiindev bug.

OK, here goes:

If I add "/usr/lib/pd-extended/extra/zexy" as a path in the UI, then my "~.pdextended" looks like this: http://pastebin.com/HCsgPE7G Notice the wrong "npath: 5"

I when I ad a pd object in radium, I get this warning: Execution of gcc failed. Couldn't link file "/tmp/libpd_1378562674_773386_1573374003_O924ag". See terminal output for more info about what went wrong.

When I click OK, radium crashes.

This is the terminal output: http://pastebin.com/E20qZ4e6 Notice the "Could not open dir -/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType-"

So I edit the "~.pdextended" manually to look like this: http://pastebin.com/ffWtX8PG Same thing happens: open pd, warning, click ok, crash. The terminal gives me this: http://pastebin.com/77QMcMDC I\ve also tried with "path2: /home/bart/.pd/completion" in there ,cause I wasn't sure if that was mine or yours. Both edits I make sure to get the right npath.


Then I "mv .pdextended .pdextended.old", and open and close radium. No new .pdextended is made until I go to the preferences menu in pd. When I do so, a new one is made that looks like this: http://pastebin.com/3cKbqHXA

Only now I discover that there shouldn't be any midiindev in there!

Even though radium again put the wrong "npath: 2" in .pdextended, I can load pd in radium without problems. So I change npath to 1, and try again. I seem to still have a working radium+pd.

When I then ad "/usr/lib/pd-extended/extra/zexy" by hand to .pdextended, change npath to 2, and ad a pd module in radium, I get this error: Execution of gcc failed. Couldn't link file "/tmp/libpd_1378566885_330281_1373968927_rQPJ6f". See terminal output for more info about what went wrong.

This is the terminal output: http://pastebin.com/EypD41iC Oddly, no crash this time.

Then I try with a iemlib instead of zexy, and all is fine again, including loading iemlib objects.... !?!?!?!

As a sanity check, I try with ggee instead of iemlib, because when I wrote the initial bugreport, I had only tested ggee and zexy, and both crashed Again I get a warning, no pd, but also no crash:

Unable to create libpds instance. Error message: "/tmp/libpd_1378568968_112611_301567840_hXhYX8.so: undefined symbol: sys_putmidimess" Filename: /tmp/libpd_1378568968_126352_1886168492_aFhQBy

Terminal output: http://pastebin.com/bWEXX5cY

Further libs I tried:

cyclone: warning, no crash, no pd: Unable to create libpds instance. Error message: "/tmp/libpd_1378570291_307227_989404889_KsHPT5: undefined symbol: table_setup" Filename: /tmp/libpd_1378570291_307227_989404889_KsHPT5

earplug~: works plugin~: works bsaylor: I can open pd, but as soon as I add an object of type "partconv~" in pd, I get a crash with no warning and no crashreporter, and this terminal output: http://pastebin.com/2W1UXMr0

At that point I got bored with filing bugreports, and went back to making music with your UNBELIEVABLY COOL SOFTWARE!!!! Thank you!!!!

Let me know what is and isn't useful to you, and if you need any other info. I'll test more libraries as I need them, and will keep you updated.

StudioDotfiles commented 11 years ago

I tried again with the latest version, but I'm still not able to load zexy It should actually be already included in pd-extended: http://puredata.info/docs/LibrariesInPdExtended/

Also the GUI still puts the wrong npath value in "~.pdextended".

kmatheussen commented 11 years ago

I haven't figured out how to load externals yet. It kind of works, but it seems like zexy, at least, might need to be compiled in a different way, so you can't just use the already existing externals in pd-extended.

On Thu, Sep 12, 2013 at 1:23 PM, StudioDotfiles notifications@github.comwrote:

I tried again with the latest version, but I'm still not able to load zexy It should actually be already included in pd-extended: http://puredata.info/docs/LibrariesInPdExtended/

Also the GUI still puts the wrong npath value in "~.pdextended".

— Reply to this email directly or view it on GitHubhttps://github.com/kmatheussen/radium/issues/11#issuecomment-24310997 .

kmatheussen commented 11 years ago

After thinking a while, I think the least painful solution for now is just to compile in all (or at least almost all) externals into radium (or more specifically, into libpd). Dynamicly linking pd externals only works by using a hacky solution anyway, and it doesn't even work all the time.

kmatheussen commented 11 years ago

I mean, all externals in pd extended. Hopefully, that will cover most people's needs.

StudioDotfiles commented 11 years ago

That would be an awesome first step. In an ideal world, any external should be accessible though. There's so many cool ones!

kmatheussen commented 10 years ago

Almost all externals are compiled into libpd now, and latest libpd is included in radium.

The ~/.pdextended issue has been fixed a long time ago.

Think this issue can be closed.

kmatheussen commented 10 years ago

I think all issues brought up here should be fixed, except that the miXed externals (including cyclone) are not included yet. But at least radium shouldn't crash if you try.

StudioDotfiles commented 10 years ago

Great work! Looking forward to try it out tomorrow.