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

Reply via email to