jkramer / shell-fm Goto Github PK
View Code? Open in Web Editor NEWLightweight console-based radio player for Last.FM radio streams.
Lightweight console-based radio player for Last.FM radio streams.
shell-fm is inconsistent when parsing URLs from the command line vs remote connection. eg:
shell-fm lastfm://globaltags/alt+rock
will start it and say "Receiving alt rock Tag Radio"
Whereas this:
shell-fm -i 127.0.0.1 -d
echo "play lastfm://globaltags/alt+rock" | nc.openbsd -q 1 localhost 54311
will say "Receiving alt Tag Radio". It seems to drop everything past "+" on the remote connection.
Thanks - great program.
I get this error pretty much every time I use shell-fm
. Otherwise I love the program.
Non-ASCII characters do not work through the socket interface (both network and Unix).
I believe the sscanf format string for the "play" command needs to be made more lenient. How else will one be able to listen to bands with the metal umlaut? :-P
Hi Jonas,
I just built the api-v2 tree and noticed a minor issue: You cannot start a bookmarked station. Pressing the corresponding number key has no effect.
Thank you for your great work and dedication! I love shell-fm!
It would be good to have an NCURSES interface for shell-fm. It could communicate to the shell-fm daemon over the network.
In case there is no such interface (none shown in the wiki), I would be interested in developing this.
While I can turn discovery mode on and off, there's no assurance as to which just happened -- did I turn it on or off? It would be nice if sending the toggle command ('discovery') returned something like 'on' if it just got activated and 'off' otherwise.
I'm running v0.8 on OS X 10.7.2 Lion, installed from the latest git sources using Homebrew. Upon trying to set the 'bind' property in the config, or using the '-i' arg, I get the error specified in the title. I've tried to bind to localhost, 127.0.0.1, the local IP assigned by the router on the network; all give the same error.
I've tried setting an exception in the firewall, and turning it off altogether, neither helped. At a loss as to what might be causing this.
Hi,
There are a few tiny problems regarding running shell-fm on mac os x. Since I am not a c programmer i can not fix them myself, but i am willing to contribute in anyway possible.
I installed libao and libmad through macports, then i compiled shell-fm and it plays fine but it keeps spewing this error message on stderr:
The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().
Break on THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC() to debug.
The problem is with Mac OS X CoreFoundation and processes that uses fork, without exec*()-ing afterwards.
A bit more information can be found here: http://developer.apple.com/releasenotes/CoreFoundation/CoreFoundation.html
Search for: CoreFoundation and fork()
Best Regards
Olle
Self-explanatory:
$ shell-fm -i localhost -p 54311 -d
$ echo "info %v" | nc localhost 54311
prints "100%" then hangs, I tried a lot of commands and now they all sit in my ps
$ ps | grep nc
13214 root 0:00 nc localhost 54311
13393 root 0:00 nc localhost 54311
13588 root 0:00 nc localhost 54311
13982 root 0:00 nc localhost 54311
14205 root 0:00 nc localhost 54311
19176 root 0:00 nc localhost 54311
28882 root 0:00 grep nc
I compiled it in PuppyLinux.
Old version 0.7 never gave problems (except did not scrobbled and that's why I updated it)
Thanks for your support
i tested, if on home catalog shell-fm config then play only one song, if on home catalog not have shell-fm.rc play normal but every time enter username password etc.)
i don't understand how can fixed this
Right now when copying from the last.fm pages I need to manually convert http://www.last.fm/listen/artist/Edvin%2BMarton/similarartists to lastfm://artist/Edvin%2BMarton/similarartists which is of course not a biggie but it's annoying.
Just installed libmad
, libao
, and libtagc
from apt-get
in Ubuntu 12.04.
make -C source Package mad was not found in the pkg-config search path. Perhaps you should add the directory containing
mad.pc'
to the PKG_CONFIG_PATH environment variable
No package 'mad' found
Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing ao.pc' to the PKG_CONFIG_PATH environment variable No package 'ao' found make[1]: Entering directory
/home/mars/dev/shell-fm/source'
cc -Os -Wall -MD -W -I./include/ -DLIBAO -c -o play.o play.c
play.c:26:17: fatal error: mad.h: No such file or directory
compilation terminated.
make[1]: *** [play.o] Error 1
make[1]: Leaving directory /home/mars/dev/shell-fm/source' make: *** [shell-fm] Error 2
After compiling shell-fm on Mac OS X 10.4.11 / 10.5.8 on two different PowerPC machines I got static noise when trying to use shell-fm.
I found the problem in the source code (play.c):
WORDS_BIGENDIAN isn't recognized by Mac OS X, forcing to byteswap fixed the problem.
Question / feature request:
Is there a mechanism for running an arbitrary action on a song change event? I was thinking of calling osd_cat / aosd_cat or something with the name of the new song every time the song changes, so I could see what song was playing without switching to the shell-fm terminal.
could you make it so we can rebind the keys for each of the commands in shell-fm like you can in pianobar?
also, in the man page, there are a couple places where you did not finish you sentence:
np-file-format = format-string
This defines how the information written to your now-playing file will look like. There are several format flags available. Have a look at the
and
?-color = color
This allows you to color format elements. The ? may be the letter of any format flag (without percent). The color is just a normal shell color code match-
ing "[01];3[0-7]". Whenever the format element is printed to the console, it will have the given color. Have a look at the
I have been trying out the new version of shell-fm today and ran into some issues with scrobbling. At first it seemed to submit the same songs over and over, then I got this error:
Now playing "Un Jour Tu Verras" by Mouloudji.
Failed to scrobble track(s). Invalid Method - No method with that name in this package.
Now playing "Generator ^ First Floor" by Freelance Whales.
Invalid HTTP: HTTP/1.0 400 Bad Request
from: http://ws.audioscrobbler.com/2.0/
Now playing "Pelo Tempo Que Durar" by Marisa Monte.
Failed to scrobble track(s). Indexed scrobbles must be continuous, missing index 0..
Failed to scrobble track(s). Indexed scrobbles must be continuous, missing index 0..
Now playing "We Come Running" by Youngblood Hawke.
Do you think it might have something to do with the ^ symbol in the song title?
When I restarted shell-fm, I got:
Invalid authentication token supplied..
Failed to create session. Please refresh authorization.
Please open http://www.last.fm/api/auth/?token=f45da3513d2f9650633641ba44732358&api_key=cc299dde20a9ae5dbb63118c65cbcc85 in your browser to authorize shell-fm.
Are there any debug options I can run shell-fm or any information I can gather to help? Thanks.
I have no clue what this might be honestly. One of the users reported it. Original bug report here.
On case-insensitive systems like Mac OS X, "make install" fails with the message "make: `install' is up to date." because there is a file "INSTALL" and "install" is not listed as .PHONY.
I would love to have "Listening Now" feature in shell-fm.
I poll shell-fm from a script to display the currently playing song when it changes and for controlling it from a remote, this works fine for around 6 minutes, then shell-fm becomes unresponsive and unable to switch songs and starts to use a large amount of cpu time. This is a late-2007 iMac running Snow Leopard with the latest shell-fm git with the dependencies from coming from MacPorts.
Couldn't scrobble track(s).
Couldn't open scrobble cache. Too many open files.
Couldn't create file handle. Too many open files.
No tracks left.
Is then repeated many times.
jkramer-shell-fm-30999c7$ make
make -C source
Package ao was not found in the pkg-config search path.
Perhaps you should add the directory containing `ao.pc'
to the PKG_CONFIG_PATH environment variable
No package 'ao' found
cc -Os -Wall -MD -W -I./include/ -D__darwin__ -DLIBAO -I/opt/local/include -c -o play.o play.c
play.c:29:19: error: ao/ao.h: No such file or directory
play.c:61: error: expected specifier-qualifier-list before 'ao_device'
play.c: In function 'playback':
play.c:141: warning: implicit declaration of function 'ao_initialize'
play.c:155: error: 'struct stream' has no member named 'timeout'
play.c:158: error: 'struct stream' has no member named 'timeout'
play.c:160: error: 'struct stream' has no member named 'timeout'
play.c:161: error: 'struct stream' has no member named 'timeout'
play.c:164: error: 'struct stream' has no member named 'timeout'
play.c:170: error: 'struct stream' has no member named 'parent'
play.c:171: error: 'struct stream' has no member named 'pipefd'
play.c:175: warning: implicit declaration of function 'ao_default_driver_id'
play.c:182: error: 'struct stream' has no member named 'fmt'
play.c:183: error: 'struct stream' has no member named 'fmt'
play.c:184: error: 'struct stream' has no member named 'fmt'
play.c:185: error: 'struct stream' has no member named 'fmt'
play.c:185: error: 'AO_FMT_NATIVE' undeclared (first use in this function)
play.c:185: error: (Each undeclared identifier is reported only once
play.c:185: error: for each function it appears in.)
play.c:186: error: 'struct stream' has no member named 'device'
play.c:186: warning: implicit declaration of function 'ao_open_live'
play.c:186: error: 'struct stream' has no member named 'fmt'
play.c:188: error: 'struct stream' has no member named 'device'
play.c:213: error: 'struct stream' has no member named 'finpath'
play.c:214: error: 'struct stream' has no member named 'finpath'
play.c:216: error: 'struct stream' has no member named 'tmppath'
play.c:216: error: 'struct stream' has no member named 'finpath'
play.c:217: error: 'struct stream' has no member named 'tmppath'
play.c:219: error: 'struct stream' has no member named 'tmppath'
play.c:223: error: 'struct stream' has no member named 'tmppath'
play.c:224: error: 'struct stream' has no member named 'dump'
play.c:224: error: 'struct stream' has no member named 'tmppath'
play.c:226: error: 'struct stream' has no member named 'dump'
play.c:227: error: 'struct stream' has no member named 'tmppath'
play.c:230: error: 'struct stream' has no member named 'dump'
play.c:241: error: 'struct stream' has no member named 'dump'
play.c:242: error: 'struct stream' has no member named 'dump'
play.c:245: error: 'struct stream' has no member named 'tmppath'
play.c:262: error: 'struct stream' has no member named 'tmppath'
play.c:276: error: 'struct stream' has no member named 'tmppath'
play.c:276: error: 'struct stream' has no member named 'finpath'
play.c:279: error: 'struct stream' has no member named 'tmppath'
play.c:279: error: 'struct stream' has no member named 'finpath'
play.c:282: error: 'struct stream' has no member named 'tmppath'
play.c:283: error: 'struct stream' has no member named 'finpath'
play.c: In function 'input':
play.c:351: error: 'struct stream' has no member named 'preload'
play.c:352: error: 'struct stream' has no member named 'timeout'
play.c:358: error: 'struct stream' has no member named 'dump'
play.c:359: error: 'struct stream' has no member named 'dump'
play.c:363: error: 'struct stream' has no member named 'timeout'
play.c:368: error: 'struct stream' has no member named 'dump'
play.c:369: error: 'struct stream' has no member named 'dump'
play.c:378: error: 'struct stream' has no member named 'preload'
play.c:389: error: 'struct stream' has no member named 'parent'
play.c: In function 'output':
play.c:423: error: 'struct stream' has no member named 'fmt'
play.c:423: error: 'struct stream' has no member named 'fmt'
play.c:424: error: 'struct stream' has no member named 'fmt'
play.c:425: error: 'struct stream' has no member named 'fmt'
play.c:426: error: 'struct stream' has no member named 'device'
play.c:427: warning: implicit declaration of function 'ao_close'
play.c:427: error: 'struct stream' has no member named 'device'
play.c:428: error: 'struct stream' has no member named 'device'
play.c:428: error: 'struct stream' has no member named 'fmt'
play.c:430: error: 'struct stream' has no member named 'device'
play.c:439: error: 'struct stream' has no member named 'pipefd'
play.c:466: warning: implicit declaration of function 'ao_play'
play.c:466: error: 'struct stream' has no member named 'device'
make[1]: *** [play.o] Error 1
make: *** [shell-fm] Error 2
I request a new network command "upcoming" which returns upcoming tracks, formatted according to the existing "preview-format" setting, if present.
Hi All -
I have compiled sucessfully in Ubuntu, OS X, and even Voyage.
In all cases I am unable to login even after I have manually logged in to the web site 3+ times.
Below is an example of console output.
I have lurked at IRC #shell-fm and sent an email as described in the README.
Please help me resolve this.
Thanks, Brad
========== CONSOLE OUTPUT ==========
Shell.FM v0.8, (C) 2006-2010 by Jonas Kramer
Published under the terms of the GNU General Public License (GPL).
Press ? for help.
Login: ubuntuverohomie
verohomie
Password:
Authentication failed.
ubuntu@ubuntu:~/shell-fm$
======== RC FILE =========
ubuntu@ubuntu:/.shell-fm$ cat shell-fm.rc/.shell-fm$
username = verohomie
password = shell-fm
ubuntu@ubuntu:
Or add analogous parallel setting, such as 'delay-change-network'.
could you make it so that there could be more bookmarks, instead of just 10? More specifically, the "list bookmarks" button would go into a toggle mode where you could enter any number (and probably push enter) and select that specific bookmark.
thanks.
Examples:
echo "volume 50" | nc.openbsd 127.0.0.1 54311
echo "info %v" | nc.openbsd 127.0.0.1 54311
78%
Trying to set any value >= 64 results in a set volume of 100.
Results seem to be roughly 1.5 times the target value, capped at 100.
Last few lines of make:
libshellfm.a(play.o): In function playback': play.c:(.text+0x585): undefined reference to
ao_initialize'
play.c:(.text+0x635): undefined reference to ao_default_driver_id' play.c:(.text+0x694): undefined reference to
ao_open_live'
play.c:(.text+0x857): undefined reference to mad_decoder_init' play.c:(.text+0x861): undefined reference to
mad_decoder_run'
play.c:(.text+0x869): undefined reference to mad_decoder_finish' collect2: ld returned 1 exit status make[1]: *** [shell-fm] Error 1 make[1]: Leaving directory
/home/moritz/repos/shell-fm/source'
make: *** [shell-fm] Error 2
Same for master, v0.7 and v0.6. (haven't tried any other tags/branches)
libmad0-dev and libao-dev are installed.
How can I specify the username and password for the proxy?
There's probably not much demand for this feature, but it would help me. I'm writing a gui frontend to shell-fm, and I'd like to use a custom configuration file without affecting the original file.
I looked at the code and it seems that shell-fm only uses the md5 hash of the password, so I think that there should be the possibility to add the hashed password instead of the plain text password in the rc file. I think it would be more secure rather than storing the plain password.
It would be nice if there was an easily accessible documentation for the commands that can be sent over the network to interface with shell-fm. Something like a wiki page would be nice.
PS: Reading the source code doesn't count. :-P
I was following instructions posted on http://shell-fm.wikidot.com/hack:extern-tee-backup but when I press n (for next song) I get an error: audio: /dev/dsp: Device or resource busy.
I believe the problem is the new version of the play.c file, since the guide was written before version 0.7 was published.
Here is what I wrote in shell-fm.rc file:
download = /home/mgamrot/music/lastfm/%a;%t;%l;%d.mp3
extern = tee "/home/mgamrot/music/lastfm/%a - %l - %t.mp3" | madplay -Q -
I'm using Cranchbang Linux 9.04.
A multi-byte character is destroyed in the function "shellescape".
Therefore, the track data does not pass correctly to shell command.
I tried following change.
It works well.
--- interface.c
@@ -544,546 +544,546 @@
for(n = 0; n < strlen(string); ++n) {
- if(!isalnum(string[n]))
+ if(strchr("!\"$&'()*,:;<=>?[\\]^`{|} ", string[n]) != NULL)
escaped[length++] = '\\';
For the last few months, shell-fm hasn't been scrobbeling (everything else seems to work fine, though). Last time I was in IRC a few other people were having the same problem, figured I'd leave this here as a reminder.
I'm assuming I got this because of shell-fm:
We're writing you to let you know that there will soon be a change to Last.fm radio that may affect you. Our stats show that you've listened to radio through an application that uses our old streaming protocol. On 1 December we will deprecate this old protocol, so in some applications radio will no longer work.
If you would like to continue enjoying Last.fm Radio, consider upgrading to a new application or using http://www.last.fm/listen
Thanks,
The Last.fm Team
When the first song is played, shell-fm stops playing and reports a negative time. Also pressing skip or sending "skip" does not result in playing a new song. I compiled shell-fm using the EXTERN_ONLY option on a MIPSel embedded linux. Are there any dependencies besides libmad and libao?
Is this possible? To have playing with shell-fm other mp3/ogg streams?
I think this should not be so complicated.
Thanks!
Pressing - and + don't change the volume for me.
I'm running Mac OS X (10.7.3) & shell-fm v0.8 (commit 3ab4e23, Tue Apr 17 22:13:02 2012 -0400).
shell-fm starts with RTP disabled despite I do not have that in ~/.shell-fm/shell-fm.rc and I can't figure it out how to make shell-fm start with RTP enabled. I got so desperate that I tried patching:
+ enable(RTP);
/* Disable RTP if option "no-rtp" is set to something. */
but it still didn't enable by default.
using 0.8 (installed on Snow Leopard via homebrew), pressing P silences all audio.
To repro, start playing something in iTunes or youtube, while listening to shell-fm. Press P. Note you can't hear anything from any source.
I'd like to be able to toggle scrobbling through the network interface. Preferably sending the command would return an indicator as to whether or not shell-fm is currently scrobbling.
Hello.
I have some problems when running shell-fm and another application using Alsa. Scenarios tried:
1.) Start shell-fm and play a song. Start VLC. A message appears:
Audio output failed:
The audio device "default" could not be used:
Device or resource busy.
2.) Start shell-fm and play a song. Run aplay and similar message appears:
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
aplay: main:682: audio open error: Device or resource busy
3.) Start VLC and play a movie. Start shell-fm. A different message appears:
ao_alsa WARNING: Unable to open surround playback. Trying default device...
This does seem like Alsa problem, however the issue only occurs when shell-fm is running. I can play aplay, youtube and vlc altogether without any problems.
Attempt to input non-ASCII symbols (Cyrillic letters) results with something like this:
radio url> artist/<208><167><208><184><208><182>/similarartists
terminal encoding: UTF-8
program interprets those symbols like an empty string.
Jonas & team -
Thanks for the user prompt fix and plain text password BUT md5 passwords are now bombing.
The browser output is from the URL entered into chrome.
See output below - Brad )at( verohomies dotcom
======== OUTPUT =========
root@voyage:~/.shell-fm# shell-fm
Shell.FM v0.8, (C) 2006-2010 by Jonas Kramer
Published under the terms of the GNU General Public License (GPL).
Press ? for help.
Invalid HTTP: from: http://ws.audioscrobbler.com/radio/handshake.php?version=0.1&platform=linux&username=xxxx&passwordmd5=xxx357c30cf80c2775a3efbb109a4830 &debug=0&language=en
No response.
======== BROWSER ========
session=FAILED
msg=padd md5 not 32 len
======== .RC File =========
root@voyage:~/.shell-fm# more shell-fm.rc
username = xxxxxxx
password-md5 = xxx357c30cf80c2775a3efbb109a4830
title-format = Now playing %t by %a from %l
screen-format = Now playing %t by %a from %l
term-format = Now playing %t by %a from %l
default-radio = lastfm://user/xxxxxxxx/recommended
I've also tried setting TERM to rxvt, that didn't work either. I'm on Arch Linux i686. It works outside of screen. Hitting enter gives the "Sorry, couldn't set station to..." message with the junk after it. Hitting the "r" bind spits out the junk again.
daenyth@Muspelheimr ~ $ shell-fm
Shell.FM v0.7, (C) 2006-2009 by Jonas Kramer
Published under the terms of the GNU General Public License (GPL).
Press ? for help.
Password:
radio url> ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ๏ฟฝ
As of September 3rd, each time a new song begins, shell-fm prints "Handshake failed." and no tracks are scrobbled to the user's profile. I believe shell-fm is using an outdated Last.fm API protocol.
Requests should be made to http://ws.audioscrobbler.com/2.0/ and provide the required parameters listed at http://www.last.fm/api/show/track.scrobble, but shell-fm appears to converse with http://post.audioscrobbler.com/ instead -- at least in submit.c and service.c.
after using shell-fm for a while, half-an-hour to a couple of hours, the audio for other programs do not work if i was to pause shell-fm. Meaning, if i pause shell-fm, there is no sound that comes from any other program. In order to hear sounds from other programs with shell-fm still running, i need to mute the song currently playing or quit shell-fm.
Not sure if this is just an issue with MacOS snow leopard. or has anyone else experienced this also?
It looks like the fields should be swapped, because right now my message goes to a user with the name I specified in "comment" field
*** glibc detected *** shell-fm: free(): invalid pointer: 0x0000000000843677 ***
======= Backtrace: =========
/lib/libc.so.6(+0x784b6)[0x7fd5b86274b6]
shell-fm[0x40a2cf]
shell-fm[0x409f8d]
shell-fm[0x40750e]
shell-fm[0x404843]
shell-fm[0x4037e6]
/lib/libc.so.6(__libc_start_main+0xf5)[0x7fd5b85d0725]
shell-fm[0x403825]
======= Memory map: ========
00400000-00412000 r-xp 00000000 08:01 132034 /usr/bin/shell-fm
00611000-00612000 r--p 00011000 08:01 132034 /usr/bin/shell-fm
00612000-00613000 rw-p 00012000 08:01 132034 /usr/bin/shell-fm
00613000-0061d000 rw-p 00000000 00:00 0
00838000-00859000 rw-p 00000000 00:00 0 [heap]
7fd5b6e8f000-7fd5b6ea2000 r-xp 00000000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b6ea2000-7fd5b70a2000 ---p 00013000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b70a2000-7fd5b70a3000 r--p 00013000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b70a3000-7fd5b70a4000 rw-p 00014000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b70a4000-7fd5b70a6000 rw-p 00000000 00:00 0
7fd5b70a6000-7fd5b70ab000 r-xp 00000000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b70ab000-7fd5b72aa000 ---p 00005000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b72aa000-7fd5b72ab000 r--p 00004000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b72ab000-7fd5b72ac000 rw-p 00005000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b72ac000-7fd5b72b8000 r-xp 00000000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b72b8000-7fd5b74b7000 ---p 0000c000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b74b7000-7fd5b74b8000 r--p 0000b000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b74b8000-7fd5b74b9000 rw-p 0000c000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b74b9000-7fd5b75b2000 r-xp 00000000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b75b2000-7fd5b77b1000 ---p 000f9000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b77b1000-7fd5b77b2000 r--p 000f8000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b77b2000-7fd5b77b3000 rw-p 000f9000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b77b3000-7fd5b77c8000 r-xp 00000000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b77c8000-7fd5b79c7000 ---p 00015000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b79c7000-7fd5b79c8000 r--p 00014000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b79c8000-7fd5b79c9000 rw-p 00015000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b79c9000-7fd5b79de000 r-xp 00000000 08:01 178236 /usr/lib/libgcc_s.so.1
7fd5b79de000-7fd5b7bdd000 ---p 00015000 08:01 178236 /usr/lib/libgcc_s.so.1
7fd5b7bdd000-7fd5b7bde000 rw-p 00014000 08:01 178236 /usr/lib/libgcc_s.so.1
7fd5b7bde000-7fd5b7cc3000 r-xp 00000000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7cc3000-7fd5b7ec2000 ---p 000e5000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7ec2000-7fd5b7eca000 r--p 000e4000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7eca000-7fd5b7ecc000 rw-p 000ec000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7ecc000-7fd5b7ee1000 rw-p 00000000 00:00 0
7fd5b7ee1000-7fd5b7f89000 r-xp 00000000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b7f89000-7fd5b8189000 ---p 000a8000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b8189000-7fd5b818c000 r--p 000a8000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b818c000-7fd5b818e000 rw-p 000ab000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b818e000-7fd5b818f000 rw-p 00000000 00:00 0
7fd5b818f000-7fd5b8192000 r-xp 00000000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8192000-7fd5b8391000 ---p 00003000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8391000-7fd5b8392000 r--p 00002000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8392000-7fd5b8393000 rw-p 00003000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8393000-7fd5b83aa000 r-xp 00000000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b83aa000-7fd5b85a9000 ---p 00017000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b85a9000-7fd5b85aa000 r--p 00016000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b85aa000-7fd5b85ab000 rw-p 00017000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b85ab000-7fd5b85af000 rw-p 00000000 00:00 0
7fd5b85af000-7fd5b874a000 r-xp 00000000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b874a000-7fd5b8949000 ---p 0019b000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b8949000-7fd5b894d000 r--p 0019a000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b894d000-7fd5b894f000 rw-p 0019e000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b894f000-7fd5b8953000 rw-p 00000000 00:00 0
7fd5b8953000-7fd5b8957000 r-xp 00000000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8957000-7fd5b8b56000 ---p 00004000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8b56000-7fd5b8b57000 r--p 00003000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8b57000-7fd5b8b58000 rw-p 00004000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8b58000-7fd5b8b60000 r-xp 00000000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8b60000-7fd5b8d5f000 ---p 00008000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8d5f000-7fd5b8d60000 r--p 00007000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8d60000-7fd5b8d61000 rw-p 00008000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8d61000-7fd5b8d80000 r-xp 00000000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8d80000-7fd5b8f7f000 ---p 0001f000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8f7f000-7fd5b8f80000 r--p 0001e000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8f80000-7fd5b8f81000 rw-p 0001f000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8f81000-7fd5b8fa2000 r-xp 00000000 08:01 207136 /usr/lib/ld-2.16.so
7fd5b916b000-7fd5b9173000 rw-p 00000000 00:00 0
7fd5b919e000-7fd5b91a2000 rw-p 00000000 00:00 0
7fd5b91a2000-7fd5b91a3000 r--p 00021000 08:01 207136 /usr/lib/ld-2.16.so
7fd5b91a3000-7fd5b91a4000 rw-p 00022000 08:01 207136 /usr/lib/ld-2.16.so
7fd5b91a4000-7fd5b91a5000 rw-p 00000000 00:00 0
7fff81eb6000-7fff81ed7000 rw-p 00000000 00:00 0 [stack]
7fff81fff000-7fff82000000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
zsh: abort shell-fm
*** glibc detected *** shell-fm: double free or corruption (!prev): 0x00000000008402d0 *** ======= Backtrace: =========
/lib/libc.so.6(+0x784b6)[0x7fd5b86274b6]
/lib/libc.so.6(fclose+0x14d)[0x7fd5b8617ddd]
shell-fm[0x4082d0]
shell-fm[0x406336]
shell-fm[0x4033cf]
/lib/libc.so.6(__libc_start_main+0xf5)[0x7fd5b85d0725]
shell-fm[0x403825]
======= Memory map: ========
00400000-00412000 r-xp 00000000 08:01 132034 /usr/bin/shell-fm
00611000-00612000 r--p 00011000 08:01 132034 /usr/bin/shell-fm
00612000-00613000 rw-p 00012000 08:01 132034 /usr/bin/shell-fm
00613000-0061d000 rw-p 00000000 00:00 0
00838000-00859000 rw-p 00000000 00:00 0 [heap]
00859000-008b5000 rw-p 00000000 00:00 0 [heap]
7fd5b4063000-7fd5b4065000 r-xp 00000000 08:01 333351 /usr/lib/ao/plugins-4/liboss.so
7fd5b4065000-7fd5b4264000 ---p 00002000 08:01 333351 /usr/lib/ao/plugins-4/liboss.so
7fd5b4264000-7fd5b4265000 r--p 00001000 08:01 333351 /usr/lib/ao/plugins-4/liboss.so
7fd5b4265000-7fd5b4266000 rw-p 00002000 08:01 333351 /usr/lib/ao/plugins-4/liboss.so
7fd5b4266000-7fd5b4351000 r-xp 00000000 08:01 155288 /usr/lib/libasound.so.2.0.0
7fd5b4351000-7fd5b4551000 ---p 000eb000 08:01 155288 /usr/lib/libasound.so.2.0.0
7fd5b4551000-7fd5b4557000 r--p 000eb000 08:01 155288 /usr/lib/libasound.so.2.0.0
7fd5b4557000-7fd5b4559000 rw-p 000f1000 08:01 155288 /usr/lib/libasound.so.2.0.0
7fd5b4587000-7fd5b458d000 r-xp 00000000 08:01 333350 /usr/lib/ao/plugins-4/libalsa.so
7fd5b458d000-7fd5b478c000 ---p 00006000 08:01 333350 /usr/lib/ao/plugins-4/libalsa.so
7fd5b478c000-7fd5b478d000 r--p 00005000 08:01 333350 /usr/lib/ao/plugins-4/libalsa.so
7fd5b478d000-7fd5b478e000 rw-p 00006000 08:01 333350 /usr/lib/ao/plugins-4/libalsa.so
7fd5b478e000-7fd5b47a3000 r-xp 00000000 08:01 207135 /usr/lib/libnsl-2.16.so
7fd5b47a3000-7fd5b49a2000 ---p 00015000 08:01 207135 /usr/lib/libnsl-2.16.so
7fd5b49a2000-7fd5b49a3000 r--p 00014000 08:01 207135 /usr/lib/libnsl-2.16.so
7fd5b49a3000-7fd5b49a4000 rw-p 00015000 08:01 207135 /usr/lib/libnsl-2.16.so
7fd5b49a4000-7fd5b49a6000 rw-p 00000000 00:00 0
7fd5b49a6000-7fd5b49ac000 r-xp 00000000 08:01 160161 /usr/lib/libogg.so.0.8.0
7fd5b49ac000-7fd5b4bab000 ---p 00006000 08:01 160161 /usr/lib/libogg.so.0.8.0
7fd5b4bab000-7fd5b4bac000 rw-p 00005000 08:01 160161 /usr/lib/libogg.so.0.8.0
7fd5b4bac000-7fd5b4bd8000 r-xp 00000000 08:01 160180 /usr/lib/libvorbis.so.0.4.6
7fd5b4bd8000-7fd5b4dd7000 ---p 0002c000 08:01 160180 /usr/lib/libvorbis.so.0.4.6
7fd5b4dd7000-7fd5b4dd8000 r--p 0002b000 08:01 160180 /usr/lib/libvorbis.so.0.4.6
7fd5b4dd8000-7fd5b4dd9000 rw-p 0002c000 08:01 160180 /usr/lib/libvorbis.so.0.4.6
7fd5b4dd9000-7fd5b508c000 r-xp 00000000 08:01 160183 /usr/lib/libvorbisenc.so.2.0.9
7fd5b508c000-7fd5b528b000 ---p 002b3000 08:01 160183 /usr/lib/libvorbisenc.so.2.0.9
7fd5b528b000-7fd5b52a7000 r--p 002b2000 08:01 160183 /usr/lib/libvorbisenc.so.2.0.9
7fd5b52a7000-7fd5b52a8000 rw-p 002ce000 08:01 160183 /usr/lib/libvorbisenc.so.2.0.9
7fd5b52a8000-7fd5b52f2000 r-xp 00000000 08:01 160194 /usr/lib/libFLAC.so.8.2.0
7fd5b52f2000-7fd5b54f1000 ---p 0004a000 08:01 160194 /usr/lib/libFLAC.so.8.2.0
7fd5b54f1000-7fd5b54f3000 rw-p 00049000 08:01 160194 /usr/lib/libFLAC.so.8.2.0
7fd5b54f3000-7fd5b54f8000 r-xp 00000000 08:01 149672 /usr/lib/libXdmcp.so.6.0.0
7fd5b54f8000-7fd5b56f7000 ---p 00005000 08:01 149672 /usr/lib/libXdmcp.so.6.0.0
7fd5b56f7000-7fd5b56f8000 r--p 00004000 08:01 149672 /usr/lib/libXdmcp.so.6.0.0
7fd5b56f8000-7fd5b56f9000 rw-p 00005000 08:01 149672 /usr/lib/libXdmcp.so.6.0.0
7fd5b56f9000-7fd5b56fb000 r-xp 00000000 08:01 149862 /usr/lib/libXau.so.6.0.0
7fd5b56fb000-7fd5b58fb000 ---p 00002000 08:01 149862 /usr/lib/libXau.so.6.0.0
7fd5b58fb000-7fd5b58fc000 r--p 00002000 08:01 149862 /usr/lib/libXau.so.6.0.0
7fd5b58fc000-7fd5b58fd000 rw-p 00003000 08:01 149862 /usr/lib/libXau.so.6.0.0
7fd5b58fd000-7fd5b5904000 r-xp 00000000 08:01 207098 /usr/lib/librt-2.16.so
7fd5b5904000-7fd5b5b03000 ---p 00007000 08:01 207098 /usr/lib/librt-2.16.so
7fd5b5b03000-7fd5b5b04000 r--p 00006000 08:01 207098 /usr/lib/librt-2.16.so
7fd5b5b04000-7fd5b5b05000 rw-p 00007000 08:01 207098 /usr/lib/librt-2.16.so
7fd5b5b05000-7fd5b5b0a000 r-xp 00000000 08:01 160159 /usr/lib/libasyncns.so.0.3.1
7fd5b5b0a000-7fd5b5d09000 ---p 00005000 08:01 160159 /usr/lib/libasyncns.so.0.3.1
7fd5b5d09000-7fd5b5d0a000 r--p 00004000 08:01 160159 /usr/lib/libasyncns.so.0.3.1
7fd5b5d0a000-7fd5b5d0b000 rw-p 00005000 08:01 160159 /usr/lib/libasyncns.so.0.3.1
7fd5b5d0b000-7fd5b5d6a000 r-xp 00000000 08:01 160222 /usr/lib/libsndfile.so.1.0.25
7fd5b5d6a000-7fd5b5f6a000 ---p 0005f000 08:01 160222 /usr/lib/libsndfile.so.1.0.25
7fd5b5f6a000-7fd5b5f6c000 r--p 0005f000 08:01 160222 /usr/lib/libsndfile.so.1.0.25
7fd5b5f6c000-7fd5b5f6d000 rw-p 00061000 08:01 160222 /usr/lib/libsndfile.so.1.0.25
7fd5b5f6d000-7fd5b5f71000 rw-p 00000000 00:00 0
7fd5b5f71000-7fd5b5f8e000 r-xp 00000000 08:01 150000 /usr/lib/libxcb.so.1.1.0
7fd5b5f8e000-7fd5b618e000 ---p 0001d000 08:01 150000 /usr/lib/libxcb.so.1.1.0
7fd5b618e000-7fd5b618f000 rw-p 0001d000 08:01 150000 /usr/lib/libxcb.so.1.1.0
7fd5b618f000-7fd5b61d3000 r-xp 00000000 08:01 219085 /usr/lib/libdbus-1.so.3.7.2
7fd5b61d3000-7fd5b63d2000 ---p 00044000 08:01 219085 /usr/lib/libdbus-1.so.3.7.2
7fd5b63d2000-7fd5b63d3000 r--p 00043000 08:01 219085 /usr/lib/libdbus-1.so.3.7.2
7fd5b63d3000-7fd5b63d4000 rw-p 00044000 08:01 219085 /usr/lib/libdbus-1.so.3.7.2
7fd5b63d4000-7fd5b63db000 r-xp 00000000 08:01 132152 /usr/lib/libjson.so.0.0.1
7fd5b63db000-7fd5b65da000 ---p 00007000 08:01 132152 /usr/lib/libjson.so.0.0.1
7fd5b65da000-7fd5b65db000 r--p 00006000 08:01 132152 /usr/lib/libjson.so.0.0.1
7fd5b65db000-7fd5b65dc000 rw-p 00007000 08:01 132152 /usr/lib/libjson.so.0.0.1
7fd5b65dc000-7fd5b663b000 r-xp 00000000 08:01 220447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fd5b663b000-7fd5b683b000 ---p 0005f000 08:01 220447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fd5b683b000-7fd5b683c000 r--p 0005f000 08:01 220447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fd5b683c000-7fd5b683e000 rw-p 00060000 08:01 220447 /usr/lib/pulseaudio/libpulsecommon-2.1.so
7fd5b683e000-7fd5b6886000 r-xp 00000000 08:01 220266 /usr/lib/libpulse.so.0.14.3
7fd5b6886000-7fd5b6a86000 ---p 00048000 08:01 220266 /usr/lib/libpulse.so.0.14.3
7fd5b6a86000-7fd5b6a87000 r--p 00048000 08:01 220266 /usr/lib/libpulse.so.0.14.3
7fd5b6a87000-7fd5b6a88000 rw-p 00049000 08:01 220266 /usr/lib/libpulse.so.0.14.3
7fd5b6a88000-7fd5b6a8b000 r-xp 00000000 08:01 220267 /usr/lib/libpulse-simple.so.0.0.3
7fd5b6a8b000-7fd5b6c8a000 ---p 00003000 08:01 220267 /usr/lib/libpulse-simple.so.0.0.3
7fd5b6c8a000-7fd5b6c8b000 r--p 00002000 08:01 220267 /usr/lib/libpulse-simple.so.0.0.3
7fd5b6c8b000-7fd5b6c8c000 rw-p 00003000 08:01 220267 /usr/lib/libpulse-simple.so.0.0.3
7fd5b6c8c000-7fd5b6c8e000 r-xp 00000000 08:01 333352 /usr/lib/ao/plugins-4/libpulse.so
7fd5b6c8e000-7fd5b6e8d000 ---p 00002000 08:01 333352 /usr/lib/ao/plugins-4/libpulse.so
7fd5b6e8d000-7fd5b6e8e000 r--p 00001000 08:01 333352 /usr/lib/ao/plugins-4/libpulse.so
7fd5b6e8e000-7fd5b6e8f000 rw-p 00002000 08:01 333352 /usr/lib/ao/plugins-4/libpulse.so
7fd5b6e8f000-7fd5b6ea2000 r-xp 00000000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b6ea2000-7fd5b70a2000 ---p 00013000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b70a2000-7fd5b70a3000 r--p 00013000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b70a3000-7fd5b70a4000 rw-p 00014000 08:01 207125 /usr/lib/libresolv-2.16.so
7fd5b70a4000-7fd5b70a6000 rw-p 00000000 00:00 0
7fd5b70a6000-7fd5b70ab000 r-xp 00000000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b70ab000-7fd5b72aa000 ---p 00005000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b72aa000-7fd5b72ab000 r--p 00004000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b72ab000-7fd5b72ac000 rw-p 00005000 08:01 207075 /usr/lib/libnss_dns-2.16.so
7fd5b72ac000-7fd5b72b8000 r-xp 00000000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b72b8000-7fd5b74b7000 ---p 0000c000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b74b7000-7fd5b74b8000 r--p 0000b000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b74b8000-7fd5b74b9000 rw-p 0000c000 08:01 207099 /usr/lib/libnss_files-2.16.so
7fd5b74b9000-7fd5b75b2000 r-xp 00000000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b75b2000-7fd5b77b1000 ---p 000f9000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b77b1000-7fd5b77b2000 r--p 000f8000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b77b2000-7fd5b77b3000 rw-p 000f9000 08:01 207088 /usr/lib/libm-2.16.so
7fd5b77b3000-7fd5b77c8000 r-xp 00000000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b77c8000-7fd5b79c7000 ---p 00015000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b79c7000-7fd5b79c8000 r--p 00014000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b79c8000-7fd5b79c9000 rw-p 00015000 08:01 136380 /usr/lib/libz.so.1.2.7
7fd5b79c9000-7fd5b79de000 r-xp 00000000 08:01 178236 /usr/lib/libgcc_s.so.1
7fd5b79de000-7fd5b7bdd000 ---p 00015000 08:01 178236 /usr/lib/libgcc_s.so.1
7fd5b7bdd000-7fd5b7bde000 rw-p 00014000 08:01 178236 /usr/lib/libgcc_s.so.1
7fd5b7bde000-7fd5b7cc3000 r-xp 00000000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7cc3000-7fd5b7ec2000 ---p 000e5000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7ec2000-7fd5b7eca000 r--p 000e4000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7eca000-7fd5b7ecc000 rw-p 000ec000 08:01 130616 /usr/lib/libstdc++.so.6.0.17
7fd5b7ecc000-7fd5b7ee1000 rw-p 00000000 00:00 0
7fd5b7ee1000-7fd5b7f89000 r-xp 00000000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b7f89000-7fd5b8189000 ---p 000a8000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b8189000-7fd5b818c000 r--p 000a8000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b818c000-7fd5b818e000 rw-p 000ab000 08:01 176558 /usr/lib/libtag.so.1.7.2
7fd5b818e000-7fd5b818f000 rw-p 00000000 00:00 0
7fd5b818f000-7fd5b8192000 r-xp 00000000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8192000-7fd5b8391000 ---p 00003000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8391000-7fd5b8392000 r--p 00002000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8392000-7fd5b8393000 rw-p 00003000 08:01 207114 /usr/lib/libdl-2.16.so
7fd5b8393000-7fd5b83aa000 r-xp 00000000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b83aa000-7fd5b85a9000 ---p 00017000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b85a9000-7fd5b85aa000 r--p 00016000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b85aa000-7fd5b85ab000 rw-p 00017000 08:01 207108 /usr/lib/libpthread-2.16.so
7fd5b85ab000-7fd5b85af000 rw-p 00000000 00:00 0
7fd5b85af000-7fd5b874a000 r-xp 00000000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b874a000-7fd5b8949000 ---p 0019b000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b8949000-7fd5b894d000 r--p 0019a000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b894d000-7fd5b894f000 rw-p 0019e000 08:01 207102 /usr/lib/libc-2.16.so
7fd5b894f000-7fd5b8953000 rw-p 00000000 00:00 0
7fd5b8953000-7fd5b8957000 r-xp 00000000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8957000-7fd5b8b56000 ---p 00004000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8b56000-7fd5b8b57000 r--p 00003000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8b57000-7fd5b8b58000 rw-p 00004000 08:01 176559 /usr/lib/libtag_c.so.0.0.0
7fd5b8b58000-7fd5b8b60000 r-xp 00000000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8b60000-7fd5b8d5f000 ---p 00008000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8d5f000-7fd5b8d60000 r--p 00007000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8d60000-7fd5b8d61000 rw-p 00008000 08:01 172618 /usr/lib/libao.so.4.0.0
7fd5b8d61000-7fd5b8d80000 r-xp 00000000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8d80000-7fd5b8f7f000 ---p 0001f000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8f7f000-7fd5b8f80000 r--p 0001e000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8f80000-7fd5b8f81000 rw-p 0001f000 08:01 141744 /usr/lib/libmad.so.0.2.1
7fd5b8f81000-7fd5b8fa2000 r-xp 00000000 08:01 207136 /usr/lib/ld-2.16.so
7fd5b914b000-7fd5b916b000 rw-s 00000000 00:04 539492467 /SYSV0056a4d6 (deleted)
7fd5b916b000-7fd5b9173000 rw-p 00000000 00:00 0
7fd5b917c000-7fd5b919c000 rw-s 00000000 00:05 7134 /dev/snd/pcmC0D0p
7fd5b919c000-7fd5b919d000 rw-s 81000000 00:05 7134 /dev/snd/pcmC0D0p
7fd5b919d000-7fd5b919e000 r--s 80000000 00:05 7134 /dev/snd/pcmC0D0p
7fd5b919e000-7fd5b919f000 rw-s 00000000 00:04 539459694 /SYSV0056a4d5 (deleted)
7fd5b919f000-7fd5b91a0000 rw-p 00000000 00:00 0
7fd5b91a0000-7fd5b91a2000 rw-p 00000000 00:00 0
7fd5b91a2000-7fd5b91a3000 r--p 00021000 08:01 207136 /usr/lib/ld-2.16.so
7fd5b91a3000-7fd5b91a4000 rw-p 00022000 08:01 207136 /usr/lib/ld-2.16.so
7fd5b91a4000-7fd5b91a5000 rw-p 00000000 00:00 0
7fff81eb6000-7fff81ed7000 rw-p 00000000 00:00 0 [stack]
7fff81fff000-7fff82000000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Using latest git checkout today (2011-05-28) built using Archlinux AUR package, 64 bit OS.
If you start shell-fm and load a radio stream, then try to use the socket interface, e.g. :
foo=$(echo "info %a %t %l %s %R/%d" | nc localhost 54311); echo $foo
Then the connection just hangs. If you Ctrl-C this and try the above command again, shell-fm throws an error:-
radio url> artist/loop/similarartists
Receiving Loop Radio.
Now playing "Soul Piece" by Singapore Sling.
*** glibc detected *** shell-fm: double free or corruption (!prev): 0x00000000023563e0 ***
======= Backtrace: =========
/lib/libc.so.6(+0x7342a)[0x7fb056fc342a]
/lib/libc.so.6(cfree+0x6c)[0x7fb056fc730c]
/lib/libc.so.6(fclose+0x155)[0x7fb056fb3a95]
shell-fm[0x408aaa]
shell-fm[0x4033cc]
/lib/libc.so.6(__libc_start_main+0xed)[0x7fb056f70f6d]
shell-fm[0x4033fd]
======= Memory map: ========
00400000-00411000 r-xp 00000000 fe:02 979911 /usr/bin/shell-fm
00611000-00612000 rw-p 00011000 fe:02 979911 /usr/bin/shell-fm
00612000-0061c000 rw-p 00000000 00:00 0
0234c000-0236d000 rw-p 00000000 00:00 0 [heap]
7fb050000000-7fb050021000 rw-p 00000000 00:00 0
7fb050021000-7fb054000000 ---p 00000000 00:00 0
7fb055ece000-7fb055f4f000 r-xp 00000000 fe:02 230014 /lib/libm-2.13.so
7fb055f4f000-7fb05614e000 ---p 00081000 fe:02 230014 /lib/libm-2.13.so
7fb05614e000-7fb05614f000 r--p 00080000 fe:02 230014 /lib/libm-2.13.so
7fb05614f000-7fb056150000 rw-p 00081000 fe:02 230014 /lib/libm-2.13.so
7fb056150000-7fb056168000 r-xp 00000000 fe:02 965896 /usr/lib/libz.so.1.2.5
7fb056168000-7fb056367000 ---p 00018000 fe:02 965896 /usr/lib/libz.so.1.2.5
7fb056367000-7fb056368000 rw-p 00017000 fe:02 965896 /usr/lib/libz.so.1.2.5
7fb056368000-7fb05637d000 r-xp 00000000 fe:02 978825 /usr/lib/libgcc_s.so.1
7fb05637d000-7fb05657d000 ---p 00015000 fe:02 978825 /usr/lib/libgcc_s.so.1
7fb05657d000-7fb05657e000 rw-p 00015000 fe:02 978825 /usr/lib/libgcc_s.so.1
7fb05657e000-7fb056669000 r-xp 00000000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056669000-7fb056869000 ---p 000eb000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056869000-7fb056871000 r--p 000eb000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056871000-7fb056873000 rw-p 000f3000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056873000-7fb056888000 rw-p 00000000 00:00 0
7fb056888000-7fb05692a000 r-xp 00000000 fe:02 979672 /usr/lib/libtag.so.1.7.0
7fb05692a000-7fb056b2a000 ---p 000a2000 fe:02 979672 /usr/lib/libtag.so.1.7.0
7fb056b2a000-7fb056b2f000 rw-p 000a2000 fe:02 979672 /usr/lib/libtag.so.1.7.0
7fb056b2f000-7fb056b31000 r-xp 00000000 fe:02 228971 /lib/libdl-2.13.so
7fb056b31000-7fb056d31000 ---p 00002000 fe:02 228971 /lib/libdl-2.13.so
7fb056d31000-7fb056d32000 r--p 00002000 fe:02 228971 /lib/libdl-2.13.so
7fb056d32000-7fb056d33000 rw-p 00003000 fe:02 228971 /lib/libdl-2.13.so
7fb056d33000-7fb056d4a000 r-xp 00000000 fe:02 230012 /lib/libpthread-2.13.so
7fb056d4a000-7fb056f4a000 ---p 00017000 fe:02 230012 /lib/libpthread-2.13.so
7fb056f4a000-7fb056f4b000 r--p 00017000 fe:02 230012 /lib/libpthread-2.13.so
7fb056f4b000-7fb056f4c000 rw-p 00018000 fe:02 230012 /lib/libpthread-2.13.so
7fb056f4c000-7fb056f50000 rw-p 00000000 00:00 0
7fb056f50000-7fb0570a4000 r-xp 00000000 fe:02 230015 /lib/libc-2.13.so
7fb0570a4000-7fb0572a4000 ---p 00154000 fe:02 230015 /lib/libc-2.13.so
7fb0572a4000-7fb0572a8000 r--p 00154000 fe:02 230015 /lib/libc-2.13.so
7fb0572a8000-7fb0572a9000 rw-p 00158000 fe:02 230015 /lib/libc-2.13.so
7fb0572a9000-7fb0572ae000 rw-p 00000000 00:00 0
7fb0572ae000-7fb0572b2000 r-xp 00000000 fe:02 979673 /usr/lib/libtag_c.so.0.0.0
7fb0572b2000-7fb0574b1000 ---p 00004000 fe:02 979673 /usr/lib/libtag_c.so.0.0.0
7fb0574b1000-7fb0574b2000 rw-p 00003000 fe:02 979673 /usr/lib/libtag_c.so.0.0.0
7fb0574b2000-7fb0574ba000 r-xp 00000000 fe:02 967289 /usr/lib/libao.so.4.0.0
7fb0574ba000-7fb0576b9000 ---p 00008000 fe:02 967289 /usr/lib/libao.so.4.0.0
7fb0576b9000-7fb0576ba000 rw-p 00007000 fe:02 967289 /usr/lib/libao.so.4.0.0
7fb0576ba000-7fb0576d9000 r-xp 00000000 fe:02 972770 /usr/lib/libmad.so.0.2.1
7fb0576d9000-7fb0578d8000 ---p 0001f000 fe:02 972770 /usr/lib/libmad.so.0.2.1
7fb0578d8000-7fb0578d9000 rw-p 0001e000 fe:02 972770 /usr/lib/libmad.so.0.2.1
7fb0578d9000-7fb0578f7000 r-xp 00000000 fe:02 230145 /lib/ld-2.13.so
7fb057a92000-7fb057ac7000 r--s 00000000 fe:02 915723 /var/db/nscd/hosts
7fb057ac7000-7fb057acf000 rw-p 00000000 00:00 0
7fb057af3000-7fb057af6000 rw-p 00000000 00:00 0
7fb057af6000-7fb057af7000 r--p 0001d000 fe:02 230145 /lib/ld-2.13.so
7fb057af7000-7fb057af8000 rw-p 0001e000 fe:02 230145 /lib/ld-2.13.so
7fb057af8000-7fb057af9000 rw-p 00000000 00:00 0
7fff43e0a000-7fff43e2b000 rw-p 00000000 00:00 0 [stack]
7fff43e8b000-7fff43e8c000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted
johncc@liberator:~$ *** glibc detected *** shell-fm: double free or corruption (!prev): 0x00000000023563e0 ***
======= Backtrace: =========
/lib/libc.so.6(+0x7342a)[0x7fb056fc342a]
/lib/libc.so.6(cfree+0x6c)[0x7fb056fc730c]
/lib/libc.so.6(fclose+0x155)[0x7fb056fb3a95]
shell-fm[0x406f5d]
shell-fm[0x4057f4]
shell-fm[0x402fc7]
/lib/libc.so.6(__libc_start_main+0xed)[0x7fb056f70f6d]
shell-fm[0x4033fd]
======= Memory map: ========
00400000-00411000 r-xp 00000000 fe:02 979911 /usr/bin/shell-fm
00611000-00612000 rw-p 00011000 fe:02 979911 /usr/bin/shell-fm
00612000-0061c000 rw-p 00000000 00:00 0
0234c000-023a8000 rw-p 00000000 00:00 0 [heap]
7fb048000000-7fb048021000 rw-p 00000000 00:00 0
7fb048021000-7fb04c000000 ---p 00000000 00:00 0
7fb04cf46000-7fb04cf47000 ---p 00000000 00:00 0
7fb04cf47000-7fb04d747000 rw-p 00000000 00:00 0
7fb04d747000-7fb051748000 rw-s 00000000 00:0f 4399310 /dev/shm/pulse-shm-194983332
7fb051748000-7fb051832000 r-xp 00000000 fe:02 975821 /usr/lib/libasound.so.2.0.0
7fb051832000-7fb051a31000 ---p 000ea000 fe:02 975821 /usr/lib/libasound.so.2.0.0
7fb051a31000-7fb051a39000 rw-p 000e9000 fe:02 975821 /usr/lib/libasound.so.2.0.0
7fb051a39000-7fb051a3f000 r-xp 00000000 fe:02 1112480 /usr/lib/ao/plugins-4/libalsa.so
7fb051a3f000-7fb051c3e000 ---p 00006000 fe:02 1112480 /usr/lib/ao/plugins-4/libalsa.so
7fb051c3e000-7fb051c3f000 rw-p 00005000 fe:02 1112480 /usr/lib/ao/plugins-4/libalsa.so
7fb051c3f000-7fb051c43000 r-xp 00000000 fe:02 229021 /lib/libattr.so.1.1.0
7fb051c43000-7fb051e42000 ---p 00004000 fe:02 229021 /lib/libattr.so.1.1.0
7fb051e42000-7fb051e43000 rw-p 00003000 fe:02 229021 /lib/libattr.so.1.1.0
7fb051e43000-7fb051e56000 r-xp 00000000 fe:02 230175 /lib/libresolv-2.13.so
7fb051e56000-7fb052056000 ---p 00013000 fe:02 230175 /lib/libresolv-2.13.so
7fb052056000-7fb052057000 r--p 00013000 fe:02 230175 /lib/libresolv-2.13.so
7fb052057000-7fb052058000 rw-p 00014000 fe:02 230175 /lib/libresolv-2.13.so
7fb052058000-7fb05205a000 rw-p 00000000 00:00 0
7fb05205a000-7fb05205f000 r-xp 00000000 fe:02 1275586 /usr/lib/libogg.so.0.7.1
7fb05205f000-7fb05225f000 ---p 00005000 fe:02 1275586 /usr/lib/libogg.so.0.7.1
7fb05225f000-7fb052260000 rw-p 00005000 fe:02 1275586 /usr/lib/libogg.so.0.7.1
7fb052260000-7fb05228b000 r-xp 00000000 fe:02 1275745 /usr/lib/libvorbis.so.0.4.5
7fb05228b000-7fb05248a000 ---p 0002b000 fe:02 1275745 /usr/lib/libvorbis.so.0.4.5
7fb05248a000-7fb05248b000 rw-p 0002a000 fe:02 1275745 /usr/lib/libvorbis.so.0.4.5
7fb05248b000-7fb05273e000 r-xp 00000000 fe:02 1275735 /usr/lib/libvorbisenc.so.2.0.8
7fb05273e000-7fb05293d000 ---p 002b3000 fe:02 1275735 /usr/lib/libvorbisenc.so.2.0.8
7fb05293d000-7fb052959000 rw-p 002b2000 fe:02 1275735 /usr/lib/libvorbisenc.so.2.0.8
7fb052959000-7fb0529a3000 r-xp 00000000 fe:02 976412 /usr/lib/libFLAC.so.8.2.0
7fb0529a3000-7fb052ba3000 ---p 0004a000 fe:02 976412 /usr/lib/libFLAC.so.8.2.0
7fb052ba3000-7fb052ba5000 rw-p 0004a000 fe:02 976412 /usr/lib/libFLAC.so.8.2.0
7fb052ba5000-7fb052bba000 r-xp 00000000 fe:02 230143 /lib/libnsl-2.13.so
7fb052bba000-7fb052db9000 ---p 00015000 fe:02 230143 /lib/libnsl-2.13.so
7fb052db9000-7fb052dba000 r--p 00014000 fe:02 230143 /lib/libnsl-2.13.so
7fb052dba000-7fb052dbb000 rw-p 00015000 fe:02 230143 /lib/libnsl-2.13.so
7fb052dbb000-7fb052dbd000 rw-p 00000000 00:00 0
7fb052dbd000-7fb052dc2000 r-xp 00000000 fe:02 979895 /usr/lib/libXdmcp.so.6.0.0
7fb052dc2000-7fb052fc1000 ---p 00005000 fe:02 979895 /usr/lib/libXdmcp.so.6.0.0
7fb052fc1000-7fb052fc2000 rw-p 00004000 fe:02 979895 /usr/lib/libXdmcp.so.6.0.0
7fb052fc2000-7fb052fc4000 r-xp 00000000 fe:02 1005168 /usr/lib/libXau.so.6.0.0
7fb052fc4000-7fb0531c3000 ---p 00002000 fe:02 1005168 /usr/lib/libXau.so.6.0.0
7fb0531c3000-7fb0531c4000 rw-p 00001000 fe:02 1005168 /usr/lib/libXau.so.6.0.0
7fb0531c4000-7fb0531d3000 r-xp 00000000 fe:02 1275926 /usr/lib/libXi.so.6.1.0
7fb0531d3000-7fb0533d2000 ---p 0000f000 fe:02 1275926 /usr/lib/libXi.so.6.1.0
7fb0533d2000-7fb0533d3000 rw-p 0000e000 fe:02 1275926 /usr/lib/libXi.so.6.1.0
7fb0533d3000-7fb0533e5000 r-xp 00000000 fe:02 972083 /usr/lib/libXext.so.6.4.0
7fb0533e5000-7fb0535e4000 ---p 00012000 fe:02 972083 /usr/lib/libXext.so.6.4.0
7fb0535e4000-7fb0535e5000 rw-p 00011000 fe:02 972083 /usr/lib/libXext.so.6.4.0
7fb0535e5000-7fb0535e8000 r-xp 00000000 fe:02 230770 /lib/libuuid.so.1.3.0
7fb0535e8000-7fb0537e8000 ---p 00003000 fe:02 230770 /lib/libuuid.so.1.3.0
7fb0537e8000-7fb0537e9000 rw-p 00003000 fe:02 230770 /lib/libuuid.so.1.3.0
7fb0537e9000-7fb0537f0000 r-xp 00000000 fe:02 233064 /lib/librt-2.13.so
7fb0537f0000-7fb0539ef000 ---p 00007000 fe:02 233064 /lib/librt-2.13.so
7fb0539ef000-7fb0539f0000 r--p 00006000 fe:02 233064 /lib/librt-2.13.so
7fb0539f0000-7fb0539f1000 rw-p 00007000 fe:02 233064 /lib/librt-2.13.so
7fb0539f1000-7fb0539f5000 r-xp 00000000 fe:02 229135 /lib/libcap.so.2.21
7fb0539f5000-7fb053bf4000 ---p 00004000 fe:02 229135 /lib/libcap.so.2.21
7fb053bf4000-7fb053bf5000 rw-p 00003000 fe:02 229135 /lib/libcap.so.2.21
7fb053bf5000-7fb053c37000 r-xp 00000000 fe:02 976381 /usr/lib/libdbus-1.so.3.5.5
7fb053c37000-7fb053e37000 ---p 00042000 fe:02 976381 /usr/lib/libdbus-1.so.3.5.5
7fb053e37000-7fb053e38000 r--p 00042000 fe:02 976381 /usr/lib/libdbus-1.so.3.5.5
7fb053e38000-7fb053e39000 rw-p 00043000 fe:02 976381 /usr/lib/libdbus-1.so.3.5.5
7fb053e39000-7fb053e3e000 r-xp 00000000 fe:02 966454 /usr/lib/libasyncns.so.0.3.1
7fb053e3e000-7fb05403d000 ---p 00005000 fe:02 966454 /usr/lib/libasyncns.so.0.3.1
7fb05403d000-7fb05403e000 rw-p 00004000 fe:02 966454 /usr/lib/libasyncns.so.0.3.1
7fb05403e000-7fb05409e000 r-xp 00000000 fe:02 970152 /usr/lib/libsndfile.so.1.0.24
7fb05409e000-7fb05429e000 ---p 00060000 fe:02 970152 /usr/lib/libsndfile.so.1.0.24
7fb05429e000-7fb0542a1000 rw-p 00060000 fe:02 970152 /usr/lib/libsndfile.so.1.0.24
7fb0542a1000-7fb0542a5000 rw-p 00000000 00:00 0
7fb0542a5000-7fb0542ad000 r-xp 00000000 fe:02 974020 /usr/lib/libwrap.so.0.7.6
7fb0542ad000-7fb0544ac000 ---p 00008000 fe:02 974020 /usr/lib/libwrap.so.0.7.6
7fb0544ac000-7fb0544ae000 rw-p 00007000 fe:02 974020 /usr/lib/libwrap.so.0.7.6
7fb0544ae000-7fb0544c9000 r-xp 00000000 fe:02 971227 /usr/lib/libxcb.so.1.1.0
7fb0544c9000-7fb0546c8000 ---p 0001b000 fe:02 971227 /usr/lib/libxcb.so.1.1.0
7fb0546c8000-7fb0546c9000 rw-p 0001a000 fe:02 971227 /usr/lib/libxcb.so.1.1.0
7fb0546c9000-7fb0546cc000 r-xp 00000000 fe:02 976307 /usr/lib/libxcb-atom.so.1.0.0
7fb0546cc000-7fb0548cc000 ---p 00003000 fe:02 976307 /usr/lib/libxcb-atom.so.1.0.0
7fb0548cc000-7fb0548cd000 rw-p 00003000 fe:02 976307 /usr/lib/libxcb-atom.so.1.0.0
7fb0548cd000-7fb0548d2000 r-xp 00000000 fe:02 972504 /usr/lib/libXtst.so.6.1.0
7fb0548d2000-7fb054ad2000 ---p 00005000 fe:02 972504 /usr/lib/libXtst.so.6.1.0
7fb054ad2000-7fb054ad3000 rw-p 00005000 fe:02 972504 /usr/lib/libXtst.so.6.1.0
7fb054ad3000-7fb054aea000 r-xp 00000000 fe:02 972147 /usr/lib/libICE.so.6.3.0
7fb054aea000-7fb054ce9000 ---p 00017000 fe:02 972147 /usr/lib/libICE.so.6.3.0
7fb054ce9000-7fb054cea000 rw-p 00016000 fe:02 972147 /usr/lib/libICE.so.6.3.0
7fb054cea000-7fb054cee000 rw-p 00000000 00:00 0
7fb054cee000-7fb054cf5000 r-xp 00000000 fe:02 82187 /usr/lib/libSM.so.6.0.1
7fb054cf5000-7fb054ef4000 ---p 00007000 fe:02 82187 /usr/lib/libSM.so.6.0.1
7fb054ef4000-7fb054ef5000 rw-p 00006000 fe:02 82187 /usr/lib/libSM.so.6.0.1
7fb054ef5000-7fb05502e000 r-xp 00000000 fe:02 979460 /usr/lib/libX11.so.6.3.0
7fb05502e000-7fb05522e000 ---p 00139000 fe:02 979460 /usr/lib/libX11.so.6.3.0
7fb05522e000-7fb055234000 rw-p 00139000 fe:02 979460 /usr/lib/libX11.so.6.3.0
7fb055234000-7fb055235000 r-xp 00000000 fe:02 979461 /usr/lib/libX11-xcb.so.1.0.0
7fb055235000-7fb055434000 ---p 00001000 fe:02 979461 /usr/lib/libX11-xcb.so.1.0.0
7fb055434000-7fb055435000 rw-p 00000000 fe:02 979461 /usr/lib/libX11-xcb.so.1.0.0
7fb055435000-7fb055483000 r-xp 00000000 fe:02 977882 /usr/lib/libpulsecommon-0.9.22.so
7fb055483000-7fb055682000 ---p 0004e000 fe:02 977882 /usr/lib/libpulsecommon-0.9.22.so
7fb055682000-7fb055684000 rw-p 0004d000 fe:02 977882 /usr/lib/libpulsecommon-0.9.22.so
7fb055684000-7fb0556c5000 r-xp 00000000 fe:02 979519 /usr/lib/libpulse.so.0.12.3
7fb0556c5000-7fb0558c4000 ---p 00041000 fe:02 979519 /usr/lib/libpulse.so.0.12.3
7fb0558c4000-7fb0558c6000 rw-p 00040000 fe:02 979519 /usr/lib/libpulse.so.0.12.3
7fb0558c6000-7fb0558c9000 r-xp 00000000 fe:02 979513 /usr/lib/libpulse-simple.so.0.0.3
7fb0558c9000-7fb055ac9000 ---p 00003000 fe:02 979513 /usr/lib/libpulse-simple.so.0.0.3
7fb055ac9000-7fb055aca000 rw-p 00003000 fe:02 979513 /usr/lib/libpulse-simple.so.0.0.3
7fb055aca000-7fb055acc000 r-xp 00000000 fe:02 1112479 /usr/lib/ao/plugins-4/libpulse.so
7fb055acc000-7fb055ccb000 ---p 00002000 fe:02 1112479 /usr/lib/ao/plugins-4/libpulse.so
7fb055ccb000-7fb055ccc000 rw-p 00001000 fe:02 1112479 /usr/lib/ao/plugins-4/libpulse.so
7fb055ccc000-7fb055cce000 r-xp 00000000 fe:02 1112481 /usr/lib/ao/plugins-4/liboss.so
7fb055cce000-7fb055ecd000 ---p 00002000 fe:02 1112481 /usr/lib/ao/plugins-4/liboss.so
7fb055ecd000-7fb055ece000 rw-p 00001000 fe:02 1112481 /usr/lib/ao/plugins-4/liboss.so
7fb055ece000-7fb055f4f000 r-xp 00000000 fe:02 230014 /lib/libm-2.13.so
7fb055f4f000-7fb05614e000 ---p 00081000 fe:02 230014 /lib/libm-2.13.so
7fb05614e000-7fb05614f000 r--p 00080000 fe:02 230014 /lib/libm-2.13.so
7fb05614f000-7fb056150000 rw-p 00081000 fe:02 230014 /lib/libm-2.13.so
7fb056150000-7fb056168000 r-xp 00000000 fe:02 965896 /usr/lib/libz.so.1.2.5
7fb056168000-7fb056367000 ---p 00018000 fe:02 965896 /usr/lib/libz.so.1.2.5
7fb056367000-7fb056368000 rw-p 00017000 fe:02 965896 /usr/lib/libz.so.1.2.5
7fb056368000-7fb05637d000 r-xp 00000000 fe:02 978825 /usr/lib/libgcc_s.so.1
7fb05637d000-7fb05657d000 ---p 00015000 fe:02 978825 /usr/lib/libgcc_s.so.1
7fb05657d000-7fb05657e000 rw-p 00015000 fe:02 978825 /usr/lib/libgcc_s.so.1
7fb05657e000-7fb056669000 r-xp 00000000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056669000-7fb056869000 ---p 000eb000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056869000-7fb056871000 r--p 000eb000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056871000-7fb056873000 rw-p 000f3000 fe:02 966172 /usr/lib/libstdc++.so.6.0.16
7fb056873000-7fb056888000 rw-p 00000000 00:00 0
7fb056888000-7fb05692a000 r-xp 00000000 fe:02 979672 /usr/lib/libtag.so.1.7.0
7fb05692a000-7fb056b2a000 ---p 000a2000 fe:02 979672 /usr/lib/libtag.so.1.7.0
7fb056b2a000-7fb056b2f000 rw-p 000a2000 fe:02 979672 /usr/lib/libtag.so.1.7.0
7fb056b2f000-7fb056b31000 r-xp 00000000 fe:02 228971 /lib/libdl-2.13.so
7fb056b31000-7fb056d31000 ---p 00002000 fe:02 228971 /lib/libdl-2.13.so
7fb056d31000-7fb056d32000 r--p 00002000 fe:02 228971 /lib/libdl-2.13.so
7fb056d32000-7fb056d33000 rw-p 00003000 fe:02 228971 /lib/libdl-2.13.so
7fb056d33000-7fb056d4a000 r-xp 00000000 fe:02 230012 /lib/libpthread-2.13.so
7fb056d4a000-7fb056f4a000 ---p 00017000 fe:02 230012 /lib/libpthread-2.13.so
7fb056f4a000-7fb056f4b000 r--p 00017000 fe:02 230012 /lib/libpthread-2.13.so
7fb056f4b000-7fb056f4c000 rw-p 00018000 fe:02 230012 /lib/libpthread-2.13.so
7fb056f4c000-7fb056f50000 rw-p 00000000 00:00 0
7fb056f50000-7fb0570a4000 r-xp 00000000 fe:02 230015 /lib/libc-2.13.so
7fb0570a4000-7fb0572a4000 ---p 00154000 fe:02 230015 /lib/libc-2.13.so
7fb0572a4000-7fb0572a8000 r--p 00154000 fe:02 230015 /lib/libc-2.13.so
7fb0572a8000-7fb0572a9000 rw-p 00158000 fe:02 230015 /lib/libc-2.13.so
7fb0572a9000-7fb0572ae000 rw-p 00000000 00:00 0
7fb0572ae000-7fb0572b2000 r-xp 00000000 fe:02 979673 /usr/lib/libtag_c.so.0.0.0
7fb0572b2000-7fb0574b1000 ---p 00004000 fe:02 979673 /usr/lib/libtag_c.so.0.0.0
7fb0574b1000-7fb0574b2000 rw-p 00003000 fe:02 979673 /usr/lib/libtag_c.so.0.0.0
7fb0574b2000-7fb0574ba000 r-xp 00000000 fe:02 967289 /usr/lib/libao.so.4.0.0
7fb0574ba000-7fb0576b9000 ---p 00008000 fe:02 967289 /usr/lib/libao.so.4.0.0
7fb0576b9000-7fb0576ba000 rw-p 00007000 fe:02 967289 /usr/lib/libao.so.4.0.0
7fb0576ba000-7fb0576d9000 r-xp 00000000 fe:02 972770 /usr/lib/libmad.so.0.2.1
7fb0576d9000-7fb0578d8000 ---p 0001f000 fe:02 972770 /usr/lib/libmad.so.0.2.1
7fb0578d8000-7fb0578d9000 rw-p 0001e000 fe:02 972770 /usr/lib/libmad.so.0.2.1
7fb0578d9000-7fb0578f7000 r-xp 00000000 fe:02 230145 /lib/ld-2.13.so
7fb057a92000-7fb057ac7000 r--s 00000000 fe:02 915723 /var/db/nscd/hosts
7fb057ac7000-7fb057acf000 rw-p 00000000 00:00 0
7fb057af3000-7fb057af6000 rw-p 00000000 00:00 0
7fb057af6000-7fb057af7000 r--p 0001d000 fe:02 230145 /lib/ld-2.13.so
7fb057af7000-7fb057af8000 rw-p 0001e000 fe:02 230145 /lib/ld-2.13.so
7fb057af8000-7fb057af9000 rw-p 00000000 00:00 0
7fff43e0a000-7fff43e2b000 rw-p 00000000 00:00 0 [stack]
7fff43e8b000-7fff43e8c000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.