recently we faced the above issue in the asm alertlog on a linux box. it turned out that this always was reported when a select againt v$asm_disk or v$asm_diskgroup was executed. although this seemed somewhat nasty ASM always was up and running, no issues at all.
stracing a sqlplus session which executes one of the selects gave the right hints. the issue was this:
SYS@+ASM> show parameter string NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ asm_diskstring string /dev/*
This forces ASM to scan all devices in /dev for possible asm disks where ASM has access to (inluding all the devices which are not disks at all ). If one of these devices has a size which is not a multiple of the asm sector size this happens. So the fix is easy ( /dev/sdc1 and /dev/sdd1 are the ASM decives in this case ):
alter system set asm_diskstring='/dev/sd*' scope=both;
or
alter system set asm_diskstring='/dev/sd*1' scope=both;
or
alter system set asm_diskstring='/dev/sdc1','/dev/sdd1' scope=both;
Setting the asm_diskstring as close to your asm decives as you can is a best practice anyway and can recude discovery and mount times.