EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: osiSockDiscoverBroadcastAddresses(): pointer not word-aligned?
From: Ralph Lange <[email protected]>
To: Jeff Hill <[email protected]>, EPICS Core Talk <[email protected]>, Eric Norum <[email protected]>
Cc: Ralf Hartmann <[email protected]>
Date: Tue, 22 Aug 2006 16:41:52 +0200
Hi Jeff, hi Eric,

a colleage of mine is trying to get EPICS running on RTEMS running on an ARM v4t.

The system crashes with a alignment fault in in BSD network stack function in_control() which gets a struct ifreq pointer. This pointer is created in osiSockDiscoverBroadcastAddresses(), where you create an array of such structures by calloc()ing 100 times the size of an struct ifreq (line 87). Then you step through the array. When you call socket_ioctl() to get the broadcast address (line 177), that call causes the crash down in the BSD stack, because at that point the pointer pifreq is not word-aligned.

We think that somehow within the array the single struct ifreq entries are not word-aligned - which sounds not very likely looking at the ifreq definition, or that your stepping algorithm in ifreqNext() (line 38 ff.) returns a wrong address which is odd.

Any ideas?

What was the reason for using the ifreqNext() function instead of just stepping with sizeof (struct ifreq)?

Clueless,
Ralph & Ralf


Replies:
Re: osiSockDiscoverBroadcastAddresses(): pointer not word-aligned? Eric Norum
Re: osiSockDiscoverBroadcastAddresses(): pointer not word-aligned? Andrew Johnson
RE: osiSockDiscoverBroadcastAddresses(): pointer not word-aligned? Jeff Hill

Navigate by Date:
Prev: Re: LabView / CA Andrew Johnson
Next: Re: osiSockDiscoverBroadcastAddresses(): pointer not word-aligned? Eric Norum
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: LabView / CA Andrew Johnson
Next: Re: osiSockDiscoverBroadcastAddresses(): pointer not word-aligned? Eric Norum
Index: 2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 02 Feb 2012 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·