Package: olvwm Version: 4.4.3.2p1.4-28.2 Severity: grave Justification: renders package unusable
Dear Maintainer, The latest version (4.4.3.2p1.4-28.2) immediately crashes with SIGSEGV on my x86_64 system. I tried building it from source with debug symbols, and discovered that it is not 64-bit clean (examples below). The previous version (4.4.3.2p1.4-28.1), which was built 4 years ago, works. It can no longer be built (because glibc no longer supports some old APIs), but I'm guessing that the build tools from 4 years ago must have produced machine code where all the addresses fall in the bottom 4GB of the virtual address space, so that the 64-bit uncleanliness is hidden. I'm not sure what to do about this. Fixing all the source code is likely to be a large project. Is there a way to tell today's build tools to produce machine code confined to the bottom 4GB of the virtual address space? Example SIGSEGVs: In clients/olvwm-4.1/cursors.c in InitCursors() there is a gratuitous cast of a pointer to an int before it is passed to a function that takes a pointer: st_insert(cursorTable, (int) p->name, (char *) p->num); After I fixed that, there was SIGSEGV in image.c in this line: b = (Button *) MemAlloc(sizeof(Button)); The problem is that mem.h is not included, so the compiler assumes that MemAlloc() returns an int rather than a pointer, so the pointer gets truncated to 32 bits. After I fixed that, there was a SIGSEGV in states.c in this line: cli->wmState = initstate; but gdb said cli was optimized out, so I don't know what's going on there. I suspect that these 64-bit issues are pervasive. *** Reporter, please consider answering these questions, where appropriate *** * What led up to the situation? * What exactly did you do (or not do) that was effective (or ineffective)? * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these template lines *** -- System Information: Debian Release: 9.0 APT prefers testing APT policy: (900, 'testing'), (800, 'stable'), (600, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.7.0-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages olvwm depends on: ii libc6 2.24-8 ii libx11-6 2:1.6.4-2 ii libxext6 2:1.3.3-1 ii libxpm4 1:3.5.12-1 olvwm recommends no packages. Versions of packages olvwm suggests: pn menu <none> pn olwm <none> pn xview-clients <none> -- no debconf information