bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Segfault when NSTextView is released


From: Lundberg, Johannes
Subject: Re: Segfault when NSTextView is released
Date: Sat, 15 Feb 2014 13:00:20 +0900

That's correct, in the sample code I didn't use properties but ivar defaults to __strong so it's the same as a strong property. 

I tried __weak but compiler complained it was not supported by NSTextView (maybe it was only a warning). Assign property however, works fine (similar to weak but is not set to nil when object is freed).  

At least, this is my understanding of how it works from learning from Apple.  

Libobjc is the version currently in freebsd ports. Traveling right now so I don't have detailed info. 

On Saturday, February 15, 2014, Sebastian Reitenbach <sebastia@l00-bugdead-prods.de> wrote:
Hi,

I had a problem with GNUMail, crashing often on me. You wrote in your initial
mail that you use latest releases. Is that true for libobjc2 too?
The problem I had seen on GNUMail was gone for me after upgrading
libobjc2 to latest SVN.
The backtrace I got looked a bit different, and your problem might be
something completely different ;)

cheers,
Sebastian



On Friday, February 14, 2014 17:36 CET, Fred Kiefer <fredkiefer@gmx.de> wrote:

> Looks like this is rather a question for David. It is more about the
> semantic of ARC for different sorts of ivars, than about NSTextView itself.
> In the code you did send the tvIvar ivar was not defined as a property.
> In this case I would expect that the compiler wont do anything special.
>
> To get me to long into a potential NSTextView issue you will have to
> provide an ARC free example that crashes :-(
> I am still using gcc for GNUstep development. So I tried to rewrite your
> code to the old gcc supported form of properties and it did not crash in
> that form.
>
> Automatic reference counting is great, but you really need to know what
> you are doing.
>
> Fred
>
>
> On 13.02.2014 11:41, Lundberg, Johannes wrote:
> > I solved the problem temporary by changing properties for NSTextView from
> > strong to assign.
> >
> >
> > --
> > Johannes Lundberg
> > BRILLIANTSERVICE CO., LTD.
> >
> >
> > On Thu, Feb 13, 2014 at 7:14 PM, Lundberg, Johannes <
> > johannes@brilliantservice.co.jp> wrote:
> >
> >> Thanks Fred.
> >>
> >> I put together a small program for you.
> >>
> >> The problem seems to be when the text view is assigned to an ivar.
> >> Removing from superview and setting ivar = nil maybe over releases it or
> >> something?
> >>
> >>
> >>
> >>
> >> --
> >> Johannes Lundberg
> >> BRILLIANTSERVICE CO., LTD.
> >>
> >>
> >> On Thu, Feb 13, 2014 at 5:50 PM, Fred Kiefer <fredkiefer@gmx.de> wrote:
> >>
> >>> I hope to be able to look into this tomorrow. It would help if you could
> >>> send a piece of example code showing the issue.
> >>>
> >>> Fred
> >>>
> >>> On the road
> >>>
> >>> Am 13.02.2014 um 09:16 schrieb "Lundberg, Johannes" <
> >>> johannes@brilliantservice.co.jp>:
> >>>
> >>> Nope I was wrong..
> >>> Using the designated initializer (with textContainer nil or set to
> >>> created text container object) fixes the release bug but whenever I try to
> >>> change a property I get crash. Stuck between rock and hard place...
> >>>
> >>> #0  0x0000000800d9e191 in -[NSTextView setTextColor:] (self=<value
> >>> optimized out>, _cmd=<value optimized out>, color=<value optimized out>) at
> >>> NSTextView.m:2407
> >>> #1  0x000000000041d74f in -[PhotoViewController loadView]
> >>> (self=0x81df558d0, _cmd=0x8011e7770) at PhotoViewController.m:81
> >>> #2  0x0000000800dc5122 in -[NSViewController view] (self=0x81df558d0,
> >>> _cmd=<value optimized out>) at NSViewController.m:94
> >>> #3  0x000000000042b255 in -[AppDelegate applicationDidFinishLaunching:]
> >>> (self=0x81b091510, _cmd=0x8010fe2a0, notification=0x81d1f1c50) at
> >>> AppDelegate.m:171
> >>> #4  0x00000008015dec4c in -[NSNotificationCenter _postAndRelease:]
> >>> (self=0x81b2b96b0, _cmd=<value optimized out>, notification=0x81d1f1c50) at
> >>> NSNotificationCenter.m:1191
> >>> #5  0x0000000800c9884e in -[NSApplication _didFinishLaunching]
> >>> (self=0x81b0a9490, _cmd=<value optimized out>) at NSApplication.m:1186
> >>> #6  0x0000000800c995ce in -[NSApplication run] (self=0x81b0a9490,
> >>> _cmd=<value optimized out>) at NSApplication.m:1539
> >>> #7  0x0000000000426935 in main (argc=2, argv=0x7fffffffc798) at main.m:20
> >>>
> >>>
> >>>
> >>> --
> >>> Johannes Lundberg
> >>> BRILLIANTSERVICE CO., LTD.
> >>>
> >>>
> _______________________________________________
> Bug-gnustep mailing list
> Bug-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/bug-gnustep







--
--
Johannes Lundberg
BRILLIANTSERVICE CO., LTD.


=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
秘密保持について:この電子メールは、名宛人に送信したものであり、秘匿特権の対象となる情報を含んでいます。
もし、名宛人以外の方が受信された場合、このメールの破棄、およびこのメールに関する一切の開示、
複写、配布、その他の利用、または記載内容に基づくいかなる行動もされないようお願い申し上げます。
---
CONFIDENTIALITY NOTE: The information in this email is confidential
and intended solely for the addressee.
Disclosure, copying, distribution or any other action of use of this
email by person other than intended recipient, is prohibited.
If you are not the intended recipient and have received this email in
error, please destroy the original message.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]