Opened 11 years ago

Closed 11 years ago

Last modified 11 years ago

#1965 closed bug (fixed)

No Shell Prompt In Terminal

Reported by: bonefish Owned by: axeld
Priority: normal Milestone: R1
Component: - General Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

hrev24604

Sometimes a Terminal comes up without a shell prompt. I've analyzed the situation and apparently the shell had received a SIGWINCH while it was in the allocator (free()) and held the lock. The signal handler it had installed earlier was invoked and this handler called malloc(), thus causing a deadlock when it tried to re-lock.

I'm not quite sure, who's to blame. I suppose the memory allocator can't really do anything about it -- temporarily blocking signals would be a little too expensive. So it would be either the Terminal, which maybe shouldn't cause a SIGWINCH that early, or the shell, which should be more careful about what signal handlers it has installed and what signals unblocked while allocating/freeing memory. I tend towards the latter, but also wonder why I've never seen this problem on other platforms before.

Change History (3)

comment:1 by bonefish, 11 years ago

Resolution: fixed
Status: newclosed

Fixed in hrev25452.

in reply to:  1 ; comment:2 by jackburton, 11 years ago

Replying to bonefish:

Fixed in hrev25452.

The fix is nice et all, but maybe we could at the same time delay the SIGWINCH in Terminal, though.

in reply to:  2 comment:3 by bonefish, 11 years ago

Replying to jackburton:

Replying to bonefish:

Fixed in hrev25452.

The fix is nice et all, but maybe we could at the same time delay the SIGWINCH in Terminal, though.

You mean wait with setting the tty window size? I don't know, why we should do that.

Note: See TracTickets for help on using tickets.