Autopsy of GCC 4.6.3 compilation bug on Raspberry Pi (FS-6494 and FS-6524)
http://quentusrex.com/freeswitch-raspberrypi-gcc-compiler-bug.html -- William King Senior Engineer Quentus Technologies, INC 1037 NE 65th St Suite 273 Seattle, WA 98115 Main: (877) 211-9337 Office: (206) 388-4772 Cell: (253) 686-5518 william.king@quentustech.com
I love stuff like this. Great work! On Saturday, June 14, 2014, William King <william.king@quentustech.com> wrote:
http://quentusrex.com/freeswitch-raspberrypi-gcc-compiler-bug.html
-- William King Senior Engineer Quentus Technologies, INC 1037 NE 65th St Suite 273 Seattle, WA 98115 Main: (877) 211-9337 Office: (206) 388-4772 Cell: (253) 686-5518 william.king@quentustech.com <javascript:;>
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org <javascript:;> http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org <javascript:;> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Sent from mobile device
truely awesome. Thanks for taking the time to debug the issue, and for making the detailed post. On Sun, Jun 15, 2014 at 12:34 AM, Kristian Kielhofner <kris@kriskinc.com> wrote:
I love stuff like this. Great work!
On Saturday, June 14, 2014, William King <william.king@quentustech.com> wrote:
http://quentusrex.com/freeswitch-raspberrypi-gcc-compiler-bug.html
-- William King Senior Engineer Quentus Technologies, INC 1037 NE 65th St Suite 273 Seattle, WA 98115 Main: (877) 211-9337 Office: (206) 388-4772 Cell: (253) 686-5518 william.king@quentustech.com
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Sent from mobile device
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
On 06/15/2014 04:42 AM, William King wrote:
http://quentusrex.com/freeswitch-raspberrypi-gcc-compiler-bug.html
Does an up to date GCC do the same thing? If it does, you should have reported against that. If it doesn't, you should report against the distros, telling them to update to something that works. Nobody is going to fix an old compiler, so it is pointless reporting bugs against it. Regards, Steve
This particular bug was pretty fickle. You could change a handful of items in that block of code and the bug would not replicate(or at least not in the same way). Building FreeSWITCH with GCC 4.7.2, which is the latest version of gcc available on Raspbian, didn't replicate the same issue. I've now filed it against Raspbian as well: https://bugs.launchpad.net/raspbian/+bug/1330270 Since the bug doesn't reproduce with 4.7.2, this particular issue is now an educational exercise. A potential follow up would be to use a cross compilation setup and git bisect between the RTL commits(of which there are 206 between 4.6.3 and 4.7.2) and see if there is one that provides more insight into the root cause. Currently I don't think there are checks in the FreeSWITCH build system that would bail on known bad architectures and compiler version combinations. After digging into this issue I'm now curious which compiler(and version) the major distros are using to build the release packages. Also it appears which gcc version used by default in Debian Wheezy depends on the architecture: i386 and amd64 use 4.7 by default, while all others use 4.6. William King Senior Engineer Quentus Technologies, INC 1037 NE 65th St Suite 273 Seattle, WA 98115 Main: (877) 211-9337 Office: (206) 388-4772 Cell: (253) 686-5518 william.king@quentustech.com On 06/14/2014 11:03 PM, Steve Underwood wrote:
On 06/15/2014 04:42 AM, William King wrote:
http://quentusrex.com/freeswitch-raspberrypi-gcc-compiler-bug.html
Does an up to date GCC do the same thing? If it does, you should have reported against that. If it doesn't, you should report against the distros, telling them to update to something that works. Nobody is going to fix an old compiler, so it is pointless reporting bugs against it.
Regards, Steve
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
Currently I don't think there are checks in the FreeSWITCH build system that would bail on known bad architectures and compiler version
combinations. Since it's based on Debian, are you building for Raspbian directly from source (ie running make) or via .deb packages? If the latter then debian/control can require a minimum gcc version in the Build-Depends header On 16 June 2014 00:45, William King <william.king@quentustech.com> wrote:
This particular bug was pretty fickle. You could change a handful of items in that block of code and the bug would not replicate(or at least not in the same way). Building FreeSWITCH with GCC 4.7.2, which is the latest version of gcc available on Raspbian, didn't replicate the same issue.
I've now filed it against Raspbian as well: https://bugs.launchpad.net/raspbian/+bug/1330270
Since the bug doesn't reproduce with 4.7.2, this particular issue is now an educational exercise. A potential follow up would be to use a cross compilation setup and git bisect between the RTL commits(of which there are 206 between 4.6.3 and 4.7.2) and see if there is one that provides more insight into the root cause.
Currently I don't think there are checks in the FreeSWITCH build system that would bail on known bad architectures and compiler version combinations.
After digging into this issue I'm now curious which compiler(and version) the major distros are using to build the release packages.
Also it appears which gcc version used by default in Debian Wheezy depends on the architecture: i386 and amd64 use 4.7 by default, while all others use 4.6.
William King Senior Engineer Quentus Technologies, INC 1037 NE 65th St Suite 273 Seattle, WA 98115 Main: (877) 211-9337 Office: (206) 388-4772 Cell: (253) 686-5518 william.king@quentustech.com
On 06/14/2014 11:03 PM, Steve Underwood wrote:
On 06/15/2014 04:42 AM, William King wrote:
http://quentusrex.com/freeswitch-raspberrypi-gcc-compiler-bug.html
Does an up to date GCC do the same thing? If it does, you should have reported against that. If it doesn't, you should report against the distros, telling them to update to something that works. Nobody is going to fix an old compiler, so it is pointless reporting bugs against it.
Regards, Steve
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
_________________________________________________________________________ Professional FreeSWITCH Consulting Services: consulting@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
participants (5)
-
Kristian Kielhofner
-
Shlomi Agiv
-
Steve Underwood
-
Steven Ayre
-
William King