Re: problems debugging with clang 3.2, gdb 7.6, libobjc2 SVN, and Ubuntu 13.10

2013-10-06 Thread Eric Wasylishen
Thanks for the pointers…

I reconfigured make without enabling the nonfragile ABI (just used "CC=clang 
./configure --enable-debug-by-default"), rebuilt everything, and now stepping 
into Objective-C methods works with gdb, as does ivar printing.

So do gdb and lldb need some changes to support the nonfragile ABI? If that's 
the case, maybe we should display a warning when configuring make with 
--enable-nonfragile-abi, so people know that debugging will be broken.

Eric 

On 2013-10-04, at 4:43 PM, Ivan Vučica  wrote:

> On 4. 10. 2013., at 21:50, Eric Wasylishen  wrote:
> 
>> 
>> 2. Printing ivars is broken. gdb seems to print  self->isa when you do 
>> "print someivar" or "print self->someivar". lldb-3.2 prints an error asking 
>> you to report a bug.
>> 
>> I configured gnustep-make with --enable-debug-by-default 
>> --enable-objc-nonfragile-abi,  gnustep-base with --disable-mixedabi.
>> 
>> I talked to Alex S. on Étoilé IRC and he observed the same two problems on a 
>> similar setup as me; Quentin also mentioned the ivar printing problem to me. 
>> 
> 
> I've also had similar problem with printing Objective-C variables on Ubuntu 
> 12.04, and whatever-gdb-ships-with-12-04. I think my install has a post-3.2 
> clang SVN, possibly post-3.3. I would suspect it's an incompatibility between 
> libobjc2 and gdb/lldb, though it would be strange if David didn't see it.
> 
> --
> Ivan Vučica
> i...@vucica.net - http://ivan.vucica.net/
> 


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSCursor mismatched push and pop

2013-10-06 Thread David Chisnall
Ah, sorry, it seems my -base was quite a way out of date.  

I've put the log here:

http://theravensnest.org/NSCursor.3.log

David

On 6 Oct 2013, at 21:19, Fred Kiefer  wrote:

> This has been fixed in base SVN for a few weeks already. Please update base 
> and try again. If the problem persists, could you try to provide a stack 
> trace of the exception?
> 
> Fred
> 
> On the road
> 
> Am 06.10.2013 um 21:40 schrieb David Chisnall :
> 
>> On 6 Oct 2013, at 18:59, Germán Arias  wrote:
>> 
>>> El dom, 06-10-2013 a las 11:16 +0100, David Chisnall escribió:
 On 6 Oct 2013, at 08:41, Germán Arias  wrote:
 
> Thanks for this log David. Could you provide the log for the other bug?
 
 Sure.  I used Typewriter to produce the log for this one, can you suggest 
 an app that can be used to trigger it?
 
 David
>>> 
>>> The attached app show the other cursor issue. This app has a window
>>> with a toolbar item that display the open panel. Launch the app and
>>> move the window in a way that the button "Cancel" at panel appears
>>> over the textview. As show the attached image. Then clic in button
>>> "Cancel", the cursor remains as an I-beam.
>>> 
>>> Germán.
>> 
>> This app crashes in an exception at startup.  The error appears to be due to 
>> interface.gorm containing an NSParagraphStyle instance that has the class 
>> version after the int -> NSInteger switch, but still has instance variables 
>> of the former type.  I've not been able to hack up the NSParagraphStyle 
>> class enough to be able to load it.  Is it possible to re-save this gorm as 
>> either the old or the new format?
>> 
>> I thought we had some NSCoder logic that would make this work, allowing us 
>> to load values if the sizes had increased, but apparently I imagined it.
>> 
>> David
>> 
>> 
>> ___
>> Gnustep-dev mailing list
>> Gnustep-dev@gnu.org
>> https://lists.gnu.org/mailman/listinfo/gnustep-dev
> 
> ___
> Gnustep-dev mailing list
> Gnustep-dev@gnu.org
> https://lists.gnu.org/mailman/listinfo/gnustep-dev


-- Sent from my Apple II


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSCursor mismatched push and pop

2013-10-06 Thread Fred Kiefer
This has been fixed in base SVN for a few weeks already. Please update base and 
try again. If the problem persists, could you try to provide a stack trace of 
the exception?

Fred

On the road

Am 06.10.2013 um 21:40 schrieb David Chisnall :

> On 6 Oct 2013, at 18:59, Germán Arias  wrote:
> 
>> El dom, 06-10-2013 a las 11:16 +0100, David Chisnall escribió:
>>> On 6 Oct 2013, at 08:41, Germán Arias  wrote:
>>> 
 Thanks for this log David. Could you provide the log for the other bug?
>>> 
>>> Sure.  I used Typewriter to produce the log for this one, can you suggest 
>>> an app that can be used to trigger it?
>>> 
>>> David
>> 
>> The attached app show the other cursor issue. This app has a window
>> with a toolbar item that display the open panel. Launch the app and
>> move the window in a way that the button "Cancel" at panel appears
>> over the textview. As show the attached image. Then clic in button
>> "Cancel", the cursor remains as an I-beam.
>> 
>> Germán.
> 
> This app crashes in an exception at startup.  The error appears to be due to 
> interface.gorm containing an NSParagraphStyle instance that has the class 
> version after the int -> NSInteger switch, but still has instance variables 
> of the former type.  I've not been able to hack up the NSParagraphStyle class 
> enough to be able to load it.  Is it possible to re-save this gorm as either 
> the old or the new format?
> 
> I thought we had some NSCoder logic that would make this work, allowing us to 
> load values if the sizes had increased, but apparently I imagined it.
> 
> David
> 
> 
> ___
> Gnustep-dev mailing list
> Gnustep-dev@gnu.org
> https://lists.gnu.org/mailman/listinfo/gnustep-dev

___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSCursor mismatched push and pop

2013-10-06 Thread David Chisnall
On 6 Oct 2013, at 18:59, Germán Arias  wrote:

> El dom, 06-10-2013 a las 11:16 +0100, David Chisnall escribió:
>> On 6 Oct 2013, at 08:41, Germán Arias  wrote:
>> 
>>> Thanks for this log David. Could you provide the log for the other bug?
>> 
>> Sure.  I used Typewriter to produce the log for this one, can you suggest an 
>> app that can be used to trigger it?
>> 
>> David
> 
> The attached app show the other cursor issue. This app has a window
> with a toolbar item that display the open panel. Launch the app and
> move the window in a way that the button "Cancel" at panel appears
> over the textview. As show the attached image. Then clic in button
> "Cancel", the cursor remains as an I-beam.
> 
> Germán.

This app crashes in an exception at startup.  The error appears to be due to 
interface.gorm containing an NSParagraphStyle instance that has the class 
version after the int -> NSInteger switch, but still has instance variables of 
the former type.  I've not been able to hack up the NSParagraphStyle class 
enough to be able to load it.  Is it possible to re-save this gorm as either 
the old or the new format?

I thought we had some NSCoder logic that would make this work, allowing us to 
load values if the sizes had increased, but apparently I imagined it.

David


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSCursor mismatched push and pop

2013-10-06 Thread Germán Arias
El dom, 06-10-2013 a las 11:16 +0100, David Chisnall escribió:
> On 6 Oct 2013, at 08:41, Germán Arias  wrote:
> 
> > Thanks for this log David. Could you provide the log for the other bug?
> 
> Sure.  I used Typewriter to produce the log for this one, can you suggest an 
> app that can be used to trigger it?
> 
> David

The attached app show the other cursor issue. This app has a window
with a toolbar item that display the open panel. Launch the app and
move the window in a way that the button "Cancel" at panel appears
over the textview. As show the attached image. Then clic in button
"Cancel", the cursor remains as an I-beam.

Germán.

<>

Cursor-0.1.tar.gz
Description: application/compressed-tar
___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSCursor mismatched push and pop

2013-10-06 Thread David Chisnall
On 6 Oct 2013, at 08:41, Germán Arias  wrote:

> Thanks for this log David. Could you provide the log for the other bug?

Sure.  I used Typewriter to produce the log for this one, can you suggest an 
app that can be used to trigger it?

David

-- Sent from my STANTEC-ZEBRA


___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev


Re: NSCursor mismatched push and pop

2013-10-06 Thread Germán Arias
El sáb, 05-10-2013 a las 15:37 +0100, David Chisnall escribió:
> On 5 Oct 2013, at 12:53, David Chisnall  wrote:
> 
> > http://theravensnest.org/NSCursor.1.log
> > 
> > This has the event delivered with every sendEvent: message logged, and is 
> > showing the 
> > mouse-over-text-field-when-window-created-gets-ibeam-cursor-stuck bug.
> 
> 
> This one is clearer: http://theravensnest.org/NSCursor.2.log
> 
> This shows the bug, in quite a small trace.  push, pop, and set messages are 
> logged, with a back trace on every [NSCursor set].  
> 
> When the NSCursor class is initialised, it sets an initial arrow cursor, but 
> does not push it onto the stack.  
> 
> This is then popped in response to an appKitDefined event (subtype 1).  
> Oddly, this actually does set a cursor, even though there have been no -push 
> messages before that point and so I'd expect the array to be empty.  This is 
> inside the NSTextView's updateState: method (which calls [NSWindow 
> invalidateCursorRectsForView:], which calls [NSView discardCursorRects:].
> 
> There's then another pop, from the window setting its bounds.
> 
> There's then a cursorUpdate event, which triggers a push.  This is called 
> from [NSCursor mouseEntered:] and is the one that sets the i-beam cursor.
> 
> There's then another push from [NSCursor mouseEntered:], of the i-beam cursor 
> again, then again.
> 
> Then there's a pop, which restores the i-beam cursor, but is probably 
> intended to restore the arrow cursor.
> 
> It seems that we are pushing the i-beam cursor too many times and I think 
> that's because we're delivering a mouseEntered: event and then another 
> mouseEntered: event in sequence.  I'd have expected that we'd get a 
> mouseExited: event first (from the old rectangle), and then a mouseEntered: 
> event (from the new one), so we'd pop the i-beam and then push it back again. 
>  
> 
> Looking at the NSWindow code, it appears that we should be getting the event 
> delivery in the right order, as long as _lastPoint actually is the last point 
> where we did intersection checking.  It appears that it is set in response to 
> some mouse events that don't trigger cursor checking and also in response to 
> a -resetCursorRects message.
> 
> David

Well, this confirms what I supposed. When the window is displayed, this
calls the method -discardCursorRects. This will call the method
-resetCursorRects when the window process the next event (the
AppKitDefined) and will post NSCursorUpdate events. Then the menu is
added, and this cause an extra call to -discardCursorRects and more
NSCursorUpdate events. But these calls to -discardCursorRects occurs too
fast, and the corresponding NSCursorUpdate events, that are posted at
queue, are processed to late. You can see four NSCursorUpdate events
after the menu has been added. But, of course, NSWindow don't checks if
the cursor rectangles are still valids, or if these has been discarded
by a previous call to -discardCursorRects.

Thanks for this log David. Could you provide the log for the other bug?

Germán.



___
Gnustep-dev mailing list
Gnustep-dev@gnu.org
https://lists.gnu.org/mailman/listinfo/gnustep-dev