Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash after initialization #1

Closed
count0-krsk opened this issue Sep 27, 2015 · 14 comments
Closed

Crash after initialization #1

count0-krsk opened this issue Sep 27, 2015 · 14 comments
Assignees
Labels

Comments

@count0-krsk
Copy link

Good morning!
I build your plugin in Lubuntu 14.04.2, kernel 3.19.0-28-lowlatency. When install and copied .so's into valid audacious directory (/usr/lib/i386-linux-gnu/audacious/Visualization), and after selecting plugin in Audacious options I have
audacious[28872]: segfault at c193876c ip b6e24508 sp 79272540 error 5 in libc-2.19.so[b6db1000+1a8000].
But I can see window of plugin and some animation for 1 second or less. So, I think this happens where second portion of data sent from Audacious to your plugin. Please build plugin for Ubuntu and check, where problem was.
G-Force for WinAmp was really amazing and many users want replacement for Linux.

@dprotti
Copy link
Owner

dprotti commented Sep 30, 2015

Thanks for your feedback.
I'm in travel now. I'll take care of this as soon as I get access to an Ubuntu box.

Regards.

@count0-krsk
Copy link
Author

Hello. How runs your journey? ;-)
I test fork of your plugin from Cbke. It starts fine, but show black window. In console I see:
** (audacious:10017): WARNING **: Could not be opened file for loading effects
I copy by hands file infinite_states in directory (not existed in my system, so I create it) /usr/local/share/audacious and all worked!
But number of effects are so small (( They changes fast and repeated. And plays even if song paused, so I think they not depended on song data (( This so sad... How can I add more effects?

@dprotti
Copy link
Owner

dprotti commented Feb 9, 2016

Hi, thanks for your interest!

In order to reproduce the issue, I tried installing Lubuntu 14.04.3 on a Virtual Box, with no success. Installation aborted at the same point in my two attempts (causes the VM to crash).

Looking at CBke@e81affc I guess the crash on my current master comes from the usage of a deprecated Audacious API (audacious_remote_*).
@CBke could you please submit a PR of your CBke@e81affc into my repo? I would appreciate to have your changes.

On another hand I'll try to remove the hard-coded path in effects.c so as to avoid the installation issue of infinite_states.

Number of effects do not depend on song data.
Displaying of current effect does. Song data feeds current effect and its sound spectrum gets intermixed with it.

For adding new effects:

  • Build with with --enable-debug and install
  • Run Audacious on console
  • Go to interactive mode (keys on Readme) and experiment
  • Use key 'm' for saving current effect into infinite_states file

This last key 'm' is missing on Readme. I'll take care of adding it.

Regards.

@dprotti
Copy link
Owner

dprotti commented Feb 12, 2016

Issue should be fixed after commit 530666d . I tested on Xubuntu 15.10 + Audacious 3.5. Can you please check if it works for you?

@dprotti dprotti added the bug label Feb 12, 2016
@dprotti
Copy link
Owner

dprotti commented Feb 13, 2016

@count0-krsk the time between effects was in the past configured through the Preferences dialog of the plugin. This dialog is currently not working (needs to be updated to new Audacious preferences API).

Meanwhile as a workaround you can manually edit ~/.audacious/infinity/infinity.ini ('teff' key).

@dprotti dprotti closed this as completed Feb 13, 2016
@count0-krsk
Copy link
Author

I will test it on the next week, if have enough time.

@dprotti
Copy link
Owner

dprotti commented Feb 13, 2016

Thanks!

@dprotti dprotti reopened this Feb 13, 2016
@count0-krsk
Copy link
Author

Hmm. For testing I need Audacious >= 3.5. I install 3.7, but when building plugin, it requires audclient library. I cannot find it in any repository, and read somewhere, what in new versions of audacious it is deprecated.
Where did you find it?

@dprotti
Copy link
Owner

dprotti commented Feb 25, 2016

Thanks for checking this!
In Xubuntu the packages are libaudclient2 and libaudclient-dev .
Sources: last tarball and current repo.

Audacious < 3.5 included audclient. Audacious >= 3.5 not anymore, was splitted as a separate package. Hence the plugins using audclient (as infinity does through <prefix>/audacious/audctrl.h ) must require it separately.

@count0-krsk
Copy link
Author

Ufff.... There was some difficulties.
Building libaudclient from source failed with:

Entering directory src.
Entering directory libaudclient.
Successfully generated dependencies.
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function `_dbus_platform_rmutex_new':
(.text+0x7c): undefined reference to `pthread_mutexattr_init'
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function `_dbus_platform_rmutex_new':
(.text+0x8c): undefined reference to `pthread_mutexattr_settype'
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function `_dbus_platform_rmutex_new':
(.text+0xa5): undefined reference to `pthread_mutexattr_destroy'
/usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): In function `_dbus_platform_condvar_new':
(.text+0x1dc): undefined reference to `pthread_condattr_setclock'
collect2: error: ld returned 1 exit status
Failed to link libaudclient.so!

So, I found libaudclient2_3.5~rc2-dmo2_i386.deb package, and it step-by-step require install these files as "tree" dependence:

libcgmanager0_0.36-2ubuntu5_i386.deb
dbus_1.9.20-1ubuntu1_i386.deb              
libdbus-1-3_1.9.20-1ubuntu1_i386.deb
libgcrypt20_1.6.3-2ubuntu1.1_i386.deb
initramfs-tools_0.103ubuntu8_all.deb       
libgpg-error0_1.19-2_i386.deb
initramfs-tools-bin_0.103ubuntu8_i386.deb  libsystemd0_225-1ubuntu9.1_i386.deb
init-system-helpers_1.22ubuntu6_all.deb    lsb-base_4.1+Debian11ubuntu8_all.deb
libanyevent-perl_7.070-2build1_i386.deb    
perl-base_5.20.1-3_i386.deb
libapparmor1_2.9.2-0ubuntu2_i386.deb       upstart_1.13.2-0ubuntu13_i386.deb

After it, libaudclient installs. Thank, God! ))
But... still not found by configure of infinity plugin. Because not have .pc file with him.
I create audclient.pc:

prefix=/usr/lib/i386-linux-gnu
exec_prefix=${prefix}
data_dir=/usr/share/doc/libaudclient2
version=3.5-rc2
audacious_include_dir=/usr/include/audacious
lib_dir=${exec_prefix}/lib
Name: Audacious Client Library
Description: Remote control library for Audacious
Version: 3.5-rc2
Libs: -L${lib_dir} -laudclient
Cflags: -I${audacious_include_dir}

And copy it

sudo cp audclient.pc /usr/lib/i386-linux-gnu/
export 'PKG_CONFIG_PATH'="/usr/lib/i386-linux-gnu/"
./configure

config was OK!
But... Make shows:

main.c:24:30: fatal error: audacious/plugin.h: No such file or directory
 #include <audacious/plugin.h>
                              ^
compilation terminated.

Ok, I install audacious-dev package. Restart make - same error.
Copy *.h of audacious from installed path to created directory audacious in plugin build directory.
Make restarted and....

In file included from ../audacious/plugin.h:24:0,
                 from main.c:24:
/usr/include/i386-linux-gnu/libaudcore/audio.h:129:61: error: unknown type name 'StereoVolume'
 void audio_amplify (float * data, int channels, int frames, StereoVolume volume);
                                                             ^
In file included from /usr/include/libaudcore/index.h:23:0,
                 from /usr/include/libaudcore/plugins.h:23,
                 from ../audacious/plugin.h:25,
                 from main.c:24:
/usr/include/libaudcore/templates.h:23:15: fatal error: new: No such file or directory
 #include <new>
               ^
compilation terminated.

Version of audacious-dev is 3.7.1-1webupd8trusty0_i386
Audacious has 3.7.1.
I think, for debugging I need Lubuntu/Ubuntu not least 15.10 (I download dependency packages from it), but make error don't like audacious-dev is 3.7.1-1. Can you try to compile plugin for this version?
If Lubuntu does not installs on VirtualBox, you can use LiveCD. And there is no difference between Lubuntu and Ubuntu, just in DE installed by default (LXDE vs Unity). Repositories and kernel are same.

@dprotti
Copy link
Owner

dprotti commented May 10, 2016

Thank a lot for your feedback. I'll work on this after May 20.

@dprotti
Copy link
Owner

dprotti commented May 21, 2016

@count0-krsk I read you installed deb package libaudclient2_3.5rc2 (production package).
Did you install also the development package libaudclient-dev_3.5
rc2 ?

@dprotti
Copy link
Owner

dprotti commented May 21, 2016

This thread talks about different issues. To summarize:

  • The crash reported at the beginning of the thread was fixed on commit e81affc
  • The issue with infinite_states file not being installed was fixed with commit 530666d
  • The issue compiling against Audacious 3.5 (due to splitted Audclient lib) is handled by commit 530666d

Then I'm closing this since the original reported issue was fixed. If you find any other issue please open a new issue report.

@dprotti dprotti closed this as completed May 21, 2016
@count0-krsk
Copy link
Author

I don't remember. Probably yes. 
Thanks for fixing bugs. 

"That's one small step for man, one giant leap for mankind." 


Best regards ;-)

Суббота, 21 мая 2016, 8:41 +07:00 от Duilio Protti notifications@github.com:

I read you installed deb package libaudclient2_3.5rc2 (production package).
Did you installed also the development package libaudclient-dev_3.5
rc2 ?

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants