Unix Technical Forum

tcsh won't run under screen - libsafe intercepts it

This is a discussion on tcsh won't run under screen - libsafe intercepts it within the Slackware Linux Support forums, part of the Unix Operating Systems category; --> On 11.0, tcsh runs mostly OK, but when run under screen, it fails. Other shells run under screen OK. ...


Go Back   Unix Technical Forum > Unix Operating Systems > Slackware Linux Support

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 02-20-2008, 07:52 PM
phil-news-nospam@ipal.net
 
Posts: n/a
Default tcsh won't run under screen - libsafe intercepts it

On 11.0, tcsh runs mostly OK, but when run under screen, it fails. Other
shells run under screen OK. On 10.2 all is OK. It's just on 11.0 and
when running screen, tcsh fails.

I ran strace to see if I can narrow down the cause. It looks like libsafe
(new for 11.0) is catching a stack overflow. I can't rule out that screen
isn't setting the stack too small for tcsh. But bash works fine so I am
inclined to think tcsh is goofing the stack and libsafe has found it.

1681 02:04:48.407646 socket(PF_FILE, SOCK_DGRAM, 0) = 0
1681 02:04:48.407765 fcntl64(0, F_SETFD, FD_CLOEXEC) = 0
1681 02:04:48.407864 connect(0, {sa_family=AF_FILE, path="/dev/log"}, 16) = 0
1681 02:04:48.407987 send(0, "<82>Nov 16 02:04:48 libsafe.so[1681]: Libsafe version 2.0.16", 60, MSG_NOSIGNAL) = 60
1681 02:04:48.408122 time([1163664288]) = 1163664288
1681 02:04:48.408223 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.408368 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.408511 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.408678 send(0, "<82>Nov 16 02:04:48 libsafe.so[1681]: Detected an attempt to write across stack boundary.", 89, MSG_NOSIGNAL) = 89
1681 02:04:48.408812 time([1163664288]) = 1163664288
1681 02:04:48.408910 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.409053 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.409197 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.409350 send(0, "<82>Nov 16 02:04:48 libsafe.so[1681]: Terminating /bin/tcsh.", 60, MSG_NOSIGNAL) = 60
1681 02:04:48.409477 geteuid32() = 600
1681 02:04:48.409582 getuid32() = 600
1681 02:04:48.409674 time([1163664288]) = 1163664288
1681 02:04:48.409772 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.409916 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.410059 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.410214 send(0, "<82>Nov 16 02:04:48 libsafe.so[1681]: uid=600 euid=600 pid=1681", 69, MSG_NOSIGNAL) = 69
1681 02:04:48.410356 write(2, "Libsafe version 2.0.16\n", 23) = -1 EBADF (Bad file descriptor)
1681 02:04:48.410475 write(2, "Detected an attempt to write across stack boundary.\n", 52) = -1 EBADF (Bad file descriptor)
1681 02:04:48.410664 write(2, "Terminating /bin/tcsh.\n", 23) = -1 EBADF (Bad file descriptor)
1681 02:04:48.410768 geteuid32() = 600
1681 02:04:48.410855 getuid32() = 600
1681 02:04:48.410948 write(2, " uid=600 euid=600 pid=1681\n", 32) = -1 EBADF (Bad file descriptor)
1681 02:04:48.411060 time([1163664288]) = 1163664288
1681 02:04:48.411160 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.411305 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.411448 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.411613 send(0, "<82>Nov 16 02:04:48 libsafe.so[1681]: Call stack:\n", 50, MSG_NOSIGNAL) = 50
1681 02:04:48.411733 write(2, "Call stack:\n", 12) = -1 EBADF (Bad file descriptor)
1681 02:04:48.411837 time([1163664288]) = 1163664288
1681 02:04:48.411935 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.412078 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.412221 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...}) = 0
1681 02:04:48.412376 send(0, "<82>Nov 16 02:04:48 libsafe.so[1681]: 0xb7fb89c0 /lib/libsafe.so.2.0.16\n", 77, MSG_NOSIGNAL) = 77
1681 02:04:48.412507 write(2, " 0xb7fb89c0\t/lib/libsafe.so.2.0.16\n", 38) = -1 EBADF (Bad file descriptor)
1681 02:04:48.412634 time([1163664288]) = 1163664288

--
|---------------------------------------/----------------------------------|
| Phil Howard KA9WGN (ka9wgn.ham.org) / Do not send to the address below |
| first name lower case at ipal.net / spamtrap-2006-11-16-0313@ipal.net |
|------------------------------------/-------------------------------------|
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 09:42 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com