Skip to content

Audio rips not working #1

@Ramblurr

Description

@Ramblurr

First: thanks for taking the time to package ARM and make the nixos module. Given how many commtis you've made to your fork, it looks like it was quite a lot of work.

I want to rip audio cds with ARM.

I had to apply several workarounds to get to this point, but now I am stuck.

Here is my full config
{
  config,
  lib,
  pkgs,
  ...
}:

let
  baseFolder = "/srv/data/media/rips";
  configFolder = "/etc/arm";
  handbrakeArgs = preset: "--preset-import-file '${configFolder}/handbrake/${preset}.json'";
  HB_PRESET_DVD = "MKV 720p30 x265";
  uid = 950;
  HB_PRESET_BD = "MKV 1080p30 x265";

  # Adding these pkgs to the systemd service's path was the main workarounds i've added
  extraPkgs = [
    pkgs.abcde
    pkgs.ffmpeg-headless
    pkgs.handbrake
    pkgs.cdparanoia
    pkgs.git
    pkgs.hostname
    pkgs.gawk
    pkgs.diffutils
  ];
in
{

  sops.secrets.omdb_api_key = { };

  users.groups.media = {
    gid = 2000;
    members = [ "ramblurr" ];
  };
  users.users.arm = {
    inherit uid;
  };

  systemd.services."arm@".serviceConfig.ReadWritePaths = [
    "/srv/data/media/movies"
    "/srv/data/media/shows"
    "/srv/data/media/audio"
  ];
  systemd.tmpfiles.settings."50-arm-handbrake-presets" = {
    "/srv/data/media/shows".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "/srv/data/media/audio".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "/srv/data/media/movies".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "/srv/data/media".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "${baseFolder}".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "${baseFolder}/transcoded".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "${baseFolder}/raw".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "${baseFolder}/completed".d = {
      mode = "2770";
      user = "ramblurr";
      group = "media";
    };
    "${configFolder}/handbrake"."L+".argument = toString ./handbrake;
    "${baseFolder}/completed/movies"."L+".argument = "/srv/data/media/movies/";
    "${baseFolder}/completed/shows"."L+".argument = "/srv/data/media/shows/";
    "${baseFolder}/completed/audio"."L+".argument = "/srv/data/media/audio/";
  };

  services.automatic-ripping-machine = {
    enable = true;
    enableTranscoding = true;
    settings = {
      DISABLE_LOGIN = true;
      WEBSERVER_IP = "127.0.0.1";
      WEBSERVER_PORT = 27570;
      OMDB_API_KEY = "@OMDB_API_KEY@";
      DATE_FORMAT = "%Y-%m-%d %H:%M:%S";
      RAW_PATH = "${baseFolder}/raw/";
      TRANSCODE_PATH = "${baseFolder}/transcoded/";
      # Media will be put into movies/ and shows/ subdirectories
      COMPLETED_PATH = "${baseFolder}/completed/";
      # TODO: remove when config is final
      LOGLEVEL = "DEBUG";
      DELRAWFILES = false;

      # HandBrake
      inherit HB_PRESET_BD HB_PRESET_DVD;
      HB_ARGS_DVD = handbrakeArgs HB_PRESET_DVD;
      HB_ARGS_BD = handbrakeArgs HB_PRESET_BD;
    };
    abcdeSettings = {
      OUTPUTTYPE = "flac";
      OUTPUTDIR = "${baseFolder}/completed/audio";
      WAVOUTPUTDIR = "${baseFolder}/raw";
      EJECTCD = "y";
      EXTRAVERBOSE = "2";
      MAXPROCS = 12;
      CDDBPROTO = 6;
      NOSUBMIT = "y";
      PADTRACKS = "y";
    };
  };
  systemd.services.armui.path = extraPkgs;
  systemd.services."arm@".path = extraPkgs;
}

and...

Here is a log file showing the issue
[quine:/var/log/arm]# cat music_cd_175837578340.log
2025-09-20 15:43:03 ARM: DEBUG: ProcessHandler.arm_subprocess: Running command: cd /nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/arm/ && git branch && git log -1
2025-09-20 15:43:03 ARM: ERROR: ProcessHandler.arm_subprocess: Error while running command: cd /nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/arm/ && git branch && git log -1
Output was: fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Traceback (most recent call last):
  File "/nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/python3.13/site-packages/arm/ripper/ProcessHandler.py", line 26, in arm_subprocess
    arm_process = subprocess.check_output(
        cmd,
    ...<2 lines>...
        encoding="utf-8",
    )
  File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 472, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
               **kwargs).stdout
               ^^^^^^^^^
  File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'cd /nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/arm/ && git branch && git log -1' returned non-zero exit status 128.
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: ARM version: 2.17.4
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: Python version: 3.13.7 (main, Aug 14 2025, 11:12:11) [GCC 14.3.0]
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: User is: arm
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: Alembic head is: a79af75f4b31
2025-09-20 15:43:03 ARM: INFO: ARMInfo.get_values: Database version is: a79af75f4b31
2025-09-20 15:43:03 ARM: INFO: .arm-wrapped.setup: ************* Starting ARM processing at 2025-09-20 15:43:03.552709 *************
2025-09-20 15:43:03 ARM: DEBUG: utils.database_adder: Trying to add Job
2025-09-20 15:43:03 ARM: DEBUG: utils.database_adder: successfully written Job to the database
2025-09-20 15:43:04 ARM: INFO: system_drives.new_job: Creating new job for drive.
2025-09-20 15:43:04 ARM: DEBUG: DriveUtils.update_drive_job: Updating Drive: ['HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0'|'/dev/sr0'] Current Job: [6] Previous Job: [5]
2025-09-20 15:43:04 ARM: DEBUG: DriveUtils.update_drive_job: Database update with new Job ID to associated drive
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.setup: drive_mode: auto
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: Trying to add Config
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: successfully written Config to the database
2025-09-20 15:43:04 ARM: INFO: logger.clean_up_logs: Looking for log files older than 1 days old.
2025-09-20 15:43:04 ARM: INFO: logger.clean_up_logs: Checking path /var/log/arm for old log files...
2025-09-20 15:43:04 ARM: INFO: logger.clean_up_logs: Checking path /var/log/arm/progress for old log files...
2025-09-20 15:43:04 ARM: INFO: .arm-wrapped.setup: Job: not identified
2025-09-20 15:43:04 ARM: INFO: utils.clean_old_jobs: Job #6 with PID 3125011 is currently running.
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ******************* Logging udev attributes *******************
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: CURRENT_TAGS::seat:systemd:uaccess:
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVLINKS:/dev/disk/by-path/pci-0000:69:00.0-usb-0:4:1.0-scsi-0:0:0:0 /dev/disk/by-diskseq/33 /dev/disk/by-path/pci-0000:69:00.0-usbv3-0:4:1.0-scsi-0:0:0:0 /dev/disk/by-id/usb-HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0 /dev/cdrom
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVNAME:/dev/sr0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVPATH:/devices/pci0000:00/0000:00:02.1/0000:03:00.0/0000:04:0c.0/0000:69:00.0/usb6/6-4/6-4:1.0/host12/target12:0:0/12:0:0:0/block/sr0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DEVTYPE:disk
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: DISKSEQ:33
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_BUS:usb
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_RE:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_R_RRM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_BD_R_SRM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_CD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_CD_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_CD_RW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_PLUS_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_PLUS_RW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_PLUS_R_DL:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RAM:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RW_RO:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_RW_SEQ:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R_DL:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R_DL_JR:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_DVD_R_DL_SEQ:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_CD:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_SESSION_COUNT:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_TRACK_COUNT:9
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MEDIA_TRACK_COUNT_AUDIO:9
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MRW:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_MRW_W:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_CDROM_RW_REMOVABLE:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_FOR_SEAT:block-pci-0000_69_00_0-usb-0_4_1_0-scsi-0_0_0_0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_INSTANCE:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_MODEL:BD-RE_WH16NS60
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_MODEL_ENC:BD-RE\x20\x20WH16NS60\x20
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_MODEL_ID:de2c
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_PATH:pci-0000:69:00.0-usb-0:4:1.0-scsi-0:0:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_PATH_TAG:pci-0000_69_00_0-usb-0_4_1_0-scsi-0_0_0_0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_PATH_WITH_USB_REVISION:pci-0000:69:00.0-usbv3-0:4:1.0-scsi-0:0:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_REVISION:1.02
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_SERIAL:HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_SERIAL_SHORT:002933017074
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_TYPE:cd
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_DRIVER:usb-storage
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_INSTANCE:0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_INTERFACES::080650:
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_INTERFACE_NUM:00
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_MODEL:BD-RE_WH16NS60
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_MODEL_ENC:BD-RE\x20\x20WH16NS60\x20
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_MODEL_ID:de2c
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_REVISION:1.02
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_SERIAL:HL-DT-ST_BD-RE_WH16NS60_002933017074-0:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_SERIAL_SHORT:002933017074
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_TYPE:cd
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_VENDOR:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_VENDOR_ENC:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_USB_VENDOR_ID:1e91
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_VENDOR:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_VENDOR_ENC:HL-DT-ST
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ID_VENDOR_ID:1e91
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: MAJOR:11
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: MINOR:0
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: PATH:/nix/store/1l9gfwjh50kb7crsyizjkk6rqf3n9ifz-udev-path/bin:/nix/store/1l9gfwjh50kb7crsyizjkk6rqf3n9ifz-udev-path/sbin
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: SUBSYSTEM:block
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: SYSTEMD_MOUNT_DEVICE_BOUND:1
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: SYSTEMD_WANTS:arm@sr0.service
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: TAGS::seat:systemd:uaccess:
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: USEC_INITIALIZED:2528212417149
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.log_udev_params: ******************* End udev attributes *******************
2025-09-20 15:43:04 ARM: INFO: .arm-wrapped.main: Starting Disc identification
2025-09-20 15:43:04 ARM: DEBUG: identify.identify: Identify Entry point --- job ----
2025-09-20 15:43:04 ARM: INFO: identify.identify: Mounting disc to: /run/arm/dev/sr0
2025-09-20 15:43:04 ARM: DEBUG: identify.check_if_mounted: OS mounted value: 256
2025-09-20 15:43:04 ARM: DEBUG: identify.check_if_mounted: OS findmnt -M value: 0
2025-09-20 15:43:04 ARM: ERROR: identify.check_if_mounted: Mounting failed! Rip might have problems
2025-09-20 15:43:04 ARM: DEBUG: utils.job_dupe_check: Trying to find jobs with matching Label=not identified
2025-09-20 15:43:04 ARM: DEBUG: utils.job_dupe_check: we have 3 jobs
2025-09-20 15:43:04 ARM: DEBUG: utils.job_dupe_check: Skipping - There are too many results [3]
2025-09-20 15:43:04 ARM: DEBUG: .arm-wrapped.main: Value of have_dupes: False
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: Trying to add Notifications
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: successfully written Notifications to the database
2025-09-20 15:43:04 ARM: DEBUG: utils.notify: apprise message, title: ARM notification body: Found music CD: not identified. Ripping all tracks.
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: Trying to add Notifications
2025-09-20 15:43:04 ARM: DEBUG: utils.database_adder: successfully written Notifications to the database
2025-09-20 15:43:04 ARM: INFO: utils.check_for_wait: Waiting 60 seconds for manual override.
2025-09-20 15:43:04 ARM: DEBUG: utils.database_updater: ID:6 status=waiting:<class 'str'>
2025-09-20 15:43:04 ARM: DEBUG: utils.database_updater: successfully written to the database
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: ID:6 status=active:<class 'str'>
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: successfully written to the database
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* Logging ARM variables *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: devpath: /dev/sr0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: mountpoint: /run/arm/dev/sr0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: title: not identified
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: year: None
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: video_type: unknown
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hasnicetitle: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: label: not identified
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: disctype: music
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: manual_start: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* End of ARM variables *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* Logging config parameters *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: skip_transcode: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: mainfeature: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: minlength: 600
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: maxlength: 99999
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: videotype: auto
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: manual_wait: True
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: manual_wait_time: 60
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ripmethod: mkv
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: mkv_args:
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: delrawfiles: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_preset_dvd: MKV 720p30 x265
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_preset_bd: MKV 1080p30 x265
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_args_dvd: --preset-import-file '/etc/arm/handbrake/MKV 720p30 x265.json'
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: hb_args_bd: --preset-import-file '/etc/arm/handbrake/MKV 1080p30 x265.json'
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: raw_path: /srv/data/media/rips/raw/
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: transcode_path: /srv/data/media/rips/transcoded/
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: completed_path: /srv/data/media/rips/completed/
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: extras_sub: extras
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: emby_refresh: False
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: emby_server:
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: emby_port: 8096
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: notify_rip: True
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: notify_transcode: True
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: max_concurrent_transcodes: 0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: max_concurrent_makemkvinfo: 0
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.log_arm_params: ******************* End of config parameters *******************
2025-09-20 15:44:04 ARM: INFO: .arm-wrapped.check_fstab: Checking for fstab entry.
2025-09-20 15:44:04 ARM: ERROR: .arm-wrapped.check_fstab: No fstab entry found.  ARM will likely fail.
2025-09-20 15:44:04 ARM: DEBUG: musicbrainz.set_useragent: set user-agent to arm/2.17.4 python-musicbrainzngs/0.7.1 ( https://github.com/automatic-ripping-machine )
2025-09-20 15:44:04 ARM: DEBUG: musicbrainz._mb_request: GET request for https://musicbrainz.org/ws/2/discid/_XPSALlfKzKO.Kys3ti6SCrhzwc-?inc=artist-credits+recordings
2025-09-20 15:44:04 ARM: DEBUG: musicbrainz._mb_request: requesting with UA arm/2.17.4 python-musicbrainzngs/0.7.1 ( https://github.com/automatic-ripping-machine )
2025-09-20 15:44:04 ARM: ERROR: music_brainz.music_brainz: Cant reach MB or cd not found ? - ERROR: caused by: HTTP Error 404: Not Found
2025-09-20 15:44:04 ARM: INFO: utils.rip_music: Disc identified as music
2025-09-20 15:44:04 ARM: DEBUG: utils.rip_music: Sending command: abcde -d "/dev/sr0" >> "/var/log/arm/music_cd_175837578340.log" 2>&1
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: ID:6 status=ripping:<class 'str'>
2025-09-20 15:44:04 ARM: DEBUG: utils.database_updater: successfully written to the database
Grabbing entire CD - tracks:  1 2 3 4 5 6 7 8 9
mkdir: cannot create directory ‘//abcde.88071609’: Read-only file system
abcde: Temp directory //abcde.88071609 could not be created.
2025-09-20 15:44:07 ARM: DEBUG: utils.database_updater: ID:6 status=fail:<class 'str'>
2025-09-20 15:44:07 ARM: DEBUG: utils.database_updater: ID:6 errors=Call to abcde failed with code: 1 (b''):<class 'str'>
2025-09-20 15:44:07 ARM: DEBUG: utils.database_updater: successfully written to the database
2025-09-20 15:44:07 ARM: ERROR: utils.rip_music: Call to abcde failed with code: 1 (b'')
2025-09-20 15:44:07 ARM: CRITICAL: .arm-wrapped.main: Music rip failed.  See previous errors.  Exiting.
2025-09-20 15:44:07 ARM: DEBUG: ProcessHandler.arm_subprocess: Running command: ['eject', '--verbose', '--cdrom', '--scsi', '/dev/sr0']
2025-09-20 15:44:07 ARM: ERROR: ProcessHandler.arm_subprocess: Error while running command: ['eject', '--verbose', '--cdrom', '--scsi', '/dev/sr0']
Output was: eject: devtmpfs: not found mountpoint or device with the given name
eject: device name is `/dev/sr0'
eject: devtmpfs: mounted on /dev/sr0
Traceback (most recent call last):
  File "/nix/store/1nm7ndralis8smj1q3klv3m1y7cd735s-automatic-ripping-machine-2.17.4/lib/python3.13/site-packages/arm/ripper/ProcessHandler.py", line 26, in arm_subprocess
    arm_process = subprocess.check_output(
        cmd,
    ...<2 lines>...
        encoding="utf-8",
    )
  File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 472, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
               **kwargs).stdout
               ^^^^^^^^^
  File "/nix/store/829wb290i87wngxlh404klwxql5v18p4-python3-3.13.7/lib/python3.13/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
                             output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['eject', '--verbose', '--cdrom', '--scsi', '/dev/sr0']' returned non-zero exit status 1.
2025-09-20 15:44:07 ARM: INFO: system_drives.release_current_job: Releasing current job from drive

You can ignore the git error and the eject error for now, the main problem is the one that prevents the rip from proceeding:

mkdir: cannot create directory ‘//abcde.88071609’: Read-only file system
abcde: Temp directory //abcde.88071609 could not be created.

I don't know why ARM is trying to use // as the path, seems like a config var is missing or empty.

The generated abcde.conf looks like:

❯ cat /etc/arm/abcde.conf
CDDBPROTO=6
EJECTCD=y
EXTRAVERBOSE=2
MAXPROCS=12
NOSUBMIT=y
OUTPUTDIR=/srv/data/media/rips/completed/audio
OUTPUTTYPE=flac
PADTRACKS=y
WAVOUTPUTDIR=/srv/data/media/rips/raw

All of the paths under /srv/data exist and have perms 0770 with media group ownership.

ls -al /srv/data/media/rips/raw
total 8
drwxrws--- 2 ramblurr media 4096 Sep 20 14:41 .
drwxrws--- 5 ramblurr media 4096 Sep 20 14:41 ..

Searching upstream for this reveals:

But neither have obvious solutions to my eyes.. any ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions