You are not logged in.

#26 2023-10-21 08:59:44

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

I decided to rename the previous folder and just download a new set of files.
I then make a src folder since I was having trouble getting PKGBUILD to find the files and then I put copies of those 2 patch files inside.
Then ran makepkg -si again and it gave the same error and malloc.c.rej is also the same. I think this is right.

I don't really get why the patch that was already in PKGBUILD worked from the base directory but it wouldn't see those 2 malloc patch files I added to PKGBUILD, but whatever.

prepare() {
  mkdir -p glibc-build lib32-glibc-build

  [[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc
  cd glibc

  # Re-enable `--hash-style=both` for building shared objects due to issues with EPIC's EAC
  # which relies on DT_HASH to be present in these libs.
  # reconsider 2023-01
  patch -Np1 -i "${srcdir}"/reenable_DT_HASH.patch
  patch -Np1 -i "${srcdir}"/fix-malloc-p1.patch
  patch -Np1 -i "${srcdir}"/fix-malloc-p2.patch
}

Last edited by Dotslash (2023-10-21 09:00:36)

Offline

#27 2023-10-21 13:29:25

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

mkdir ~/abs
cd ~/abs
git clone https://gitlab.archlinux.org/archlinux/packaging/packages/glibc.git
cd glibc # edit, forgot this step ;)

Replace PKGBUILD w/ the below

# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>

# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc
# NOTE: valgrind requires rebuilt with each major glibc version

pkgbase=glibc
pkgname=(glibc lib32-glibc glibc-locales)
pkgver=2.38
_commit=750a45a783906a19591fb8ff6b7841470f1f5701
pkgrel=7
arch=(x86_64)
url='https://www.gnu.org/software/libc'
license=(GPL LGPL)
makedepends=(git gd lib32-gcc-libs python)
options=(staticlibs !lto)
source=(git+https://sourceware.org/git/glibc.git#commit=${_commit}
        locale.gen.txt
        locale-gen
        lib32-glibc.conf
        sdt.h sdt-config.h
        reenable_DT_HASH.patch
        fix-malloc-p1.patch
        fix-malloc-p2.patch
)
validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell
              BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar
b2sums=('SKIP'
        'c859bf2dfd361754c9e3bbd89f10de31f8e81fd95dc67b77d10cb44e23834b096ba3caa65fbc1bd655a8696c6450dfd5a096c476b3abf5c7e125123f97ae1a72'
        '04fbb3b0b28705f41ccc6c15ed5532faf0105370f22133a2b49867e790df0491f5a1255220ff6ebab91a462f088d0cf299491b3eb8ea53534cb8638a213e46e3'
        '7c265e6d36a5c0dff127093580827d15519b6c7205c2e1300e82f0fb5b9dd00b6accb40c56581f18179c4fbbc95bd2bf1b900ace867a83accde0969f7b609f8a'
        'a6a5e2f2a627cc0d13d11a82458cfd0aa75ec1c5a3c7647e5d5a3bb1d4c0770887a3909bfda1236803d5bc9801bfd6251e13483e9adf797e4725332cd0d91a0e'
        '214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678'
        '35e03ed912e1b0cd23783ab83ce919412885c141344905b8b67bbad4a86c48cf3e893806060e48d5737514ff80cea0b58b0e1f15707c32224579c416dcd810c0'
        '28c983bcebc0eeeb37a60756ccee50d587a99d5e2100430d5c0ee51a19d9b2176a4013574a7d72b5857302fbb60d371bbf0b3cdb4fc700a1dbe3aae4a42b04b9'
        'c3e94f5b0999878ff472e32f49dc13c20eb9db68c633017cb7824617eb824cf6cff7ea53b92962926e0ee84fd39736616298dcb926356625dd124f3754e79932')

prepare() {
  mkdir -p glibc-build lib32-glibc-build

  [[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc
  cd glibc

  # Re-enable `--hash-style=both` for building shared objects due to issues with EPIC's EAC
  # which relies on DT_HASH to be present in these libs.
  # reconsider 2023-01
  patch -Np1 -i "${srcdir}"/reenable_DT_HASH.patch
  patch -Np1 -i "${srcdir}"/fix-malloc-p1.patch
  patch -Np1 -i "${srcdir}"/fix-malloc-p2.patch

}

build() {
  local _configure_flags=(
      --prefix=/usr
      --with-headers=/usr/include
      --with-bugurl=https://bugs.archlinux.org/
      --enable-bind-now
      --enable-cet
      --enable-fortify-source
      --enable-kernel=4.4
      --enable-multi-arch
      --enable-stack-protector=strong
      --enable-systemtap
      --disable-nscd
      --disable-profile
      --disable-werror
  )

  (
    cd glibc-build

    echo "slibdir=/usr/lib" >> configparms
    echo "rtlddir=/usr/lib" >> configparms
    echo "sbindir=/usr/bin" >> configparms
    echo "rootsbindir=/usr/bin" >> configparms

    # Credits @allanmcrae
    # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
    # remove fortify for building libraries
    # CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/}

    "${srcdir}"/glibc/configure \
        --libdir=/usr/lib \
        --libexecdir=/usr/lib \
        "${_configure_flags[@]}"

    make -O

    # build info pages manually for reproducibility
    make info
  )

  (
    cd lib32-glibc-build
    export CC="gcc -m32 -mstackrealign"
    export CXX="g++ -m32 -mstackrealign"

    echo "slibdir=/usr/lib32" >> configparms
    echo "rtlddir=/usr/lib32" >> configparms
    echo "sbindir=/usr/bin" >> configparms
    echo "rootsbindir=/usr/bin" >> configparms

    "${srcdir}"/glibc/configure \
        --host=i686-pc-linux-gnu \
        --libdir=/usr/lib32 \
        --libexecdir=/usr/lib32 \
        "${_configure_flags[@]}"

    make -O
  )

  # pregenerate locales here instead of in package
  # functions because localedef does not like fakeroot
  make -C "${srcdir}"/glibc/localedata objdir="${srcdir}"/glibc-build \
    DESTDIR="${srcdir}"/locales install-locale-files
}

# Credits for _skip_test() and check() @allanmcrae
# https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
_skip_test() {
  test=${1}
  file=${2}
  sed -i "/\b${test} /d" "${srcdir}"/glibc/${file}
}

check() (
  cd glibc-build

  # adjust/remove buildflags that cause false-positive testsuite failures
  sed -i '/FORTIFY/d' configparms                                     # failure to build testsuite
  sed -i 's/-Werror=format-security/-Wformat-security/' config.make   # failure to build testsuite
  sed -i '/CFLAGS/s/-fno-plt//' config.make                           # 16 failures
  sed -i '/CFLAGS/s/-fexceptions//' config.make                       # 1 failure
  LDFLAGS=${LDFLAGS/,-z,now/}                                         # 10 failures

  # The following tests fail due to restrictions in the Arch build system
  # The correct fix is to add the following to the systemd-nspawn call:
  # --system-call-filter="@clock @memlock @pkey"
  _skip_test test-errno-linux        sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-mlock2              sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-ntp_gettime         sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-ntp_gettimex        sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-pkey                sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-process_mrelease    sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-adjtime             time/Makefile

  make -O check
)

package_glibc() {
  pkgdesc='GNU C Library'
  depends=('linux-api-headers>=4.10' tzdata filesystem)
  optdepends=('gd: for memusagestat'
              'perl: for mtrace')
  install=glibc.install
  backup=(etc/gai.conf
          etc/locale.gen)

  make -C glibc-build DESTDIR="${pkgdir}" install
  rm -f "${pkgdir}"/etc/ld.so.cache

  # Shipped in tzdata
  rm -f "${pkgdir}"/usr/bin/{tzselect,zdump,zic}

  cd glibc

  install -dm755 "${pkgdir}"/usr/lib/{locale,systemd/system,tmpfiles.d}

  install -m644 posix/gai.conf "${pkgdir}"/etc/gai.conf

  install -m755 "${srcdir}"/locale-gen "${pkgdir}"/usr/bin

  # Create /etc/locale.gen
  install -m644 "${srcdir}"/locale.gen.txt "${pkgdir}"/etc/locale.gen
  sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \
    localedata/SUPPORTED >> "${pkgdir}"/etc/locale.gen

  # Add SUPPORTED file to pkg
  sed -e '1,3d' -e 's|/| |g' -e 's| \\||g' \
    localedata/SUPPORTED > "${pkgdir}"/usr/share/i18n/SUPPORTED

  # install C.UTF-8 so that it is always available
  # should be built into glibc eventually
  # https://sourceware.org/glibc/wiki/Proposals/C.UTF-8
  # https://bugs.archlinux.org/task/74864
  install -dm755 "${pkgdir}"/usr/lib/locale
  cp -r "${srcdir}"/locales/usr/lib/locale/C.utf8 -t "${pkgdir}"/usr/lib/locale
  sed -i '/#C\.UTF-8 /d' "${pkgdir}"/etc/locale.gen

  # Provide tracing probes to libstdc++ for exceptions, possibly for other
  # libraries too. Useful for gdb's catch command.
  install -Dm644 "${srcdir}"/sdt.h "${pkgdir}"/usr/include/sys/sdt.h
  install -Dm644 "${srcdir}"/sdt-config.h "${pkgdir}"/usr/include/sys/sdt-config.h
}

package_lib32-glibc() {
  pkgdesc='GNU C Library (32-bit)'
  depends=("glibc=$pkgver")
  options+=('!emptydirs')

  cd lib32-glibc-build

  make DESTDIR="${pkgdir}" install
  rm -rf "${pkgdir}"/{etc,sbin,usr/{bin,sbin,share},var}

  # We need to keep 32 bit specific header files
  find "${pkgdir}"/usr/include -type f -not -name '*-32.h' -delete

  # Dynamic linker
  install -d "${pkgdir}"/usr/lib
  ln -s ../lib32/ld-linux.so.2 "${pkgdir}"/usr/lib/

  # Add lib32 paths to the default library search path
  install -Dm644 "${srcdir}"/lib32-glibc.conf "${pkgdir}"/etc/ld.so.conf.d/lib32-glibc.conf

  # Symlink /usr/lib32/locale to /usr/lib/locale
  ln -s ../lib/locale "${pkgdir}"/usr/lib32/locale
}

package_glibc-locales() {
  pkgdesc='Pregenerated locales for GNU C Library'
  depends=("glibc=$pkgver")

  cp -r locales/* -t "${pkgdir}"
  rm -r "${pkgdir}"/usr/lib/locale/C.utf8

  # deduplicate locale data
  hardlink -c "${pkgdir}"/usr/lib/locale
}
makepkg -i

Last edited by seth (2023-10-21 14:25:24)

Offline

#28 2023-10-21 20:35:22

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

Ok I did those steps and the error I noticed was slightly different, but the result is the same. The malloc.c.rej is exactly the same, I used meld to check.

Here's the error:

==> Making package: glibc 2.38-7 (Sat 21 Oct 2023 01:11:07 PM PDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Cloning glibc git repo...
Cloning into bare repository '/home/blumimic/abs/glibc/glibc'...
remote: Enumerating objects: 705155, done.
remote: Counting objects: 100% (26783/26783), done.
remote: Compressing objects: 100% (8869/8869), done.
remote: Total 705155 (delta 19876), reused 20401 (delta 17572), pack-reused 678372
Receiving objects: 100% (705155/705155), 231.50 MiB | 1.78 MiB/s, done.
Resolving deltas: 100% (600613/600613), done.
  -> Found locale.gen.txt
  -> Found locale-gen
  -> Found lib32-glibc.conf
  -> Found sdt.h
  -> Found sdt-config.h
  -> Found reenable_DT_HASH.patch
  -> Found fix-malloc-p1.patch
  -> Found fix-malloc-p2.patch
==> Validating source files with b2sums...
    glibc ... Skipped
    locale.gen.txt ... Passed
    locale-gen ... Passed
    lib32-glibc.conf ... Passed
    sdt.h ... Passed
    sdt-config.h ... Passed
    reenable_DT_HASH.patch ... Passed
    fix-malloc-p1.patch ... Passed
    fix-malloc-p2.patch ... Passed
==> Extracting sources...
  -> Creating working copy of glibc git repo...
Cloning into 'glibc'...
done.
Updating files: 100% (19854/19854), done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
patching file Makeconfig
patching file malloc/malloc.c
Reversed (or previously applied) patch detected!  Skipping patch.
7 out of 7 hunks ignored -- saving rejects to file malloc/malloc.c.rej
==> ERROR: A failure occurred in prepare().
    Aborting...

and malloc.c.rej

--- malloc/malloc.c
+++ malloc/malloc.c
@@ -1086,6 +1086,11 @@ typedef struct malloc_chunk* mchunkptr;
 
 static void*  _int_malloc(mstate, size_t);
 static void     _int_free(mstate, mchunkptr, int);
+static void _int_free_merge_chunk (mstate, mchunkptr, INTERNAL_SIZE_T);
+static INTERNAL_SIZE_T _int_free_create_chunk (mstate,
+					       mchunkptr, INTERNAL_SIZE_T,
+					       mchunkptr, INTERNAL_SIZE_T);
+static void _int_free_maybe_consolidate (mstate, INTERNAL_SIZE_T);
 static void*  _int_realloc(mstate, mchunkptr, INTERNAL_SIZE_T,
 			   INTERNAL_SIZE_T);
 static void*  _int_memalign(mstate, size_t, size_t);
@@ -4637,31 +4642,52 @@ _int_free (mstate av, mchunkptr p, int have_lock)
     if (!have_lock)
       __libc_lock_lock (av->mutex);
 
-    nextchunk = chunk_at_offset(p, size);
-
-    /* Lightweight tests: check whether the block is already the
-       top block.  */
-    if (__glibc_unlikely (p == av->top))
-      malloc_printerr ("double free or corruption (top)");
-    /* Or whether the next chunk is beyond the boundaries of the arena.  */
-    if (__builtin_expect (contiguous (av)
-			  && (char *) nextchunk
-			  >= ((char *) av->top + chunksize(av->top)), 0))
-	malloc_printerr ("double free or corruption (out)");
-    /* Or whether the block is actually not marked used.  */
-    if (__glibc_unlikely (!prev_inuse(nextchunk)))
-      malloc_printerr ("double free or corruption (!prev)");
-
-    nextsize = chunksize(nextchunk);
-    if (__builtin_expect (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ, 0)
-	|| __builtin_expect (nextsize >= av->system_mem, 0))
-      malloc_printerr ("free(): invalid next size (normal)");
+    _int_free_merge_chunk (av, p, size);
 
-    free_perturb (chunk2mem(p), size - CHUNK_HDR_SZ);
+    if (!have_lock)
+      __libc_lock_unlock (av->mutex);
+  }
+  /*
+    If the chunk was allocated via mmap, release via munmap().
+  */
+
+  else {
+    munmap_chunk (p);
+  }
+}
+
+/* Try to merge chunk P of SIZE bytes with its neighbors.  Put the
+   resulting chunk on the appropriate bin list.  P must not be on a
+   bin list yet, and it can be in use.  */
+static void
+_int_free_merge_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size)
+{
+  mchunkptr nextchunk = chunk_at_offset(p, size);
+
+  /* Lightweight tests: check whether the block is already the
+     top block.  */
+  if (__glibc_unlikely (p == av->top))
+    malloc_printerr ("double free or corruption (top)");
+  /* Or whether the next chunk is beyond the boundaries of the arena.  */
+  if (__builtin_expect (contiguous (av)
+			&& (char *) nextchunk
+			>= ((char *) av->top + chunksize(av->top)), 0))
+    malloc_printerr ("double free or corruption (out)");
+  /* Or whether the block is actually not marked used.  */
+  if (__glibc_unlikely (!prev_inuse(nextchunk)))
+    malloc_printerr ("double free or corruption (!prev)");
+
+  INTERNAL_SIZE_T nextsize = chunksize(nextchunk);
+  if (__builtin_expect (chunksize_nomask (nextchunk) <= CHUNK_HDR_SZ, 0)
+      || __builtin_expect (nextsize >= av->system_mem, 0))
+    malloc_printerr ("free(): invalid next size (normal)");
+
+  free_perturb (chunk2mem(p), size - CHUNK_HDR_SZ);
 
-    /* consolidate backward */
-    if (!prev_inuse(p)) {
-      prevsize = prev_size (p);
+  /* Consolidate backward.  */
+  if (!prev_inuse(p))
+    {
+      INTERNAL_SIZE_T prevsize = prev_size (p);
       size += prevsize;
       p = chunk_at_offset(p, -((long) prevsize));
       if (__glibc_unlikely (chunksize(p) != prevsize))
@@ -4669,9 +4695,25 @@ _int_free (mstate av, mchunkptr p, int have_lock)
       unlink_chunk (av, p);
     }
 
-    if (nextchunk != av->top) {
+  /* Write the chunk header, maybe after merging with the following chunk.  */
+  size = _int_free_create_chunk (av, p, size, nextchunk, nextsize);
+  _int_free_maybe_consolidate (av, size);
+}
+
+/* Create a chunk at P of SIZE bytes, with SIZE potentially increased
+   to cover the immediately following chunk NEXTCHUNK of NEXTSIZE
+   bytes (if NEXTCHUNK is unused).  The chunk at P is not actually
+   read and does not have to be initialized.  After creation, it is
+   placed on the appropriate bin list.  The function returns the size
+   of the new chunk.  */
+static INTERNAL_SIZE_T
+_int_free_create_chunk (mstate av, mchunkptr p, INTERNAL_SIZE_T size,
+			mchunkptr nextchunk, INTERNAL_SIZE_T nextsize)
+{
+  if (nextchunk != av->top)
+    {
       /* get and clear inuse bit */
-      nextinuse = inuse_bit_at_offset(nextchunk, nextsize);
+      bool nextinuse = inuse_bit_at_offset (nextchunk, nextsize);
 
       /* consolidate forward */
       if (!nextinuse) {
@@ -4686,8 +4728,8 @@ _int_free (mstate av, mchunkptr p, int have_lock)
 	been given one chance to be used in malloc.
       */
 
-      bck = unsorted_chunks(av);
-      fwd = bck->fd;
+      mchunkptr bck = unsorted_chunks (av);
+      mchunkptr fwd = bck->fd;
       if (__glibc_unlikely (fwd->bk != bck))
 	malloc_printerr ("free(): corrupted unsorted chunks");
       p->fd = fwd;
@@ -4706,61 +4748,52 @@ _int_free (mstate av, mchunkptr p, int have_lock)
       check_free_chunk(av, p);
     }
 
-    /*
-      If the chunk borders the current high end of memory,
-      consolidate into top
-    */
-
-    else {
+  else
+    {
+      /* If the chunk borders the current high end of memory,
+	 consolidate into top.  */
       size += nextsize;
       set_head(p, size | PREV_INUSE);
       av->top = p;
       check_chunk(av, p);
     }
 
-    /*
-      If freeing a large space, consolidate possibly-surrounding
-      chunks. Then, if the total unused topmost memory exceeds trim
-      threshold, ask malloc_trim to reduce top.
-
-      Unless max_fast is 0, we don't know if there are fastbins
-      bordering top, so we cannot tell for sure whether threshold
-      has been reached unless fastbins are consolidated.  But we
-      don't want to consolidate on each free.  As a compromise,
-      consolidation is performed if FASTBIN_CONSOLIDATION_THRESHOLD
-      is reached.
-    */
+  return size;
+}
 
-    if ((unsigned long)(size) >= FASTBIN_CONSOLIDATION_THRESHOLD) {
+/* If freeing a large space, consolidate possibly-surrounding
+   chunks.  Then, if the total unused topmost memory exceeds trim
+   threshold, ask malloc_trim to reduce top.  */
+static void
+_int_free_maybe_consolidate (mstate av, INTERNAL_SIZE_T size)
+{
+  /* Unless max_fast is 0, we don't know if there are fastbins
+     bordering top, so we cannot tell for sure whether threshold has
+     been reached unless fastbins are consolidated.  But we don't want
+     to consolidate on each free.  As a compromise, consolidation is
+     performed if FASTBIN_CONSOLIDATION_THRESHOLD is reached.  */
+  if (size >= FASTBIN_CONSOLIDATION_THRESHOLD)
+    {
       if (atomic_load_relaxed (&av->have_fastchunks))
 	malloc_consolidate(av);
 
-      if (av == &main_arena) {
+      if (av == &main_arena)
+	{
 #ifndef MORECORE_CANNOT_TRIM
-	if ((unsigned long)(chunksize(av->top)) >=
-	    (unsigned long)(mp_.trim_threshold))
-	  systrim(mp_.top_pad, av);
+	  if (chunksize (av->top) >= mp_.trim_threshold)
+	    systrim (mp_.top_pad, av);
 #endif
-      } else {
-	/* Always try heap_trim(), even if the top chunk is not
-	   large, because the corresponding heap might go away.  */
-	heap_info *heap = heap_for_ptr(top(av));
+	}
+      else
+	{
+	  /* Always try heap_trim, even if the top chunk is not large,
+	     because the corresponding heap might go away.  */
+	  heap_info *heap = heap_for_ptr (top (av));
 
-	assert(heap->ar_ptr == av);
-	heap_trim(heap, mp_.top_pad);
-      }
+	  assert (heap->ar_ptr == av);
+	  heap_trim (heap, mp_.top_pad);
+	}
     }
-
-    if (!have_lock)
-      __libc_lock_unlock (av->mutex);
-  }
-  /*
-    If the chunk was allocated via mmap, release via munmap().
-  */
-
-  else {
-    munmap_chunk (p);
-  }
 }
 
 /*
@@ -5221,7 +5254,7 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
                 (av != &main_arena ? NON_MAIN_ARENA : 0));
       set_inuse_bit_at_offset (newp, newsize);
       set_head_size (p, leadsize | (av != &main_arena ? NON_MAIN_ARENA : 0));
-      _int_free (av, p, 1);
+      _int_free_merge_chunk (av, p, leadsize);
       p = newp;
 
       assert (newsize >= nb &&
@@ -5232,15 +5265,27 @@ _int_memalign (mstate av, size_t alignment, size_t bytes)
   if (!chunk_is_mmapped (p))
     {
       size = chunksize (p);
-      if ((unsigned long) (size) > (unsigned long) (nb + MINSIZE))
+      mchunkptr nextchunk = chunk_at_offset(p, size);
+      INTERNAL_SIZE_T nextsize = chunksize(nextchunk);
+      if (size > nb)
         {
           remainder_size = size - nb;
-          remainder = chunk_at_offset (p, nb);
-          set_head (remainder, remainder_size | PREV_INUSE |
-                    (av != &main_arena ? NON_MAIN_ARENA : 0));
-          set_head_size (p, nb);
-          _int_free (av, remainder, 1);
-        }
+	  if (remainder_size >= MINSIZE
+	      || nextchunk == av->top
+	      || !inuse_bit_at_offset (nextchunk, nextsize))
+	    {
+	      /* We can only give back the tail if it is larger than
+		 MINSIZE, or if the following chunk is unused (top
+		 chunk or unused in-heap chunk).  Otherwise we would
+		 create a chunk that is smaller than MINSIZE.  */
+	      remainder = chunk_at_offset (p, nb);
+	      set_head_size (p, nb);
+	      remainder_size = _int_free_create_chunk (av, remainder,
+						       remainder_size,
+						       nextchunk, nextsize);
+	      _int_free_maybe_consolidate (av, remainder_size);
+	    }
+	}
     }
 
   check_inuse_chunk (av, p);

Offline

#29 2023-10-21 21:49:42

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

Sorry, the rejected code is (on a rough look) indeed in the HEAD, https://sourceware.org/git/?p=glibc.git … .c;hb=HEAD and I've likely been working on an older checkout?
That means the critical difference is nscd?

# Maintainer: Giancarlo Razzolini <grazzolini@archlinux.org>
# Maintainer: Frederik Schwan <freswa at archlinux dot org>
# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
# Contributor: Allan McRae <allan@archlinux.org>

# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc
# NOTE: valgrind requires rebuilt with each major glibc version

pkgbase=glibc
pkgname=(glibc lib32-glibc glibc-locales)
pkgver=2.38
_commit=750a45a783906a19591fb8ff6b7841470f1f5701
pkgrel=7
arch=(x86_64)
url='https://www.gnu.org/software/libc'
license=(GPL LGPL)
makedepends=(git gd lib32-gcc-libs python)
options=(staticlibs !lto)
source=(git+https://sourceware.org/git/glibc.git#commit=${_commit}
        locale.gen.txt
        locale-gen
        lib32-glibc.conf
        sdt.h sdt-config.h
        reenable_DT_HASH.patch
)
validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell
              BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar
b2sums=('SKIP'
        'c859bf2dfd361754c9e3bbd89f10de31f8e81fd95dc67b77d10cb44e23834b096ba3caa65fbc1bd655a8696c6450dfd5a096c476b3abf5c7e125123f97ae1a72'
        '04fbb3b0b28705f41ccc6c15ed5532faf0105370f22133a2b49867e790df0491f5a1255220ff6ebab91a462f088d0cf299491b3eb8ea53534cb8638a213e46e3'
        '7c265e6d36a5c0dff127093580827d15519b6c7205c2e1300e82f0fb5b9dd00b6accb40c56581f18179c4fbbc95bd2bf1b900ace867a83accde0969f7b609f8a'
        'a6a5e2f2a627cc0d13d11a82458cfd0aa75ec1c5a3c7647e5d5a3bb1d4c0770887a3909bfda1236803d5bc9801bfd6251e13483e9adf797e4725332cd0d91a0e'
        '214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678'
        '35e03ed912e1b0cd23783ab83ce919412885c141344905b8b67bbad4a86c48cf3e893806060e48d5737514ff80cea0b58b0e1f15707c32224579c416dcd810c0')

prepare() {
  mkdir -p glibc-build lib32-glibc-build

  [[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc
  cd glibc

  # Re-enable `--hash-style=both` for building shared objects due to issues with EPIC's EAC
  # which relies on DT_HASH to be present in these libs.
  # reconsider 2023-01
  patch -Np1 -i "${srcdir}"/reenable_DT_HASH.patch
}

build() {
  local _configure_flags=(
      --prefix=/usr
      --with-headers=/usr/include
      --with-bugurl=https://bugs.archlinux.org/
      --enable-bind-now
      --enable-cet
      --enable-fortify-source
      --enable-kernel=4.4
      --enable-multi-arch
      --enable-stack-protector=strong
      --enable-systemtap
      --disable-profile
      --disable-werror
  )

  (
    cd glibc-build

    echo "slibdir=/usr/lib" >> configparms
    echo "rtlddir=/usr/lib" >> configparms
    echo "sbindir=/usr/bin" >> configparms
    echo "rootsbindir=/usr/bin" >> configparms

    # Credits @allanmcrae
    # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
    # remove fortify for building libraries
    # CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/}

    "${srcdir}"/glibc/configure \
        --libdir=/usr/lib \
        --libexecdir=/usr/lib \
        "${_configure_flags[@]}"

    make -O

    # build info pages manually for reproducibility
    make info
  )

  (
    cd lib32-glibc-build
    export CC="gcc -m32 -mstackrealign"
    export CXX="g++ -m32 -mstackrealign"

    echo "slibdir=/usr/lib32" >> configparms
    echo "rtlddir=/usr/lib32" >> configparms
    echo "sbindir=/usr/bin" >> configparms
    echo "rootsbindir=/usr/bin" >> configparms

    "${srcdir}"/glibc/configure \
        --host=i686-pc-linux-gnu \
        --libdir=/usr/lib32 \
        --libexecdir=/usr/lib32 \
        "${_configure_flags[@]}"

    make -O
  )

  # pregenerate locales here instead of in package
  # functions because localedef does not like fakeroot
  make -C "${srcdir}"/glibc/localedata objdir="${srcdir}"/glibc-build \
    DESTDIR="${srcdir}"/locales install-locale-files
}

# Credits for _skip_test() and check() @allanmcrae
# https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD
_skip_test() {
  test=${1}
  file=${2}
  sed -i "/\b${test} /d" "${srcdir}"/glibc/${file}
}

check() (
  cd glibc-build

  # adjust/remove buildflags that cause false-positive testsuite failures
  sed -i '/FORTIFY/d' configparms                                     # failure to build testsuite
  sed -i 's/-Werror=format-security/-Wformat-security/' config.make   # failure to build testsuite
  sed -i '/CFLAGS/s/-fno-plt//' config.make                           # 16 failures
  sed -i '/CFLAGS/s/-fexceptions//' config.make                       # 1 failure
  LDFLAGS=${LDFLAGS/,-z,now/}                                         # 10 failures

  # The following tests fail due to restrictions in the Arch build system
  # The correct fix is to add the following to the systemd-nspawn call:
  # --system-call-filter="@clock @memlock @pkey"
  _skip_test test-errno-linux        sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-mlock2              sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-ntp_gettime         sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-ntp_gettimex        sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-pkey                sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-process_mrelease    sysdeps/unix/sysv/linux/Makefile
  _skip_test tst-adjtime             time/Makefile

  make -O check
)

package_glibc() {
  pkgdesc='GNU C Library'
  depends=('linux-api-headers>=4.10' tzdata filesystem)
  optdepends=('gd: for memusagestat'
              'perl: for mtrace')
  install=glibc.install
  backup=(etc/gai.conf
          etc/nscd.conf
          etc/locale.gen)

  make -C glibc-build DESTDIR="${pkgdir}" install
  rm -f "${pkgdir}"/etc/ld.so.cache

  # Shipped in tzdata
  rm -f "${pkgdir}"/usr/bin/{tzselect,zdump,zic}

  cd glibc

  install -m644 nscd/nscd.conf "${pkgdir}"/etc/nscd.conf
  install -m644 nscd/nscd.service "${pkgdir}"/usr/lib/systemd/system
  install -m644 nscd/nscd.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/nscd.conf
  install -dm755 "${pkgdir}"/var/db/nscd

  install -dm755 "${pkgdir}"/usr/lib/{locale,systemd/system,tmpfiles.d}

  install -m644 posix/gai.conf "${pkgdir}"/etc/gai.conf

  install -m755 "${srcdir}"/locale-gen "${pkgdir}"/usr/bin

  # Create /etc/locale.gen
  install -m644 "${srcdir}"/locale.gen.txt "${pkgdir}"/etc/locale.gen
  sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \
    localedata/SUPPORTED >> "${pkgdir}"/etc/locale.gen

  # Add SUPPORTED file to pkg
  sed -e '1,3d' -e 's|/| |g' -e 's| \\||g' \
    localedata/SUPPORTED > "${pkgdir}"/usr/share/i18n/SUPPORTED

  # install C.UTF-8 so that it is always available
  # should be built into glibc eventually
  # https://sourceware.org/glibc/wiki/Proposals/C.UTF-8
  # https://bugs.archlinux.org/task/74864
  install -dm755 "${pkgdir}"/usr/lib/locale
  cp -r "${srcdir}"/locales/usr/lib/locale/C.utf8 -t "${pkgdir}"/usr/lib/locale
  sed -i '/#C\.UTF-8 /d' "${pkgdir}"/etc/locale.gen

  # Provide tracing probes to libstdc++ for exceptions, possibly for other
  # libraries too. Useful for gdb's catch command.
  install -Dm644 "${srcdir}"/sdt.h "${pkgdir}"/usr/include/sys/sdt.h
  install -Dm644 "${srcdir}"/sdt-config.h "${pkgdir}"/usr/include/sys/sdt-config.h
}

package_lib32-glibc() {
  pkgdesc='GNU C Library (32-bit)'
  depends=("glibc=$pkgver")
  options+=('!emptydirs')

  cd lib32-glibc-build

  make DESTDIR="${pkgdir}" install
  rm -rf "${pkgdir}"/{etc,sbin,usr/{bin,sbin,share},var}

  # We need to keep 32 bit specific header files
  find "${pkgdir}"/usr/include -type f -not -name '*-32.h' -delete

  # Dynamic linker
  install -d "${pkgdir}"/usr/lib
  ln -s ../lib32/ld-linux.so.2 "${pkgdir}"/usr/lib/

  # Add lib32 paths to the default library search path
  install -Dm644 "${srcdir}"/lib32-glibc.conf "${pkgdir}"/etc/ld.so.conf.d/lib32-glibc.conf

  # Symlink /usr/lib32/locale to /usr/lib/locale
  ln -s ../lib/locale "${pkgdir}"/usr/lib32/locale
}

package_glibc-locales() {
  pkgdesc='Pregenerated locales for GNU C Library'
  depends=("glibc=$pkgver")

  cp -r locales/* -t "${pkgdir}"
  rm -r "${pkgdir}"/usr/lib/locale/C.utf8

  # deduplicate locale data
  hardlink -c "${pkgdir}"/usr/lib/locale
}

Offline

#30 2023-10-21 23:49:41

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

It was compiling and I noticed as it is going I'm getting some:

Oct 21 16:01:16 archlinux systemd[1]: Started Process Core Dump (PID 164049/UID 0).
Oct 21 16:01:16 archlinux systemd-coredump[164050]: Resource limits disable core dumping for process 164048 (ld-linux-x86-64).
Oct 21 16:01:16 archlinux systemd-coredump[164050]: [?] Process 164048 (ld-linux-x86-64) of user 1000 dumped core.
Oct 21 16:01:16 archlinux systemd[1]: systemd-coredump@1-164049-0.service: Deactivated successfully.

It finished after a good amount of time but gave an error

test ! -x /home/blumimic/abs/glibc/src/glibc-build/elf/ldconfig || LC_ALL=C \
  /home/blumimic/abs/glibc/src/glibc-build/elf/ldconfig -r /home/blumimic/abs/glibc/pkg/glibc \
			/usr/lib /usr/lib
make[1]: Leaving directory '/home/blumimic/abs/glibc/src/glibc'
make: Leaving directory '/home/blumimic/abs/glibc/src/glibc-build'
install: cannot create regular file '/home/blumimic/abs/glibc/pkg/glibc/usr/lib/systemd/system': No such file or directory
==> ERROR: A failure occurred in package_glibc().
    Aborting...

Offline

#31 2023-10-22 07:15:45

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

You probably ran OOM during the compilation? Do you have a swap partition/file?

Offline

#32 2023-10-22 07:39:32

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

yeah zram0 partition thingy, 4 gigabyte one made by the archinstaller.

Last edited by Dotslash (2023-10-22 07:40:27)

Offline

#33 2023-10-22 07:45:08

seth
Member
Registered: 2012-09-03
Posts: 53,650

Offline

#34 2023-10-22 08:01:51

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

I did have a game running 100% Orange Juice, should I try again?
Do I need to reset the folder or whatever? If so how?
I was compiling it while under the glibc 2.38-7 packages.

Last edited by Dotslash (2023-10-22 20:12:32)

Offline

#35 2023-10-24 14:43:23

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

Sorry for the delay.
If you haven't done in the meantime, yes you shoudl retry, no you don't have to clean the build first but I highly recommend having some swap space available to avoid another OOM.

If you run into the same issue again, check https://wiki.archlinux.org/title/Core_d … _core_dump (though the previous dump was disabled b/c or recource limits)

Offline

#36 2023-10-25 09:14:15

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

Ok so since my last msg is downgraded glibc back to 2.38-3, but I got the same errors in journalctl

Oct 25 01:22:53 archlinux systemd[1]: Created slice Slice /system/systemd-coredump.
Oct 25 01:22:53 archlinux systemd[1]: Started Process Core Dump (PID 93481/UID 0).
Oct 25 01:22:53 archlinux systemd-coredump[93482]: Resource limits disable core dumping for process 93480 (ld-linux-x86-64).
Oct 25 01:22:53 archlinux systemd-coredump[93482]: [?] Process 93480 (ld-linux-x86-64) of user 1000 dumped core.
Oct 25 01:22:53 archlinux systemd[1]: systemd-coredump@0-93481-0.service: Deactivated successfully.
Oct 25 01:22:53 archlinux systemd[1]: Started Process Core Dump (PID 93487/UID 0).
Oct 25 01:22:53 archlinux systemd-coredump[93491]: Resource limits disable core dumping for process 93485 (ld-linux-x86-64).
Oct 25 01:22:53 archlinux systemd-coredump[93491]: [?] Process 93485 (ld-linux-x86-64) of user 1000 dumped core.
Oct 25 01:22:53 archlinux systemd[1]: systemd-coredump@1-93487-0.service: Deactivated successfully.
Oct 25 01:22:53 archlinux systemd[1]: Started Process Core Dump (PID 93495/UID 0).
Oct 25 01:22:53 archlinux systemd-coredump[93501]: Resource limits disable core dumping for process 93494 (ld-linux-x86-64).

This time I closed everything but gnome-system-monitor.
I looked at it a few times and it seemed like ram usage was round 1.0 GB ( I have 2x8 GB sticks) It was also saying swap was maybe 1.0 MB?
What is this part about btw?

install: cannot create regular file '/home/blumimic/abs/glibc/pkg/glibc/usr/lib/systemd/system': No such file or directory

Does it matter than I was using guake to compile?

I wonder if should try running memtest86+ also.

Last edited by Dotslash (2023-10-25 09:31:20)

Offline

#37 2023-10-25 15:18:00

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

You're trying to install (copy) a file that wasn't created (because the linker crashed) - the TE doesn't matter, technically not even the shell should, but I would not put it past fish or OMZ…

Instead of the journal etries, indicating the failed coredump, post the log of the build (particularily the error parts…)

Offline

#38 2023-10-25 23:44:30

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

What log are you wanting me to post? Are you talking about using makepkg -L? If so which file glibc-2.38-7-x86_64-build.log which is about 13M, glibc-2.38-7-x86_64-check.log 12M, glibc-2.38-7-x86_64-package_glibc.log 436K, or glibc-2.38-7-x86_64-prepare.log which is 25B

Or that coredumpctl commands? I don't really understand what I should use from that wiki page. I see alot of entries but they all have none under corefile

sudo coredumpctl debug 2197386

           PID: 2197386 (ld-linux-x86-64)
           UID: 1000 (blumimic)
           GID: 1000 (blumimic)
        Signal: 6 (ABRT)
     Timestamp: Wed 2023-10-25 15:31:27 PDT (39min ago)
  Command Line: /home/blumimic/abs/glibc/src/glibc-build/elf/ld-linux-x86-64.so.2 --library-path /home/blumimic/abs/glibc/src/glibc-build:/home/blumimic/abs/glibc/src/glibc-build/math:/home/blumimic/abs/glibc/src/glibc-build/elf:/home/blumimic/abs/glibc/src/glibc-build/dlfcn:/home/blumimic/abs/glibc/src/glibc-build/nss:/home/blumimic/abs/glibc/src/glibc-build/nis:/home/blumimic/abs/glibc/src/glibc-build/rt:/home/blumimic/abs/glibc/src/glibc-build/resolv:/home/blumimic/abs/glibc/src/glibc-build/mathvec:/home/blumimic/abs/glibc/src/glibc-build/support:/home/blumimic/abs/glibc/src/glibc-build/nptl /home/blumimic/abs/glibc/src/glibc-build/debug/tst-ssp-1
    Executable: /home/blumimic/abs/glibc/src/glibc-build/elf/ld.so
 Control Group: /user.slice/user-1000.slice/session-2.scope
          Unit: session-2.scope
         Slice: user-1000.slice
       Session: 2
     Owner UID: 1000 (blumimic)
       Boot ID: 07cbbc95f23e43049b04400f9c77cfb1
    Machine ID: 8c8ada6f72d044358cee09e86131f36f
      Hostname: archlinux
       Storage: none
       Message: Process 2197386 (ld-linux-x86-64) of user 1000 dumped core.

Coredump entry has no core attached (neither internally in the journal nor externally on disk).

I kinda wonder if a package that updated might have fixed my problem? I haven't tried updating lately.
Maybe the vulkan-icd-loader or xorg? https://lists.x.org/archives/xorg-annou … 03430.html

I notice I have vulkan-headers installed what is it even for? I notice it is at version 1:1.3.264-2 while vulkan-icd-loader 1.3.263-1 & lib32-vulkan-icd-loader 1.3.263-1

I also remember that slay the spire didn't have the original error it's the only native game it seems while everything else seems to be using dxvk. I'm not totally sure though.

I'm also curious about the text at the bottom of glibc-2.38-7-x86_64-package_glibc.log is kinda broken in nano "^[[1m       Aborting...^[(B^[[m" and pluma has some squares with numbers and such in it, but cat shows correctly.

In journalctl when I get those "systemd-coredump[2183825]: [?] Process 2183818 (ld-linux-x86-64) of user 1000 dumped core" there's a square with numbers and such too before the P in Process.

This is nothing right?

Last edited by Dotslash (2023-10-25 23:57:20)

Offline

#39 2023-10-27 19:51:29

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

There're no coredumps b/c of

Resource limits disable core dumping for process 93494 (ld-linux-x86-64).

"^[[1m" and such are escape sequences (for bold text, in this case)

The relevant text is aaaaalll the stuf that's printed by gcc when building glibc.
Start by uploading the glibc-2.38-7-x86_64-package_glibc.log - if that's insufficient you'd have to either tee or script the process.

Offline

#40 2023-10-27 21:43:43

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

Ok here https://pastebin.com/ruKNAqQH
btw am I supposed to be running sudo mkinitcpio -P after updating nvidia driver? I saw someone having a problem because they forgot to run that. Or does it run automatically?

Last edited by Dotslash (2023-10-28 06:25:44)

Offline

#41 2023-10-28 06:30:13

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

Or does it run automatically?

No, but you can make it: https://wiki.archlinux.org/title/NVIDIA#pacman_hook

Offline

#42 2023-10-28 07:50:51

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

There're actually no obvious errors w/ the build itself…

install: cannot create regular file '/home/blumimic/abs/glibc/pkg/glibc/usr/lib/systemd/system': No such file or directory

But the instruction is

install -dm755 "${pkgdir}"/usr/lib/{locale,systemd/system,tmpfiles.d}

-d, --directory
              treat all arguments as directory names; create all components of the specified  di‐
              rectories

type install

Offline

#43 2023-11-05 12:11:55

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

I seems to have figured out how to prevent the 3 errors, they all appear to happen because I run steam from the xfce menu or should I say the application finder.
If I run steam from a terminal they don't show up.

1 - Unhandled error in __nv_drm_gem_user_memory_handle_vma_fault: -22 (and everything after)
2 - Cannot map memory with base addr 0x7fcfafe3a000 and size of 0x39 pages
3 - #0  0x00007fc4dc8ad6f4 n/a (/run/host/usr/lib/libnvidia-glvkspirv.so.535.113.01 + 0x10ad6f4)

The first error happens when I run steam for the first time from the menu
The second happens when steam launches, when I run a game, and when I click something in steam. Like opening the friend's list.
The third error seem to happen when closing any game using vulkan? I'm not totally sure.

Also the first error happens if don't set nvidia_drm.modeset=1

If I do set nvidia_drm.modeset=1 I then get a different error when trying to launch steam from the application finder. Steam doesn't actually load. (error at the bottom of the post)

When searching the first line: kernel BUG at drivers/gpu/drm/drm_gem.c I came across maybe a few threads, this one gave me the idea of running steam in a terminal.
https://github.com/ValveSoftware/steam- … ssues/8276
It mentioned running steam in a terminal or removing PrefersNonDefaultGPU=true or changing it to false

I haven't tried to edit PrefersNonDefaultGPU=true in the steam.desktop file. Mostly because there are two /usr/share/applications/steam.desktop & /usr/lib/steam/steam.desktop
I guess I can just edit both. I'll try at some point.

I was also able to reupdate glibc and lib32-glibc to 2.38-7 and not have that crash on exit when running steam from the terminal.
If I run steam from the application finder the crash on exit happens again along with all the other errors.

Nov 02 04:03:06 archlinux kernel: ------------[ cut here ]------------
Nov 02 04:03:06 archlinux kernel: kernel BUG at drivers/gpu/drm/drm_gem.c:155!
Nov 02 04:03:06 archlinux kernel: invalid opcode: 0000 [#1] PREEMPT SMP PTI
Nov 02 04:03:06 archlinux kernel: CPU: 6 PID: 2222 Comm: steam Tainted: P           OE      6.1.60-1-lts #1 788389645ca0dfa4ffa30b1532df8c1764b26b03
Nov 02 04:03:06 archlinux kernel: Hardware name: ASUS System Product Name/ROG STRIX Z370-H GAMING, BIOS 2701 07/13/2021
Nov 02 04:03:06 archlinux kernel: RIP: 0010:drm_gem_private_object_init+0xa5/0xb0
Nov 02 04:03:06 archlinux kernel: Code: e9 03 f3 48 ab 48 8d 83 38 01 00 00 48 89 83 38 01 00 00 48 89 83 40 01 00 00 5b 5d c3 cc cc cc cc 48 89 ab f8 00 00 00 eb ae <0f> 0b 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 0f 1f 44 00 00 55 48
Nov 02 04:03:06 archlinux kernel: RSP: 0018:ffffab204600fc30 EFLAGS: 00010206
Nov 02 04:03:06 archlinux kernel: RAX: ffff9cafc628f000 RBX: ffff9cb06aa37400 RCX: 0000000000000200
Nov 02 04:03:06 archlinux kernel: RDX: 0000000000000200 RSI: ffff9cb06aa37400 RDI: ffff9cafc628f000
Nov 02 04:03:06 archlinux kernel: RBP: ffff9cafc62a9c00 R08: ffff9cb06d58fb88 R09: ffffffffc06c7900
Nov 02 04:03:06 archlinux kernel: R10: ffffffffc3e57728 R11: ffffffffc3e57728 R12: ffff9cb06d58fb88
Nov 02 04:03:06 archlinux kernel: R13: 0000000000000200 R14: ffff9cafc62a9c00 R15: ffffffffc06ce120
Nov 02 04:03:06 archlinux kernel: FS:  0000000000000000(0000) GS:ffff9cb31eb80000(0063) knlGS:00000000f7c94b80
Nov 02 04:03:06 archlinux kernel: CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
Nov 02 04:03:06 archlinux kernel: CR2: 0000000057d49000 CR3: 00000001b3906003 CR4: 00000000003706e0
Nov 02 04:03:06 archlinux kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Nov 02 04:03:06 archlinux kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Nov 02 04:03:06 archlinux kernel: Call Trace:
Nov 02 04:03:06 archlinux kernel:  <TASK>
Nov 02 04:03:06 archlinux kernel:  ? __die_body.cold+0x1a/0x1f
Nov 02 04:03:06 archlinux kernel:  ? die+0x2e/0x50
Nov 02 04:03:06 archlinux kernel:  ? do_trap+0xc9/0x110
Nov 02 04:03:06 archlinux kernel:  ? drm_gem_private_object_init+0xa5/0xb0
Nov 02 04:03:06 archlinux kernel:  ? do_error_trap+0x6a/0x90
Nov 02 04:03:06 archlinux kernel:  ? drm_gem_private_object_init+0xa5/0xb0
Nov 02 04:03:06 archlinux kernel:  ? exc_invalid_op+0x50/0x70
Nov 02 04:03:06 archlinux kernel:  ? drm_gem_private_object_init+0xa5/0xb0
Nov 02 04:03:06 archlinux kernel:  ? asm_exc_invalid_op+0x1a/0x20
Nov 02 04:03:06 archlinux kernel:  ? drm_gem_private_object_init+0xa5/0xb0
Nov 02 04:03:06 archlinux kernel:  __nv_drm_nvkms_gem_obj_init+0xb9/0x100 [nvidia_drm 6a538190fc38e3b117777b35aaa3564e870bf80f]
Nov 02 04:03:06 archlinux kernel:  nv_drm_gem_import_nvkms_memory_ioctl+0xa5/0x140 [nvidia_drm 6a538190fc38e3b117777b35aaa3564e870bf80f]
Nov 02 04:03:06 archlinux kernel:  ? nv_drm_dumb_create+0x1c0/0x1c0 [nvidia_drm 6a538190fc38e3b117777b35aaa3564e870bf80f]
Nov 02 04:03:06 archlinux kernel:  drm_ioctl_kernel+0xca/0x170
Nov 02 04:03:06 archlinux kernel:  drm_ioctl+0x239/0x420
Nov 02 04:03:06 archlinux kernel:  ? nv_drm_dumb_create+0x1c0/0x1c0 [nvidia_drm 6a538190fc38e3b117777b35aaa3564e870bf80f]
Nov 02 04:03:06 archlinux kernel:  __ia32_compat_sys_ioctl+0xd3/0x1b0
Nov 02 04:03:06 archlinux kernel:  __do_fast_syscall_32+0x86/0xe0
Nov 02 04:03:06 archlinux kernel:  ? nvidia_ioctl+0x358/0x870 [nvidia 375cfd1a33cec3a6fadbee27a35fb96bd03c7ebd]
Nov 02 04:03:06 archlinux kernel:  ? nvidia_frontend_compat_ioctl+0x39/0x50 [nvidia 375cfd1a33cec3a6fadbee27a35fb96bd03c7ebd]
Nov 02 04:03:06 archlinux kernel:  ? __ia32_compat_sys_ioctl+0x135/0x1b0
Nov 02 04:03:06 archlinux kernel:  ? syscall_exit_to_user_mode+0x2b/0x40
Nov 02 04:03:06 archlinux kernel:  ? __do_fast_syscall_32+0x95/0xe0
Nov 02 04:03:06 archlinux kernel:  ? syscall_exit_to_user_mode+0x2b/0x40
Nov 02 04:03:06 archlinux kernel:  ? __do_fast_syscall_32+0x95/0xe0
Nov 02 04:03:06 archlinux kernel:  ? __do_fast_syscall_32+0x95/0xe0
Nov 02 04:03:06 archlinux kernel:  do_fast_syscall_32+0x33/0x80
Nov 02 04:03:06 archlinux kernel:  entry_SYSENTER_compat_after_hwframe+0x71/0x83
Nov 02 04:03:06 archlinux kernel: RIP: 0023:0xf7f0d549
Nov 02 04:03:06 archlinux kernel: Code: 03 74 c0 01 10 05 03 74 b8 01 10 06 03 74 b4 01 10 07 03 74 b0 01 10 08 03 74 d8 01 00 00 00 00 00 51 52 55 89 e5 0f 34 cd 80 <5d> 5a 59 c3 cc 90 90 90 8d b4 26 00 00 00 00 8d b4 26 00 00 00 00
Nov 02 04:03:06 archlinux kernel: RSP: 002b:00000000ffa9bfd4 EFLAGS: 00000286 ORIG_RAX: 0000000000000036
Nov 02 04:03:06 archlinux kernel: RAX: ffffffffffffffda RBX: 0000000000000010 RCX: 00000000c0206441
Nov 02 04:03:06 archlinux kernel: RDX: 00000000ffa9c080 RSI: 00000000f7c43e34 RDI: 00000000c0206441
Nov 02 04:03:06 archlinux kernel: RBP: 0000000000000010 R08: 0000000000000000 R09: 0000000000000000
Nov 02 04:03:06 archlinux kernel: R10: 0000000000000000 R11: 0000000000000286 R12: 0000000000000000
Nov 02 04:03:06 archlinux kernel: R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
Nov 02 04:03:06 archlinux kernel:  </TASK>
Nov 02 04:03:06 archlinux kernel: Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device ccm algif_aead cbc des_generic libdes nct6775 ecb nct6775_core hwmon_vid algif_skcipher cmac md4 algif_hash af_alg ip6t_REJECT nf_reject_ipv6 xt_hl ip6t_rt ipt_REJECT nf_reject_ipv4 xt_LOG nf_log_syslog xt_limit xt_addrtype xt_tcpudp xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c ip6table_filter ip6_tables iptable_filter nvidia_drm(POE) nvidia_modeset(POE) pkcs8_key_parser nvidia_uvm(POE) intel_rapl_msr intel_rapl_common intel_tcc_cooling x86_pkg_temp_thermal intel_powerclamp snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi ath9k coretemp ath9k_common crct10dif_pclmul crc32_pclmul ath9k_hw polyval_clmulni snd_hda_intel snd_intel_dspcfg polyval_generic mousedev joydev ath gf128mul snd_intel_sdw_acpi ghash_clmulni_intel snd_hda_codec sha512_ssse3 mac80211 aesni_intel crypto_simd cryptd iTCO_wdt eeepc_wmi snd_hda_core libarc4 intel_pmc_bxt asus_wmi nvidia(POE) snd_hwdep mei_hdcp
Nov 02 04:03:06 archlinux kernel:  mei_pxp ledtrig_audio rapl snd_pcm iTCO_vendor_support ee1004 sparse_keymap snd_timer intel_cstate cfg80211 platform_profile mei_me vfat snd i2c_i801 fat wmi_bmof video mxm_wmi intel_uncore pcspkr e1000e usbhid rfkill mei soundcore i2c_smbus wmi acpi_pad mac_hid lzo_rle fuse loop dm_mod zram bpf_preload ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 nvme nvme_core crc32c_intel xhci_pci nvme_common xhci_pci_renesas
Nov 02 04:03:06 archlinux kernel: ---[ end trace 0000000000000000 ]---
Nov 02 04:03:06 archlinux kernel: RIP: 0010:drm_gem_private_object_init+0xa5/0xb0
Nov 02 04:03:06 archlinux kernel: Code: e9 03 f3 48 ab 48 8d 83 38 01 00 00 48 89 83 38 01 00 00 48 89 83 40 01 00 00 5b 5d c3 cc cc cc cc 48 89 ab f8 00 00 00 eb ae <0f> 0b 66 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 0f 1f 44 00 00 55 48
Nov 02 04:03:06 archlinux kernel: RSP: 0018:ffffab204600fc30 EFLAGS: 00010206
Nov 02 04:03:06 archlinux kernel: RAX: ffff9cafc628f000 RBX: ffff9cb06aa37400 RCX: 0000000000000200
Nov 02 04:03:06 archlinux kernel: RDX: 0000000000000200 RSI: ffff9cb06aa37400 RDI: ffff9cafc628f000
Nov 02 04:03:06 archlinux kernel: RBP: ffff9cafc62a9c00 R08: ffff9cb06d58fb88 R09: ffffffffc06c7900
Nov 02 04:03:06 archlinux kernel: R10: ffffffffc3e57728 R11: ffffffffc3e57728 R12: ffff9cb06d58fb88
Nov 02 04:03:06 archlinux kernel: R13: 0000000000000200 R14: ffff9cafc62a9c00 R15: ffffffffc06ce120
Nov 02 04:03:06 archlinux kernel: FS:  0000000000000000(0000) GS:ffff9cb31eb80000(0063) knlGS:00000000f7c94b80
Nov 02 04:03:06 archlinux kernel: CS:  0010 DS: 002b ES: 002b CR0: 0000000080050033
Nov 02 04:03:06 archlinux kernel: CR2: 0000000057d49000 CR3: 00000001b3906003 CR4: 00000000003706e0
Nov 02 04:03:06 archlinux kernel: DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Nov 02 04:03:06 archlinux kernel: DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400

Last edited by Dotslash (2023-11-05 12:17:49)

Offline

#44 2023-11-05 12:44:33

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

You'll most likely have some environment in the inteactive shell that doesn't exist in the context of the application finder or vv.
You can check the environment of either steam processes or the application finder around

tr '\0' '\n' < /proc/$(pidof something)/environ

and for the interactive shell simply "printenv"

Offline

#45 2023-11-05 23:28:22

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

Ok I think I did this right.

guake

SHELL=/bin/bash
SESSION_MANAGER=local/archlinux:@/tmp/.ICE-unix/862,unix/archlinux:/tmp/.ICE-unix/862
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_MENU_PREFIX=xfce-
SSH_AUTH_SOCK=/tmp/ssh-XXXXXXiXz4Al/agent.944
DESKTOP_SESSION=xfce
SSH_AGENT_PID=945
GTK_MODULES=canberra-gtk-module:canberra-gtk-module
XDG_SEAT=seat0
GUAKE_TAB_UUID=26c182ad-5469-4ef1-9f65-7582281a3ec2
PWD=/home/blumimic
LOGNAME=blumimic
XDG_SESSION_DESKTOP=xfce
XDG_SESSION_TYPE=x11
XAUTHORITY=/home/blumimic/.Xauthority
DESKTOP_STARTUP_ID=xfce4-session/guake/862-0-archlinux_TIME0
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/blumimic
MOTD_SHOWN=pam
HOME=/home/blumimic
LANG=en_US.UTF-8
XDG_CURRENT_DESKTOP=XFCE
VTE_VERSION=7401
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
TERM=xterm-256color
USER=blumimic
DISPLAY=:0.0
SHLVL=1
XDG_VTNR=7
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
GTK3_MODULES=xapp-gtk3-module:xapp-gtk3-module
XDG_DATA_DIRS=/usr/local/share:/usr/share
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
GDMSESSION=xfce
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/blumimic
TERM_PROGRAM=guake
_=/usr/bin/printenv

xfce application finder run on the bash process which runs ~/.local/share/Steam/steam.sh

SHELL=/bin/bash
SESSION_MANAGER=local/archlinux:@/tmp/.ICE-unix/862,unix/archlinux:/tmp/.ICE-unix/862
XDG_CONFIG_DIRS=/etc/xdg
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_MENU_PREFIX=xfce-
SSH_AUTH_SOCK=/tmp/ssh-XXXXXXiXz4Al/agent.944
DESKTOP_SESSION=xfce
SSH_AGENT_PID=945
GTK_MODULES=canberra-gtk-module:canberra-gtk-module
XDG_SEAT=seat0
PWD=/home/blumimic/.local/share/Steam
XDG_SESSION_DESKTOP=xfce
LOGNAME=blumimic
XDG_SESSION_TYPE=x11
XAUTHORITY=/home/blumimic/.Xauthority
STEAMSCRIPT_VERSION=1.0.0.78
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/blumimic
MOTD_SHOWN=pam
HOME=/home/blumimic
LANG=en_US.UTF-8
XDG_CURRENT_DESKTOP=XFCE
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
USER=blumimic
DISPLAY=:0.0
SHLVL=0
XDG_VTNR=7
XDG_SESSION_ID=2
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
STEAMSCRIPT=/usr/lib/steam/steam
GTK3_MODULES=xapp-gtk3-module:xapp-gtk3-module
XDG_DATA_DIRS=/usr/local/share:/usr/share
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
__GLX_VENDOR_LIBRARY_NAME=nvidia
GDMSESSION=xfce
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
__VK_LAYER_NV_optimus=NVIDIA_only
MAIL=/var/spool/mail/blumimic
__NV_PRIME_RENDER_OFFLOAD=1
OLDPWD=/home/blumimic
TEXTDOMAIN=steam

Offline

#46 2023-11-06 09:01:04

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

__GLX_VENDOR_LIBRARY_NAME=nvidia
__VK_LAYER_NV_optimus=NVIDIA_only
__NV_PRIME_RENDER_OFFLOAD=1

Do you run the game on the nvidia GPU itfp when starting it from the terminal?
Where do the above environment variables come from?

Offline

#47 2023-11-06 11:44:33

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

I don't know if I fully understand what you are asking me, but I'm using a desktop that I built and the mother board is a asus rog strix z370-h. It does have integrated graphics but I've never used it.

In the post that copied from I just opened the application finder and ran steam, then I used the one command.

tr '\0' '\n' < /proc/36241/environ

I did have to used the pid of bash, the one that shows up when I run steam.
If I mouse over it I see it says "bash /home/blumimic/.local/share/Steam/steam.sh
If I run in on the steam's pid I just get "bash: /proc/36361/environ: Permission denied"

I don't know where those environment variables came from. I don't know how to set up such a thing for a menu item. I've never typed or pasted those into a file or terminal either.

Is it possible I have something installed that set them? Heres a pacman -Qs if you wanted to look https://pastebin.com/fSEGRKmW
I don't seem to have any optimus or prime package installed.

It's probably nothing I did notice one thing when looking at https://wiki.archlinux.org/title/Vulkan.
It says "To see which Vulkan implementations are currently installed on your system, use the following command: $ ls /usr/share/vulkan/icd.d/" which has nvidia_icd.json.
I also noticed /usr/share/vulkan/implicit_layer.d/nvidia_layers.json which has (It was installed from nvidia-utils)

{
    "file_format_version" : "1.0.0",
    "layer": {
        "name": "VK_LAYER_NV_optimus",
        "type": "INSTANCE",
        "library_path": "libGLX_nvidia.so.0",
        "api_version" : "1.3.242",
        "implementation_version" : "1",
        "description" : "NVIDIA Optimus layer",
        "functions": {
            "vkGetInstanceProcAddr": "vk_optimusGetInstanceProcAddr",
            "vkGetDeviceProcAddr": "vk_optimusGetDeviceProcAddr"
        },
        "enable_environment": {
            "__NV_PRIME_RENDER_OFFLOAD": "1"
        },
        "disable_environment": {
            "DISABLE_LAYER_NV_OPTIMUS_1": ""
        }
    }
}

I doubt this is anything either, but I'm also reminded when I first installed I forgot an attempt at a comment In a file in /etc/X11/xorg.conf.d/50-mouse.conf that prevented lightdm from running.
I uninstalled the nvidia packages in an attempt to fix this. After editing that file I was able to get into xfce, but I forgot to reinstall it until after I ran nvidia-settings and saw that it was empty. I reinstalled nvidia package and rebooted.

Seems like something making the system think I have hybrid graphics or whatever? I don't know much about that sort of thing. I've never used a laptop very much and never installed linux on one.

Last edited by Dotslash (2023-11-06 11:45:47)

Offline

#48 2023-11-06 15:43:02

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

It does have integrated graphics but I've never used it.

glxinfo -B

Also please post your Xorg log, https://wiki.archlinux.org/title/Xorg#General

If I run in on the steam's pid I just get "bash: /proc/36361/environ: Permission denied"

https://imgs.xkcd.com/comics/sandwich.png

Offline

#49 2023-11-07 01:46:18

Dotslash
Member
Registered: 2012-02-02
Posts: 62

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

glxinfo -B gives

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4096 MB
    Total available memory: 4096 MB
    Currently available dedicated video memory: 3953 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 970/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 535.113.01
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 535.113.01
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 535.113.01
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Here's Xorg.0.log without nvidia_drm.modeset=1 https://pastebin.com/RZeXN7Fq
Here's Xorg.0.logo with nvidia_drm.modeset=1 https://pastebin.com/68XMUk5S
Here's Xorg.0.log.old with nvidia_drm.modeset=1 If you wanted to see it too https://pastebin.com/32raRd9h

For that permission denied that was when I ran with the kernel option of "nvidia_drm.modeset=1" and steam won't even run, it shows Zombie as the status in gnome-system-monitor. Using sudo just gives nothing, no error or anything. (Although I did use sudo cat /proc/1510/environ)

If I boot without "nvidia_drm.modeset=1" I do appear to get a bit more info when I use "tr '\0' '\n' < /proc/1388/environ" on the steam process

[blumimic@archlinux ~]$ tr '\0' '\n' < /proc/1388/environ
SHELL=/bin/bash
SESSION_MANAGER=local/archlinux:@/tmp/.ICE-unix/860,unix/archlinux:/tmp/.ICE-unix/860
XDG_CONFIG_DIRS=/etc/xdg
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_MENU_PREFIX=xfce-
SDL_VIDEO_X11_DGAMOUSE=0
TEXTDOMAINDIR=/usr/share/locale
SSH_AUTH_SOCK=/tmp/ssh-XXXXXXFM372W/agent.943
STEAM_RUNTIME=/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime
SYSTEM_LD_LIBRARY_PATH=
DESKTOP_SESSION=xfce
SSH_AGENT_PID=944
GTK_MODULES=canberra-gtk-module:canberra-gtk-module
XDG_SEAT=seat0
PWD=/home/blumimic/.local/share/Steam
LOGNAME=blumimic
XDG_SESSION_DESKTOP=xfce
STEAM_ZENITY=/usr/bin/zenity
XDG_SESSION_TYPE=x11
SYSTEM_PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
XAUTHORITY=/home/blumimic/.Xauthority
STEAMSCRIPT_VERSION=1.0.0.78
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/blumimic
MOTD_SHOWN=pam
HOME=/home/blumimic
LANG=en_US.UTF-8
XDG_CURRENT_DESKTOP=XFCE
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
USER=blumimic
DISPLAY=:0.0
SHLVL=1
XDG_VTNR=7
XDG_SESSION_ID=2
LD_LIBRARY_PATH=/home/blumimic/.local/share/Steam/ubuntu12_32:/home/blumimic/.local/share/Steam/ubuntu12_32/panorama:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/libfakeroot:/usr/lib32:/usr/lib:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib
XDG_RUNTIME_DIR=/run/user/1000
DEBUGINFOD_URLS=https://debuginfod.archlinux.org 
STEAMSCRIPT=/usr/lib/steam/steam
GTK3_MODULES=xapp-gtk3-module:xapp-gtk3-module
XDG_DATA_DIRS=/usr/local/share:/usr/share
SYSTEM_ZENITY=/usr/bin/zenity
PATH=/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/bin:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
__GLX_VENDOR_LIBRARY_NAME=nvidia
GDMSESSION=xfce
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
__VK_LAYER_NV_optimus=NVIDIA_only
MAIL=/var/spool/mail/blumimic
__NV_PRIME_RENDER_OFFLOAD=1
OLDPWD=/home/blumimic/.local/share/Steam
STEAM_RUNTIME_LIBRARY_PATH=/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64:/usr/lib/libfakeroot:/usr/lib32:/usr/lib:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/lib/i386-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/i386-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/lib/x86_64-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/lib:/home/blumimic/.local/share/Steam/ubuntu12_32/steam-runtime/usr/lib
TEXTDOMAIN=steam
_=/home/blumimic/.local/share/Steam/ubuntu12_32/steam
[blumimic@archlinux ~]$

Last edited by Dotslash (2023-11-07 01:58:01)

Offline

#50 2023-11-07 08:35:11

seth
Member
Registered: 2012-09-03
Posts: 53,650

Re: [SOLVED] journalctl segmentation fault libnvidia-glvkspirv.so

You have only one (the nvidia) GPU, adding "nvidia_drm.modeset=1" to the kernel parameters would be a good idea under any circumstances and I suspect that the pointless prime activation relates to the segfaults.

cat /usr/lib/steam/steam.desktop
cat /usr/share/applications/steam.desktop

Offline

Board footer

Powered by FluxBB