From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Peter Soetens <peter@domain.hid>
Cc: xenomai-help <xenomai@xenomai.org>,
Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Subject: Re: [Xenomai-help] xeno_sigwinch_handler causes segfault with readline
Date: Tue, 06 Jul 2010 21:17:22 +0200 [thread overview]
Message-ID: <4C338142.4070305@domain.hid> (raw)
In-Reply-To: <AANLkTim9LqZGROIz--poHWB4ikHWsvPJu2ClX_TanH88@domain.hid>
Peter Soetens wrote:
> On Wed, Mar 17, 2010 at 7:14 AM, Gilles Chanteperdrix
> <gilles.chanteperdrix@xenomai.org> wrote:
>> Peter Soetens wrote:
>>> On Tuesday 16 March 2010 18:02:37 Gilles Chanteperdrix wrote:
>>>> Peter Soetens wrote:
>>>>> I'm testing with (don't shoot me)
>>>>> * 2.6.31.1-ipipe-2.4-07 #3 SMP
>>>>> * Xenomai 2.4.93 (please!)
>>>>>
>>>>> But a user reported with:
>>>>> * Kernel 2.6.32.7
>>>>> * Xenomai 2.5.1
>>>>>
>>>>> the same issue. When we first shadow the main thread and then call into
>>>>> readline code, we get segfaults, pointing to xeno_sigwinch_handler.
>>>>>
>>>>> According to docs, we need to be careful when installing a signal handler
>>>>> on winch after shadowing. Is this still the issue (I suppose so), or why
>>>>> don't we get a nice( that's relative) 'abort' explaining what to do
>>>>> instead of a segfault ?
>>>>>
>>>>> I'll delve into libreadline to see on how to override/disable the
>>>>> winching by readline, but I hope there is some standard solution, maybe
>>>>> by one of the Xenomai users.
>>>> We have an awful memory corruption issue with Xenomai 2.5.1, so please
>>>> upgrade to Xenomai 2.5 development head, it will be released as 2.5.2
>>>> this week-end, except maybe for some additions in analogy. Another
>>>> possibility is an issue with stack sizes, it may happen that libreadline
>>>> requires some huge stack sizes. We made some work to increase the
>>>> default stack size, but libreadline may need even more.
>>> I can at least confirm that when setting:
>>> rl_catch_sigwinch = 0;
>>> before installing the readline signal handlers fixes this issue (but disables
>>> responding to terminal resizes).
>> Right, I am probably on the wrong track. If the application registers a
>> SIGWINCH handler, this handler must be registered with the SA_SIGINFO
>> flag, and call the xeno_sigwinch_handler function.
>>
>> Another solution is to call the function xeno_sigshadow_install(), right
>> after libreadline installs its handler.
>
> This has been for a while, but the proposed xeno_sigshadow_install()
> solution is outdated, the function disappeared. The documentation
> proposes to forward the signal first to xenomai and then decide if it
> should be handled. What to do if the sigwinch handler is installed by
> a 3rd party app that I can't modify ?
Register your own handler later which forwards first the code to
xenomai, then to the handler registered by the 3rd party app.
--
Gilles.
prev parent reply other threads:[~2010-07-06 19:17 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-16 12:29 [Xenomai-help] xeno_sigwinch_handler causes segfault with readline Peter Soetens
2010-03-16 17:02 ` Gilles Chanteperdrix
2010-03-16 21:32 ` Peter Soetens
2010-03-17 5:14 ` Gilles Chanteperdrix
2010-03-17 9:09 ` Peter Soetens
2010-07-06 19:00 ` Peter Soetens
2010-07-06 19:17 ` Gilles Chanteperdrix [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C338142.4070305@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=peter@domain.hid \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.