App crashes after launch with latest snap build

We haven’t made any changes to our snapcraft.yaml file for more than 9 months, and from last 4-5 days the snap build failed once. So we ran snapcraft clean and then build the package successfully. But when we launch the app, it crashes with the following error message:

libEGL fatal: did not find extension DRI_Mesa version 1

It is flutter app that uses python based opencv. Any help would be appreciated. Here is the snapcraft.yaml file:

name: appname
version: git
summary: App
description: App
confinement: strict
base: core22
grade: stable
compression: lzo
license: GPL-3.0+
icon: snap/gui/app-name.png
architectures:
  - build-on: amd64

slots:
  dbus:
interface: dbus
name: com.app.app_name
bus: session

parts:
  flutter-git:
source: https://github.com/flutter/flutter.git
source-branch: stable
source-depth: 1
plugin: nil
override-build: |
  mkdir -p $CRAFT_PART_INSTALL/usr/bin
  mkdir -p $CRAFT_PART_INSTALL/usr/libexec
  cp -r $CRAFT_PART_SRC $CRAFT_PART_INSTALL/usr/libexec/flutter
  ln -s $CRAFT_PART_INSTALL/usr/libexec/flutter/bin/flutter $CRAFT_PART_INSTALL/usr/bin/flutter
  ln -s $CRAFT_PART_INSTALL/usr/libexec/flutter/bin/dart $CRAFT_PART_INSTALL/usr/bin/dart
build-packages:
  - clang
  - cmake
  - curl
  - ninja-build
  - unzip
  - xz-utils
  - zip
override-prime: ""

  alsa-mixin:
after: [flutter-git]
plugin: dump
source: https://github.com/diddlesnaps/snapcraft-alsa.git
source-subdir: snapcraft-assets
build-packages:
  - libasound2-dev
stage-packages:
  - libasound2
  - libasound2-plugins
  - yad
stage:
  # restrict to only audio-related files - you need to ensure
  # that gtk3 is staged for yad to work correctly, to prompt
  # users to connect the alsa plug or proceed with pulseaudio.
  #
  # This helps prevent symbol conflicts in situations where
  # you're using a non-default library, such as those that the
  # gnome-3-34 extension for core18 provides.
  - etc/asound.conf
  - snap/command-chain/alsa-launch
  - usr/bin/yad*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/alsa-lib
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libasound*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libdnsfile*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libFLAC*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libjack*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libpulse*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libsamplerate*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libspeex*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/libvorbis*
  - usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio

  app-name:
after: [alsa-mixin]
plugin: python
source: .
build-environment:
  - SNAPCRAFT_PYTHON_INTERPRETER: python3.10
override-build: |
  set -eux
  flutter channel stable
  flutter upgrade
  flutter config --enable-linux-desktop
  flutter doctor
  flutter clean
  flutter pub get
  flutter build linux --release -v
  mkdir -p $CRAFT_PART_INSTALL/bin/
  cp -r build/linux/*/release/bundle/* $CRAFT_PART_INSTALL/bin/
build-packages:
  - libgl1
  - vlc
  - libvlc-dev
  - python3-dev
  - python3-pip
  - pulseaudio
  - libgtk-3-0
stage-packages:
  - libgl1
  - vlc
  - libvlc-dev
  - python3-dev
  - python3-pip
  - libgtk-3-0
  - pulseaudio
  - chromium-browser
override-prime: |
  mkdir -p usr/lib/python3.10/site-packages
  python3 -m pip install autopep8 numpy opencv-python==4.6.0.66 pandas pycodestyle python-dateutil pytz six toml -t usr/lib/python3.10/site-packages/
  snapcraftctl prime
prime:
  - -usr/lib/python3.10
  
  desktop-resources:
plugin: dump
source: snap/gui/
organize:
  app-name.desktop: usr/share/applications/app-name.desktop
  app-name.png: usr/share/icons/app-name.png
stage:
  - usr/share/applications/app-name.desktop
  - usr/share/icons/app-name.png

layout:
  /usr/lib/$SNAPCRAFT_ARCH_TRIPLET/alsa-lib:
bind: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/alsa-lib
  /usr/share/alsa:
bind: $SNAP/usr/share/alsa

apps:
  app-name:
command: bin/app_name
command-chain: ["snap/command-chain/alsa-launch"]
environment:
  ALWAYS_USE_PULSEAUDIO: "1"
  # setup path to find and use packaged python3 in snap
  PATH: "$SNAP/usr/lib:$SNAP/usr/sbin:$SNAP/usr/bin:$SNAP/sbin:$SNAP/bin:$PATH:/snap/core22/current/usr/bin:/snap/bin"
  #   # fixup pythonpath to find modules, for some reason
  #   # 'lib/python3.10/site-packages' is not added by default
  #   # add two more host paths for users to install modules in
  PYTHONPATH: "$SNAP/lib/python3.10/site-packages:\
    $HOME/.local/lib/python3.10/site-packages:\
    $SNAP/usr/lib/python3.10/site-packages:\
    /lib/python3.10/site-packages"
desktop: usr/share/applications/app-name.desktop
autostart: app-name.desktop
extensions: [gnome]
plugs:
  - alsa
  - audio-playback
  - camera
  - desktop
  - desktop-legacy
  - gsettings
  - home
  - network
  - pulseaudio
  - x11
1 Like