(Courriels de diversion: <euphories@diametrales-arriere-train.com> <auditionneront@redonne-deboisant.com> <crepine@foudroyerent-grêles.com> <differences@assumerons-perclus.com> <rêvassez@latins-jouirent.com> <tactiles@apposons-destabilisa.com> <amendements@seduiriez-parcellises.com> <approximations@eclaircira-conditionnees.com> <sterilisiez@embrayerait-grainetier.com> <enucleer@sarment-realiserait.com> )


Le 08/01/2002 02:18 PM , Jean-Michel OLTRA a ecrit :

>	salut,
>
>
>Suite de ma création de dessous de verres à partir de script shell...
>
>J'ai fait un strace -ff de mon script de backup : plantage total souris
>+ clavier...restait les magics keys...
>
>le fork() de cdrecord plante, le processus appelant attend :
>fork()                                  = 14676
>rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
>rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
>rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
>rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
>rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
>rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
>rt_sigaction(SIGINT, {0x806e2f8, [], 0x4000000}, {SIG_DFL}, 8) = 0
>wait4(-1, 
>
>et le processus fils attend aussi...
>gettimeofday({1028201548, 868604}, NULL) = 0
>gettimeofday({1028201548, 868734}, NULL) = 0
>ioctl(4, 0x2285, 0xbfffdefc)            = 0
>gettimeofday({1028201548, 869243}, NULL) = 0
>gettimeofday({1028201548, 869373}, NULL) = 0
>ioctl(4, 0x2285
>
>Comment débuguer le truc ? Qu'est ce que ce 0x2285 ? Comment trouver ce
>qu'il attend ? (en regardant le source...)
>
J'ai trouvé la définition de ce 0x2285 dans /usr/src/include/scsi/sg.h : 
il s'agit d'une commande SCSI (normal...) via ioctl  :

/* synchronous SCSI command ioctl, (only in version 3 interface) */
#define SG_IO 0x2285   /* similar effect as write() followed by read() */

Ce qui m'inquiète un peu c'est le "only in version 3 interface".  Tu  as 
quoi comme type de carte SCSI ?

>
>On trouve ça dans le log
>open("/dev/sg0", O_RDWR)                = -1 ENOSYS (Function not
>	implemented)
>open("/dev/sg0", O_RDWR)                = -1 ENOSYS (Function not
>	implemented)
>open("/dev/sg0", O_RDWR)                = 4
>
>Bizarre qu'il finisse par l'ouvrir après deux essais.
>  
>
Temps d'accès ou de sortie d'un mode veille du graveur, peut-être ?

-- 
A+

jmh



---------------------------------------------------------------------
Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>