A simple and dirtly walkaround we use now is to set root suid bit on chg-scsi, this solves all problems for now.
Regards Kirill On Mon, 18 Nov 2002 17:53:11 +0100 Kirill Alder-Ponazdyr <[EMAIL PROTECTED]> wrote: > On Mon, 18 Nov 2002 11:42:11 -0500 > Galen Johnson <[EMAIL PROTECTED]> wrote: > > > Perhaps the barcode device has different ownership/permissions/group > > than the rest of the devices? I don't have a barcode reader device so > > I'm just throwing out possiblities... > > > > =G= > > Not really, the barcodes are being read trough the same device which is used to >controll the library, and that one is readable / writable by sys group. > > Also, the chg-scsi is actually able to read the barcodes (visible in debug) but >trashes somewhere past that point. I did 2 x trusses, one for root and one for >amanda, this is what I see when looking at the area near crash: > > Amanda User: > >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ----cut-------- > write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 50) = 50 > time() = 1037635597 > write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 37) = 37 > time() = 1037635597 > write(10, " 1 0 3 7 6 3 5 5 9 7 : d".., 51) = 51 > time() = 1037635597 > write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 48) = 48 > open64("/etc/amanda/daily.scsi/tape0-slot", O_RDONLY) = 4 > fstat64(4, 0xFFBFF728) = 0 > fstat64(4, 0xFFBFF5D0) = 0 > ioctl(4, TCGETA, 0xFFBFF6B4) Err#25 ENOTTY > read(4, " 0\n", 8192) = 2 > llseek(4, 0xFFFFFFFFFFFFFFFF, SEEK_CUR) = 1 > close(4) = 0 > time() = 1037635597 > write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 31) = 31 > time() = 1037635597 > write(10, " 1 0 3 7 6 3 5 5 9 7 : u".., 57) = 57 > time() = 1037635597 > write(10, " 1 0 3 7 6 3 5 5 9 7 : u".., 64) = 64 > time() = 1037635597 > time() = 1037635597 > time() = 1037635597 > time() = 1037635597 > time() = 1037635597 > time() = 1037635597 > Incurred fault #6, FLTBOUNDS %pc = 0x000182E4 > siginfo: SIGSEGV SEGV_MAPERR addr=0x00000020 > Received signal #11, SIGSEGV [default] > siginfo: SIGSEGV SEGV_MAPERR addr=0x00000020 > ----end-------- > > Root User: > >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ----cut-------- > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 50) = 50 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 37) = 37 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : d".., 51) = 51 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 48) = 48 > open64("/etc/amanda/daily.scsi/tape0-slot", O_RDONLY) = 4 > fstat64(4, 0xFFBFF718) = 0 > fstat64(4, 0xFFBFF5C0) = 0 > ioctl(4, TCGETA, 0xFFBFF6A4) Err#25 ENOTTY > read(4, " 0\n", 8192) = 2 > llseek(4, 0xFFFFFFFFFFFFFFFF, SEEK_CUR) = 1 > close(4) = 0 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 31) = 31 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : u".., 57) = 57 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : u".., 64) = 64 > time() = 1037635622 > time() = 1037635622 > time() = 1037635622 > time() = 1037635622 > time() = 1037635622 > time() = 1037635622 > time() = 1037635622 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 42) = 42 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 34) = 34 > time() = 1037635622 > write(10, " S C S I _ E x e c u t e".., 38) = 38 > time() = 1037635622 > write(10, " 0 0", 3) = 3 > time() = 1037635622 > write(10, " 0 0", 3) = 3 > time() = 1037635622 > write(10, " 0 0", 3) = 3 > time() = 1037635622 > write(10, " 0 0", 3) = 3 > time() = 1037635622 > write(10, " 0 0", 3) = 3 > time() = 1037635622 > write(10, " 0 0", 3) = 3 > time() = 1037635622 > write(10, "\n", 1) = 1 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 33) = 33 > open64("/dev/rmt/0cbn", O_RDWR|O_NDELAY) = 4 > ioctl(4, 0x04C9, 0xFFBFF9F0) = 0 > close(4) = 0 > time() = 1037635622 > time() = 1037635622 > write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 46) = 46 > time() = 1037635622 > alarm(0) = 0 > sigaction(SIGALRM, 0xFFBFF9C0, 0xFFBFFA70) = 0 > sigprocmask(SIG_BLOCK, 0xFFBFFA60, 0xFFBFFA50) = 0 > alarm(1) = 0 > Received signal #14, SIGALRM, in sigsuspend() [caught] > sigsuspend(0xFFBFFA40) Err#4 EINTR > setcontext(0xFFBFF728) > alarm(0) = 0 > sigprocmask(SIG_UNBLOCK, 0xFFBFFA60, 0x00000000) = 0 > sigaction(SIGALRM, 0xFFBFF9C0, 0x00000000) = 0 > ----cut-------- >