Craig A. Berry wrote:

> $ type script_for_pvp.dbg
> set module vms
> set break Perl_cando_by_name\%line 80727 do (exam/asciz *namdsc.dsc$a_pointer; go)
> go
> go
> $ MCR Sys$Disk:[]dbgminiperl.exe "-I[.lib]" [.VMS]Writemain.pl "DynaLoader Socket"
> 
>           OpenVMS Alpha DEBUG Version V7.1-000
> 
> %DEBUG-I-INITIAL, Language: C, Module: MINIPERLMAIN
> %DEBUG-I-NOTATMAIN, Type GO to reach MAIN program
> 
> DBG> @script_for_pvp.dbg
> break at routine MINIPERLMAIN\main
>   44319:     PERL_SYS_INIT3(&argc,&argv,&env);
> break at VMS\Perl_cando_by_name\%LINE 80727
>   80727:   retsts = sys$check_access(&objtyp,&namdsc,&usrdsc,armlst);
> *VMS\Perl_cando_by_name\namdsc.dsc$a_pointer:   
>"DISK8:[BERRYC.VMSPERL.VMS]WRITEMAIN.PL;1"
> break at VMS\Perl_cando_by_name\%LINE 80727
>   80727:   retsts = sys$check_access(&objtyp,&namdsc,&usrdsc,armlst);
> *VMS\Perl_cando_by_name\namdsc.dsc$a_pointer:   
>"DISK8:[BERRYC.VMSPERL.VMS]WRITEMAIN.PL;1"
> Adding DynaLoader . . .
> Adding Socket . . .
> %DEBUG-I-EXITSTATUS, is '%SYSTEM-S-NORMAL, normal successful completion'
> DBG> 

Wow Craig - thanks this helped.  I managed to do a fully configured debug 
build and I now know that the vmsname has an incorrect device.

I have so far traced this back up to the call to     

 retsts = lib$fid_to_name(&devdsc,&(((Stat_t *)statbufp)->st_ino),
                             &namdsc,&namdsc.dsc$w_length,0,0);

in VMS.C Perl_cando().

The problem that I am seeing is that fname turns
into "USER:[VMSPERL.VMS]WRITEMAIN.PL;1" which is wrong.  This is 
odd because on this machine my sys$login is USER:[PVHP] and:

 $ sho log user
   "USER" = "DKB100:[U.]" (LNM$SYSTEM_TABLE)

However, I am building perl in DKB100:[VMSPERL] hence the fname returned
by lib$fid_to_name() ought to be "DKB100:[VMSPERL.VMS]WRITEMAIN.PL;1", rather 
than what it is.  I am not yet sure where this incorrect device name is coming 
from, but perhaps something is defaulting to $parse(SYS$LOGIN,,,"DEVICE",) for 
some as yet unknown reason (???).

But again thanks I wouldn't be this far without your handy debug script.

I'll try to pick this up maybe tomorrow.

Peter Prymmer

Reply via email to