Bug 773185

Summary: raidem is segfaulting in rawhide
Product: [Fedora] Fedora Reporter: Bruno Wolff III <bruno>
Component: raidemAssignee: Bruno Wolff III <bruno>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: bruno, lxtnow
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: raidem-0.3.1-20.fc17 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-02-28 10:59:27 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 787396    
Bug Blocks:    

Description Bruno Wolff III 2012-01-11 06:58:20 UTC
Description of problem:
I got raidem to build with gcc 4.7, but now it is segfaulting. I'll need to collect some more information about what is happening. It happens fairly quickly at start up.

Version-Release number of selected component (if applicable):
raidem-0.3.1-19.fc17.i686

How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Bruno Wolff III 2012-02-04 19:29:52 UTC
It looks like this might be due to a gcc bug since the failing code looks too simple to fail.

Comment 2 Bruno Wolff III 2012-02-06 15:39:21 UTC
The forwarding feature of objective C has been changed and raidem needs to adjust.
From ticket 787396:
Jakub Jelinek 2012-02-06 08:04:13 CST

I guess this is related to
http://gcc.gnu.org/ml/gcc-patches/2011-06/msg00254.html
The segfault is because:
901   /* First try if the object understands forward::.  */
902   if (! frwd_sel)
903     frwd_sel = sel_get_any_uid ("forward::");
904 
905   if (__objc_responds_to (object, frwd_sel))
in __objc_forward has frwd_sel NULL when calling __objc_responds_to, supposedly
because -forward:: has been removed from Object.m.
Please talk to Nicola Pero on how you should adjust your code.

Comment 3 Bruno Wolff III 2012-02-12 07:45:51 UTC
I got some understanding of this today. The Token class needs to implement alloc and free at a minimum rather than trying to let Object handle them. Object doesn't provide much and forwarding has been removed, so we can't just pass stuff off.

However, even though raidem is building with the changes, it is still segfaulting, though it seems a bit later on. Getting diagnostics right now is tough as the ptrace changes for selinux are a bit rough and seem to be causing an issue.

Comment 4 Bruno Wolff III 2012-02-12 14:19:15 UTC
There are definitely more classes with the same issue as Token. These all need to get fixed.

Comment 5 Bruno Wolff III 2012-02-19 15:23:33 UTC
Note this also affects F17 now that the branch has happened.

I am currently trying yo fix this issue by using NSObject from gnustep-base as the base class instead of Object. Things are still crashing very early, but I have been addressing most of the compiler warnings. I still have a bit of work to do to replace all of the deprecated features that were dropped in gcc 4.7.

Comment 6 Bruno Wolff III 2012-02-20 05:39:10 UTC
Work is still needed, but I was able to get the start page to display. So I think this approach will work.

Comment 7 Bruno Wolff III 2012-02-21 05:52:47 UTC
I had this working but messed up getting my changes commited as a patch so I have a bit more grunt work to do. An update should be out in a day or two.

Comment 8 Fedora Update System 2012-02-23 02:19:07 UTC
raidem-0.3.1-20.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/raidem-0.3.1-20.fc17

Comment 9 Fedora Update System 2012-02-23 22:29:43 UTC
Package raidem-0.3.1-20.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing raidem-0.3.1-20.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-2280/raidem-0.3.1-20.fc17
then log in and leave karma (feedback).

Comment 10 Fedora Update System 2012-02-28 10:59:27 UTC
raidem-0.3.1-20.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.