Amanda-Users

Re: chg-scsi coredumps when enabling barcode reader.

2002-11-18 11:28:33
Subject: Re: chg-scsi coredumps when enabling barcode reader.
From: Kirill Alder-Ponazdyr <quak AT mydiax DOT ch>
To: amanda-users AT amanda DOT org
Date: Mon, 18 Nov 2002 16:46:26 +0100
An update to this problem:

When I run amanda as root user this does not happen.

I wonder why, amanda user has all rights on tape devices and loader device (it 
is in sys group). It is also the owner of configuration, debug, log and so on 
directories, the "amanda" group is allowed to execute every single binary from 
amanda directory.

Again, it does work when no barcode reading is involved, what is so special in 
chg-scsi to require root rights when it has to access barcode reader ?

Regards

-----------------
Kirill Alder-Ponazdyr
SGI / SUN UNIX Consultant
Codeangels Solutions

Phone : +41 43 844 90 10
Fax   : +41 43 844 90 12
Mobile: +41 79 370 89 30 

On Sun, 17 Nov 2002 16:08:39 +0100
Kirill Alder-Ponazdyr <lists AT codeangels DOT com> wrote:

> Greetings,
> 
> We have a following setup:
> 
> Solaris 9 based Netra 1205 machine
> Amanda 2.4.3
> Overland Data LibraryPro with 2 x AIT2 drives (4.20 firmware).
> 
> The problem is, that chg-scsi crashes with segmentation fault when we enable 
> barcode reader (havebarcode 1) for that library, it works well without 
> barcode enabling.
> 
> Does anyone has an idea why this crash happens ?
> 
> Thanks,
> 
> Kirill
> 
> Truss ending:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>     Incurred fault #6, FLTBOUNDS  %pc = 0x000182E4
>       siginfo: SIGSEGV SEGV_MAPERR addr=0x00000020
>     Received signal #11, SIGSEGV [default]
>       siginfo: SIGSEGV SEGV_MAPERR addr=0x00000020
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> changer.conf:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> number_configs  1
> eject           0       # Tapedrives need an eject command
> sleep           10      # Seconds to wait until the tape gets ready
> cleanmax        10      # How many times could a cleaning tape get used
> debuglevel    9
> havebarcode     1
> changerdev      /dev/scsi/changer/c1t1d0
> labelfile       /opt/amanda/etc/amanda/daily/labelfile
> 
> #
> # Next comes the data for drive 0
> #
> config          0
> drivenum        0
> dev             /dev/rmt/0cbn
> startuse        0
> enduse          11
> statfile        /opt/amanda/etc/amanda/daily/tape0-slot
> cleanfile       /opt/amanda/etc/amanda/daily/tape0-clean
> usagecount      /opt/amanda/etc/amanda/daily/totaltime
> tapestatus      /opt/amanda/etc/amanda/daily/tape0-status
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> 
> debug file:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> chg-scsi: debug 1 pid 2012 ruid 1020 euid 1020: start at Sun Nov 17 15:59:16 
> 2002
> chg-scsi: $Id: chg-scsi.c,v 1.6.2.22.2.7.2.6 2002/08/26 13:57:39 martinea Exp 
> $
> 1037545156:scsi-changer-driver: $Id: scsi-changer-driver.c,v 1.1.2.27.2.7.2.9 
> 2002/08/26 13:57:40 martinea Exp $
> ARG [0] : /opt/amanda/libexec/chg-scsi
> ARG [1] : -slot
> ARG [2] : 0
> Number of configurations: 1
> Tapes need eject: No
>         raw: 0
> Inv. auto update: No
>         raw: 0
> barcode reader  : Yes
>         raw: 1
> Emulate Barcode : No
>         raw: 0
> debug level     : 9
> Tapes need sleep: 10 seconds
> Cleancycles     : 10
> Changerdevice   : /dev/scsi/changer/c1t1d0
> Labelfile       : /opt/amanda/etc/amanda/daily/labelfile
> Tapeconfig Nr: 0
>   Drivenumber   : 0
>   Startslot     : 0
>   Endslot       : 11
>   Cleanslot     : -1
>   Devicename    : /dev/rmt/0cbn
>   changerident  : none
>   SCSITapedev   : none
>   tapeident     : none
>   statfile      : /opt/amanda/etc/amanda/daily/tape0-status
>   Slotfile      : /opt/amanda/etc/amanda/daily/tape0-slot
>   Cleanfile     : /opt/amanda/etc/amanda/daily/tape0-clean
>   Usagecount    : /opt/amanda/etc/amanda/daily/totaltime
> 1037545156:##### START OpenDevice
> 1037545156:OpenDevice : /dev/scsi/changer/c1t1d0
> 1037545156:##### START DecodeSCSI
> SCSI_ExecuteCommand :  INQUIRY 12 00 00 00 38 00
> 1037545156:##### STOP DecodeSCSI
> 1037545156:ioctl ret (0)
>          1037545156:using ident = generic_changer, type = Generic driver 
> changer [generic_changer]
> 1037545156:##### STOP OpenDevice
> 1037545156:##### START OpenDevice
> 1037545156:OpenDevice : /dev/rmt/0cbn
> ioctl on 4 failed, errno 1, ret -1
> ##### START DecodeSense
> SCSI_ExecuteCommand:Sense Keys
>         ErrorCode                     00
>         Valid                         0
>         ASC                           00
>         ASCQ                          00
>         Sense key                     00
>                 No Sense
> 1037545156:ioctl ret (-1)
>          1037545156:##### STOP OpenDevice failed
> 1037545156:##### STOP OpenDevice (nothing found) !!
> warning open of /dev/rmt/0cbn: failed
>                                              DecodeModeSense : Element 
> Address Assignment Page
>         Medium Transport Element Address     0
>         Number of Medium Transport Elements  1
>         First Storage Element Address       1
>         Number of  Storage Elements         19
>         First Import/Export Element Address 224
>         Number of  ImportExport Elements    1
>         First Data Transfer Element Address 240
>         Number of  Data Transfer Elements   2
> DecodeModeSense : MT can store data cartridges 0
> DecodeModeSense : ST can store data cartridges 1
> DecodeModeSense : IE can store data cartridges 1
> DecodeModeSense : DT can store data cartridges 1
> DecodeModeSense : MT to MT 0
> DecodeModeSense : MT to ST 0
> DecodeModeSense : MT to IE 0
> DecodeModeSense : MT to DT 0
> DecodeModeSense : ST to MT 1
> DecodeModeSense : ST to MT 1
> DecodeModeSense : ST to DT 1
> DecodeModeSense : IE to MT 0
> DecodeModeSense : IE to ST 1
> DecodeModeSense : IE to ST 1
> DecodeModeSense : IE to ST 1
> DecodeModeSense : DT to MT 0
> DecodeModeSense : DT to ST 1
> DecodeModeSense : DT to IE 1
> DecodeModeSense : DT to DT 1
> 1037545157:##### START DecodeSCSI
> SCSI_ExecuteCommand :  TEST UNIT READY 00 00 00 00 00 00
> 1037545157:##### STOP DecodeSCSI
> 1037545157:ioctl ret (0)
>                      1037545158:MTE Length 52(52)
> 1037545158:SCSI_Run TestUnitReady
> 1037545158:##### START SCSI_TestUnitReady
> 1037545158:##### START DecodeSCSI
> SCSI_ExecuteCommand :  TEST UNIT READY 00 00 00 00 00 00
> 1037545158:##### STOP DecodeSCSI
> 1037545158:###### STOP SCSI_TestUnitReady (1)
> 1037545158:SCSI_Run TestUnitReady ret 0
> 1037545158:SCSI_Run TestUnitReady after 0 sec:
> 1037545158:##### START DecodeSCSI
> SCSI_ExecuteCommand :  READ ELEMENT STATUS B8 12 00 01 00 13 00 00 04 30 00 00
> 1037545158:##### STOP DecodeSCSI
> 1037545158:SCSI_Run Exit 0                                                    
>                             1037545159:STE Length 52
> 1037545159:SCSI_Run TestUnitReady
> 1037545159:##### START SCSI_TestUnitReady
> 1037545159:##### START DecodeSCSI
> SCSI_ExecuteCommand :  TEST UNIT READY 00 00 00 00 00 00
> 1037545159:##### STOP DecodeSCSI
> 1037545159:###### STOP SCSI_TestUnitReady (1)
> 1037545159:SCSI_Run TestUnitReady ret 0
> 1037545159:SCSI_Run TestUnitReady after 0 sec:
> 1037545159:##### START DecodeSCSI
> SCSI_ExecuteCommand :  READ ELEMENT STATUS B8 13 00 E0 00 01 00 00 00 40 00 00
> 1037545159:##### STOP DecodeSCSI
> 1037545159:SCSI_Run Exit 0
>             1037545160:IEE Length 0
> 1037545160:Skip ASC IEE
> 1037545160:Skip ASCQ IEE
> 1037545160:Skip source IEE
> 1037545160:SCSI_Run TestUnitReady
> 1037545160:##### START SCSI_TestUnitReady
> 1037545160:##### START DecodeSCSI
> SCSI_ExecuteCommand :  TEST UNIT READY 00 00 00 00 00 00
> 1037545160:##### STOP DecodeSCSI
> 1037545160:###### STOP SCSI_TestUnitReady (1)
> 1037545160:SCSI_Run TestUnitReady ret 0
> 1037545160:SCSI_Run TestUnitReady after 0 sec:
> 1037545160:##### START DecodeSCSI
> SCSI_ExecuteCommand :  READ ELEMENT STATUS B8 14 00 F0 00 02 00 00 00 BC 00 00
> 1037545160:##### STOP DecodeSCSI
> 1037545160:SCSI_Run Exit 0
>                                  1037545161:DTE Length 88
> 1037545161:
> 
>         Media Transport Elements (robot arms) :
> 1037545161:             Element #0000 E
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 1 From = -001
>                         TAG =
> 1037545161:
> 
>         Storage Elements (Media slots) :
> 1037545161:             Element #0001 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 0001326
> 1037545161:             Element #0002 E
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG =
> 1037545161:             Element #0003 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 000219C
> 1037545161:             Element #0004 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 0002507
> 1037545161:             Element #0005 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 0001719
> 1037545161:             Element #0006 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 0004206
> 1037545161:             Element #0007 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 000279I
> 1037545161:             Element #0008 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 000277G
> 1037545161:             Element #0009 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 0000088
> 1037545161:             Element #0010 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 000028A
> 1037545161:             Element #0011 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 0003036
> 1037545161:             Element #0012 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = 0240
>                         TAG = 0001247
> 1037545161:             Element #0013 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG = 0001034
> 1037545161:             Element #0014 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG = 000228C
> 1037545161:             Element #0015 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG = 000048C
> 1037545161:             Element #0016 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG = 0000011
> 1037545161:             Element #0017 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG = 0000213
> 1037545161:             Element #0018 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG = 0002158
> 1037545161:             Element #0019 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 2 From = -001
>                         TAG = 000182B
> 1037545161:
> 
>         Data Transfer Elements (tape drives) :
> 1037545161:             Element #0240 F
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 4 From = 0002
>                         TAG = TU0023L
>                         SCSI ADDRESS = 2
> 1037545161:             Element #0000 E
>                         EXCEPT = 00
>                         ASC = 00 ASCQ = 00
>                         Type 4 From = -001
>                         TAG =
>                         SCSI ADDRESS = 0
> 1037545161:
> 
>         Import/Export Elements  :
> 1037545161:             Element #0000 E
>                         EXCEPT = 00
>                                 ASC = 00 ASCQ = 00
>                         Type 0 From = 0000
>                         TAG =
> 1037545161:#### STOP GenericElementStatus
> 1037545161:###### STOP get_drive_count (2 drives)
> 1037545161:###### START drive_loaded
> 1037545161:drive_loaded         : fd 0 drivenum 0
> 1037545161:###### STOP drive_loaded (not empty)
> 1037545161:###### START unload
> 1037545161:unload               : fd 0, slot 1, drive 0
> 1037545161:unload               : unload drive 0[240] slot 1[2]
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>