[asterisk-bugs] [JIRA] (ASTERISK-23755) SIGSEGV due to alignment bug on arm when destination callgroup/pickupgroup is set

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Tue May 27 10:30:47 CDT 2014


    [ https://issues.asterisk.org/jira/browse/ASTERISK-23755?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=218472#comment-218472 ] 

Richard Mudgett edited comment on ASTERISK-23755 at 5/27/14 10:28 AM:
----------------------------------------------------------------------

Might be the same issue as:
ASTERISK-21665

In that report, 1.8.x works fine, but 11.x behaves oddly:
{quote}
The problem – which I cannot explain at all – is that malloc(3) starts returning 4-byte aligned addresses after a while. And that obviously causes trouble.
{quote}

Assuming it is the 4-byte alignment it has trouble with.
{quote}
 > > > What is "The Kirkwood"?  What size processor is this? 
 > > 
 > > It's an ARM926-like CPU from Marvell. 
 > 
 > 32 or 64bit? 

All ARMs are 32-bit, but some have instructions for loading or 
storing 2 x 32 bits at a time, but also require the corresponding 
memory address to be 64-bit aligned. 
{quote}


was (Author: wdoekes):
Might be the same issue as:
https://issues.asterisk.org/jira/browse/ASTERISK-21665

In that report, 1.8.x works fine, but 11.x behaves oddly:
{quote}
The problem – which I cannot explain at all – is that malloc(3) starts returning 4-byte aligned addresses after a while. And that obviously causes trouble.
{quote}

Assuming it is the 4-byte alignment it has trouble with.
{quote}
 > > > What is "The Kirkwood"?  What size processor is this? 
 > > 
 > > It's an ARM926-like CPU from Marvell. 
 > 
 > 32 or 64bit? 

All ARMs are 32-bit, but some have instructions for loading or 
storing 2 x 32 bits at a time, but also require the corresponding 
memory address to be 64-bit aligned. 
{quote}

> SIGSEGV due to alignment bug on arm when destination callgroup/pickupgroup is set
> ---------------------------------------------------------------------------------
>
>                 Key: ASTERISK-23755
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-23755
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_sip/General, Core/Channels
>    Affects Versions: 11.9.0
>         Environment: buildroot 2014.02, Marvel Kirkwood, linux 3.10
>            Reporter: Peter Katzmann
>            Assignee: Peter Katzmann
>            Severity: Critical
>         Attachments: backtrace.txt
>
>
> I encountered an SIGSEGV during testing of asterisk 11 on a Kirkwood arm platform. I tracked it down to the case that it will only occur if the user has pickupgroup/callgroup set,
> The problem does not exist with asterisk 1.8 .
> During deeper examination  i figured out the it seems a alignment probel, becuase when i set /proc/cpu/alignment to 2 i get plenty of misalignment message but no SIGSEGV
> The relevant exception part is:
> {noformat}
> Core was generated by `asterisk -g'.
> Program terminated with signal SIGSEGV, Segmentation fault.
> #0  0x00088d00 in ast_channel_inherit_variables (parent=0xb6514774, child=0xb61a74) at channel.c:6527
> 6527                                    AST_LIST_INSERT_TAIL(ast_channel_varshead(child), newvar, entries);
> #0  0x00088d00 in ast_channel_inherit_variables (parent=0xb6514774, child=0xb61a74) at channel.c:6527
>         vartype = 2
>         current = 0xaf3f20
>         newvar = 0xb76ad8
>         varname = <optimized out>
>         __PRETTY_FUNCTION__ = "ast_channel_inherit_variables"
> #1  0xb54938d8 in ?? ()
> No symbol table info available.
> #2  0xb54938d8 in ?? ()
> No symbol table info available.
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list