Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

nroff: cannot create temp file.

Status
Not open for further replies.

Cimm

Technical User
Feb 17, 2005
69
US
I need some help, one day I have a user that can't open man pages on a Solaris 9 server.

Here's the error that shows up.

$ man man
Reformatting page. Please Wait...nroff: cannot create temp file.
done


Nothing has been changed in the system as far as I know.
I've asked this particular user if he has done anything with profile etc.

Anyone have any idea's how to fix this or know's what could've happened.

Thanks
Mike
 
Cimm;

IS this a conistent error for this user.
Are other users having this problem.

check

Verify that the permissions for /var/tmp are 1777.

Use the "chmod" command, from root login, to alter them
if they are incorrect.

have you checked df -k to make sure filesystem is not full

Thanks

CA

 
/var/tmp

drwxrwxrwt 5 root sys 1024 Apr 26 10:30 tmp
-- Looks correct

This issue appears to be for all users except for root.

The file system isnt full.

There must be a permission issue elsewhere.

All users can create files in /var/tmp.

But thanks for the respons.
//Mike
 
Try truss -f man man and see if you can see where it is trying to create the temp file and why it is failing.

Annihilannic.
 
Here's the output from it..

$ truss man man
execve("/usr/bin/man", 0xFFBFFC0C, 0xFFBFFC18) argc = 2
resolvepath("/usr/lib/ld.so.1", "/usr/lib/ld.so.1", 1023) = 16
resolvepath("/usr/bin/man", "/usr/bin/man", 1023) = 12
stat("/usr/bin/man", 0xFFBFF9E0) = 0
open("/var/ld/ld.config", O_RDONLY) Err#2 ENOENT
stat("/usr/lib/libc.so.1", 0xFFBFF4E8) = 0
resolvepath("/usr/lib/libc.so.1", "/usr/lib/libc.so.1", 1023) = 18
open("/usr/lib/libc.so.1", O_RDONLY) = 3
mmap(0x00010000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_ALIGN, 3, 0) = 0xFF3
A0000
mmap(0x00010000, 802816, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN
, -1, 0) = 0xFF280000
mmap(0xFF280000, 702644, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xF
F280000
mmap(0xFF33C000, 24688, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3
, 704512) = 0xFF33C000
munmap(0xFF32C000, 65536) = 0
memcntl(0xFF280000, 117432, MC_ADVISE, MADV_WILLNEED, 0, 0) = 0
close(3) = 0
stat("/usr/lib/libdl.so.1", 0xFFBFF4E8) = 0
resolvepath("/usr/lib/libdl.so.1", "/usr/lib/libdl.so.1", 1023) = 19
open("/usr/lib/libdl.so.1", O_RDONLY) = 3
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3
A0000
mmap(0x00002000, 8192, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE|MAP_ANON|MAP_ALIGN,
-1, 0) = 0xFF3FA000
mmap(0xFF3FA000, 1894, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3,
0) = 0xFF3FA000
close(3) = 0
stat("/usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1", 0xFFBFF1F8) = 0
resolvepath("/usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1", "/usr/platform
/sun4u-us3/lib/libc_psr.so.1", 1023) = 41
open("/usr/platform/SUNW,Sun-Fire-V240/lib/libc_psr.so.1", O_RDONLY) = 3
mmap(0xFF3A0000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0xFF3
A0000
close(3) = 0
mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANON, -1,
0) = 0xFF390000
getustack(0xFFBFF824)
getrlimit(RLIMIT_STACK, 0xFFBFF81C) = 0
getcontext(0xFFBFF658)
setustack(0xFF343A74)
access("/usr/lib/sgml/sgml2roff", 1) = 0
brk(0x00028280) = 0
brk(0x0002A280) = 0
ioctl(1, TCGETA, 0xFFBFFB34) = 0
access("/usr/share/man", 5) = 0
open("/usr/share/man/man.cf", O_RDONLY) = 3
fstat64(3, 0xFFBFF0C8) = 0
brk(0x0002A280) = 0
brk(0x0002C280) = 0
fstat64(3, 0xFFBFEF70) = 0
ioctl(3, TCGETA, 0xFFBFF054) Err#25 ENOTTY
read(3, " #\n # D e f a u l t ".., 8192) = 546
llseek(3, 0, SEEK_CUR) = 546
close(3) = 0
open(".", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, 0xFFBFF958) = 0
close(3) = 0
open("./..", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fstat64(3, 0xFFBFF958) = 0
getdents64(3, 0xFFBFCF08, 8192) = 648
close(3) = 0
open("./../..", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fstat64(3, 0xFFBFF958) = 0
open("/etc/mnttab", O_RDONLY|O_LARGEFILE) = 4
read(4, " /", 1) = 1
ioctl(4, MNTIOC_NMNTS, 0xFFBFCE90) = 0
fstat(4, 0xFFBFCE08) = 0
ioctl(4, MNTIOC_GETDEVLIST, 0xFFBFCCB0) = 0
read(4, " d e v / d s k / c 1 t 1".., 1811) = 1811
close(4) = 0
lstat64("/usr2", 0xFFBFCD58) = 0
close(3) = 0
lstat64("/usr2/oracle", 0xFF342300) = 0
sigaction(SIGINT, 0xFFBFFA88, 0xFFBFFB08) = 0
sigaction(SIGINT, 0xFFBFFA88, 0xFFBFFB08) = 0
sigaction(SIGQUIT, 0xFFBFFA88, 0xFFBFFB08) = 0
sigaction(SIGTERM, 0xFFBFFA88, 0xFFBFFB08) = 0
open("/usr/share/man/windex", O_RDONLY) Err#2 ENOENT
open("/usr/share/man", O_RDONLY|O_NDELAY|O_LARGEFILE) = 3
fstat64(3, 0xFFBFF9E0) = 0
fcntl(3, F_SETFD, 0x00000001) = 0
getdents64(3, 0x00029DD8, 8192) = 2976
brk(0x0002C280) = 0
brk(0x0002E280) = 0
getdents64(3, 0x00029DD8, 8192) = 0
brk(0x0002E280) = 0
brk(0x00030280) = 0
open("/usr/share/man/sman1", O_RDONLY|O_NDELAY|O_LARGEFILE) = 4
fstat64(4, 0xFFBFEF70) = 0
fcntl(4, F_SETFD, 0x00000001) = 0
getdents64(4, 0x0002C3F8, 8192) = 8184
getdents64(4, 0x0002C3F8, 8192) = 5232
open("/usr/share/man/sman1/man.1", O_RDONLY) = 5
fstat64(5, 0xFFBFC058) = 0
brk(0x00030280) = 0
brk(0x00032280) = 0
fstat64(5, 0xFFBFBF00) = 0
ioctl(5, TCGETA, 0xFFBFBFE4) Err#25 ENOTTY
read(5, " < ! D O C T Y P E R E".., 8192) = 8192
llseek(5, 0xFFFFFFFFFFFFE062, SEEK_CUR) = 98
close(5) = 0
stat("/usr/share/man/sman1/man.1", 0xFFBFCF68) = 0
stat("/usr/share/man/cat1/man.1", 0xFFBFCEE0) Err#2 ENOENT
fstat64(2, 0xFFBFB260) = 0
Reformatting page. Please Wait...write(2, " R e f o r m a t t i n g".., 34)
= 34
open("/usr/share/man/sman1/man.1", O_RDONLY) = 5
read(5, " < ! D O C T Y P E R E".., 1024) = 1024
close(5) = 0
getpid() = 2897 [2896]
sysconfig(_CONFIG_MAXPID) = 30000
lstat64("/tmp/mpdwaiQf", 0xFFBFC038) Err#2 ENOENT
open("/tmp/mpdwaiQf", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
close(5) = 0
getpid() = 2897 [2896]
lstat64("/tmp/sman_ewaiQf", 0xFFBFC030) Err#2 ENOENT
open("/tmp/sman_ewaiQf", O_RDWR|O_CREAT|O_EXCL, 0600) = 5
sigfillset(0xFF342AC0) = 0
sigprocmask(SIG_BLOCK, 0xFFBFC09C, 0xFFBFC08C) = 0
sigaction(SIGCLD, 0xFFBFBF40, 0xFFBFC04C) = 0
vfork() = 2898
sigaction(SIGINT, 0xFFBFBF40, 0xFFBFBFF4) = 0
sigaction(SIGQUIT, 0xFFBFBF40, 0xFFBFBFD4) = 0
waitid(P_PID, 2898, 0xFFBFBEE0, WEXITED|WTRAPPED|_WNOCHLD) = 0
sigaction(SIGINT, 0xFFBFBF40, 0x00000000) = 0
sigaction(SIGQUIT, 0xFFBFBF40, 0x00000000) = 0
sigaction(SIGCLD, 0xFFBFBF40, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFFBFC08C, 0x00000000) = 0
fstat64(5, 0xFFBFC058) = 0
fstat64(5, 0xFFBFBF00) = 0
ioctl(5, TCGETA, 0xFFBFBFE4) Err#25 ENOTTY
read(5, " ' \ " t e\n . T H m".., 8192) = 8192
llseek(5, 0xFFFFFFFFFFFFE007, SEEK_CUR) = 7
close(5) = 0
sigprocmask(SIG_BLOCK, 0xFFBFC09C, 0xFFBFC08C) = 0
sigaction(SIGCLD, 0xFFBFBF40, 0xFFBFC04C) = 0
vfork() = 2904
sigaction(SIGINT, 0xFFBFBF40, 0xFFBFBFF4) = 0
sigaction(SIGQUIT, 0xFFBFBF40, 0xFFBFBFD4) = 0
nroff: cannot create temp file.
waitid(P_PID, 2904, 0xFFBFBEE0, WEXITED|WTRAPPED|_WNOCHLD) = 0
sigaction(SIGINT, 0xFFBFBF40, 0x00000000) = 0
sigaction(SIGQUIT, 0xFFBFBF40, 0x00000000) = 0
sigaction(SIGCLD, 0xFFBFBF40, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFFBFC08C, 0x00000000) = 0
unlink("/tmp/sman_ewaiQf") = 0
sigprocmask(SIG_BLOCK, 0xFFBFC09C, 0xFFBFC08C) = 0
sigaction(SIGCLD, 0xFFBFBF40, 0xFFBFC04C) = 0
vfork() = 2910
sigaction(SIGINT, 0xFFBFBF40, 0xFFBFBFF4) = 0
sigaction(SIGQUIT, 0xFFBFBF40, 0xFFBFBFD4) = 0
waitid(P_PID, 2910, 0xFFBFBEE0, WEXITED|WTRAPPED|_WNOCHLD) = 0
sigaction(SIGINT, 0xFFBFBF40, 0x00000000) = 0
sigaction(SIGQUIT, 0xFFBFBF40, 0x00000000) = 0
sigaction(SIGCLD, 0xFFBFBF40, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFFBFC08C, 0x00000000) = 0
done
write(2, " d o n e\n", 6) = 6
close(4) = 0
close(3) = 0
sigprocmask(SIG_BLOCK, 0xFFBFF5CC, 0xFFBFF5BC) = 0
sigaction(SIGCLD, 0xFFBFF470, 0xFFBFF57C) = 0
vfork() = 2912
sigaction(SIGINT, 0xFFBFF470, 0xFFBFF524) = 0
sigaction(SIGQUIT, 0xFFBFF470, 0xFFBFF504) = 0
waitid(P_PID, 2912, 0xFFBFF410, WEXITED|WTRAPPED|_WNOCHLD) = 0
sigaction(SIGINT, 0xFFBFF470, 0x00000000) = 0
sigaction(SIGQUIT, 0xFFBFF470, 0x00000000) = 0
sigaction(SIGCLD, 0xFFBFF470, 0x00000000) = 0
sigprocmask(SIG_SETMASK, 0xFFBFF5BC, 0x00000000) = 0
unlink("/tmp/mpdwaiQf") = 0
_exit(0)


I've tried it , but I cant really get anything that indicated what the problem is.

Ive also compared it with the root and its basicly the same except for the error.
 
Cimm;

does;
/usr/tmp show as symbolic link to /var/tmp

cd /usr

ls -al

lrwxrwxrwx 1 root root 10 Aug 30 2005 tmp -> ../var/tmp

thanks

CA

 
CA,

lrwxrwxrwx 1 root other 10 Apr 26 13:58 tmp -> ../var/tmp

Annihilannic,

bash-2.05# ls -ld /tmp
drwxrwxrwt 9 root sys 647 Apr 26 14:03 /tmp


Ive been trying deleting the links, recreating them etc. Still the same.


I believe it is the link /usr/tmp is the cause of the problem here. Because of these tests I did.

bash-2.05$ touch /usr/tmp/helloworld
touch: /usr/tmp/helloworld cannot stat
bash-2.05$ touch /var/tmp/helloworld
bash-2.05$

 
This is just plain nuts

I removed the link again and instead of using ../var/tmp

I did ln -s /var/tmp tmp

and now it works for all users.

lrwxrwxrwx 1 root other 8 Apr 26 14:11 tmp -> /var/tmp

instead of
lrwxrwxrwx 1 root root 10 Aug 30 2005 tmp -> ../var/tmp

anyone care to explain what the difference is here?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top