Package: cowdancer Version: 0.81 Severity: normal Dear Maintainer,
open() is supposed to be async-signal-safe [1], however cowdancer's open() calls dlsym() [2] which calls calloc() [3] which isn't AS-safe. This caused me some grief [4], in combination with TCMalloc and Chromium. As I see it, to keep open() AS-safe, cowdancer can't call dlsym() from open() (if possible). That means either: A) Call dlsym() early, before anything calls open(). Not possible because even if you managed to call dlsym() before anything else, dlsym() itself might call open() before it was done initializing :-( B) Avoid dlsym() altogether. What are the options in this case? 1) Use sys_open() instead of dlsym(RTLD_NEXT, "open) 2) ??? [1] http://man7.org/linux/man-pages/man7/signal.7.html "Async-signal-safe functions" [2] https://anonscm.debian.org/git/pbuilder/cowdancer.git/tree/cowdancer.c#n182 [3] https://sourceware.org/git/?p=glibc.git;a=blob;f=dlfcn/dlerror.c;h=41b2bd6bf29be5f61affc5e750775ab2f64ee4b0;hb=HEAD#l141 [4] https://groups.google.com/a/chromium.org/d/msg/gn-dev/uYMNbQp9FUg/N9b8-SfEGAAJ -- System Information: Debian Release: stretch/sid APT prefers testing-debug APT policy: (500, 'testing-debug'), (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.6.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages cowdancer depends on: ii libc6 2.23-5 ii libncurses5 6.0+20160625-1 ii libtinfo5 6.0+20160625-1 cowdancer recommends no packages. cowdancer suggests no packages. -- no debconf information