segmentation fault



dear friends,
My code, while compiling with ifort,is facing a segmentation fault
while calling a subroutine. as it is large code, i am providing the
part where main program is calling the subroutine and the subroutine's
declaration itself.
IN THE MAIN CODE:
ienrp=ienrp+1
write(*,*) "callin hop"
call hop(il,ienrp,nsite,nasite,nrsite,ntsite, &
maxrec,map,lorbit,ienum,srl,npn,ap1, &
ap6,ap7,ap8,ap9,ap10,ap11,ap12, &
ap13,p2,p3,p4,xa,ya)
istart=iend+1
========================
THE SUBROUTINE DECLARATION:
subroutine hop (il,ienrp,nsite,nasite,nrsite,ntsite, &
maxrec,map,lorbit,ienum,srl,npn,ap1, &
ap6,ap7,ap8,ap9,ap10,ap11,ap12,ap13, &
p2,p3,p4,xa,ya)
========================
THE iidb IS PROMPTING ERROR LIKE:
Intel(R) Debugger for applications running on IA-32, Version 35, Build
20080310
------------------
object file name: irun
Reading symbolic information from /matsc/students/Rudra/Recursion/ASR/
irun...done
(idb) run<asr.in
Concentration of Atom A = 0.600000000000000
Concentration of Atom B = 0.400000000000000
Reading AS-Map complete
Reading STRUCTURE MATRIX complete
Reading POTENTIAL PARAMETERS from POTPAR_A
Reading POTENTIAL PARAMETERS from POTPAR_B
callin hop
Thread received signal SEGV
stopped at [subroutine hop(integer*4, integer*4, integer*4, integer*4,
integer*4, integer*4, integer*4, integer*4 (:,:), integer*4,
integer*4, real*8 (:,:,:), integer*4, real*8 (:), real*8 (:), real*8
(:), real*8 (:), real*8 (:), real*8 (:), real*8 (:), real*8 (:),
real*8 (:), real*8 (:), real*8 (:), real*8 (:), real*8 (:,:), real*8
(:,:)):42 0x0804d0c6]
42 write(*,*) "running hop"
WILL ANYBODY PLZ HELP ME?
.