LLVM symbols should be versioned to avoid crashing applications that load mesa's swrast and also use a different libLLVM

Bug #1709399 reported by RJVB
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
llvm-toolchain-3.8 (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

The libgl1-mesa-dri-lts-xenial package depend on libLLVM-3.8.so.1 from the libllvm3.8v4 package; this library gets used when using software OpenGL rendering on a remote display. As a result, applications based on Qt5 that also use libLLVM features provided by another (newer) LLVM version will crash when invoked from a remote X terminal.

Example: KDevelop5 uses libclang (and this libLLVM) for C/C++ parsing; I build it to use the LLVM/Clang 4.0 packages from llvm.org (and self-built Qt5 and KF5 libraries) and can thus not render to a remote X server (XQuartz on my Mac).

There is an upstream LLVM patch which solves the issue by adding versioning info to libLLVM:

https://bugs.kde.org/show_bug.cgi?id=373614
https://reviews.llvm.org/D31524

Please consider backporting this patch to LLVM 3.8 (or rebuilding the mesa package to use a (much) more recent LLVM version that already contains the patch).

RJVB (rjvbertin)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in llvm-toolchain-3.8 (Ubuntu):
status: New → Confirmed
Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

Current llvm-toolchain-* packages do have versioned symbols (since 3.8.1-22 / 3.9.1-8 / 4.0-5: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849098), but this 3.8 has not been backported.

Note that loading the *same* LLVM version twice can also crash, for a different reason: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852746

Revision history for this message
RJVB (rjvbertin) wrote :

It seems that this could have been backported by now, the ticket has been open for (almost) a year now ...

In the end I got fed up with having to point the library used by Mesa/Gallium to the much newer one I also use (something kept resetting it), and uninstalled the corresponding Mesa component. Problem not solved but gone all the same (and I don't notice any difference other than that certain applications no longer crash).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.