Qball's Weblog

Weird Crash

Tags General  gmpc 

I’ve ran in the most weird problem with gmpc.

Gmpc uses (and provides for plugins) gmpc_easy_download, a simple function that uses libcurl to download  files.

Now I have the following problem: The nameserver is down, but the ethernet device is configured. You fetch a cover art..    gmpc tries to download it, gets an error from libcurl that it couldn’t resolve the adres, and gmpc cleans up (curl_*_cleanup or whatever it’s called). Now after a little while gmpc locks, hangs for 5 seconds..  This is weird, because libcurl runs in a separate thread, how does it hang the main thread? but it gets weirder, after a few seconds gmpc crashes.  gdb returns nothing useful (?? from /usr/lib/libcurl.so.3). Strace shows the hang nicely on a “futex(0x80cf5bc, FUTEX_WAIT, 5, NULL” and after a few seconds it adds: “) == -1 EINTR” and it’s crashed.

Does anybody have an idea on how to fix this? if it is fixable, I search the internet a bit and found this bug reported several times, but with no solution.