Hello Banlu :)

Le 10 mai 2012 à 20:20, Al Chemyth a écrit :

> I see, I am willing to rewrite them. There is no specific UI that the 
> application needs at this point. Most of them are Gorm's widgets. I'm also 
> willing to replace DPS operations with Opal but I'll look into that in a new 
> branch.

DPS operations should be ok. I doubt you can use Opal though. Opal is not yet 
integrated with GNUstep Gui and Back, although Eric might have made some 
progresses in a branch.

> Here I supply the backtrace.
> 
> (gdb) bt
> #0  NSLog (format=0xb2acc6f0) at NSLog.m:249
> #1  0xb2a61215 in -[GSContext(NSGraphics) DPSundefineuserobject:] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
>     _cmd=0xb2acb6b8, index=<optimized out>) at GSContext.m:964
> #2  0xb2a5e8c0 in -[GSContext(Ops) GSUndefineGState:] (self=0x87a3724, 
>     _cmd=0xb7a40788, gst=3) at GSContext.m:488
> #3  0xb784583a in GSUndefineGState (ctxt=<optimized out>, gst=<optimized 
> out>, 
>     ctxt=<optimized out>, gst=<optimized out>)
>     at ../Headers/AppKit/DPSOperators.h:758
> #4  -[NSWindow _terminateBackendWindow] (self=<optimized out>, 
> _cmd=0xb7a400f8)
>     at NSWindow.m:754
> #5  0xb7846070 in -[NSWindow dealloc] (
>     self=<error reading variable: Asked for position 0 of stack, stack only 
> has 0 elements on it.>, _cmd=<optimized out>) at NSWindow.m:815
> #6  0xb70dfa70 in -[NSObject release] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
>     _cmd=0xb79dbd00) at NSObject.m:2049
> #7  0xb763e8a6 in -[NSCachedImageRep dealloc] (self=0x87ac78c, 
> _cmd=0xb73d4b78)
>     at NSCachedImageRep.m:178
> #8  0xb70dfa70 in -[NSObject release] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
>     _cmd=0xb79f8cc8) at NSObject.m:2049
> #9  0xb76cd274 in -[GSRepData dealloc] (self=<optimized out>, _cmd=0xbfffe5d0)
>     at NSImage.m:113
> #10 0xb70dfa70 in -[NSObject release] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
>     _cmd=0xb73a18d8) at NSObject.m:2049
> #11 0xb6f7a3c1 in -[GSArray dealloc] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
>     _cmd=0xbfffe620) at GSArray.m:136
> #12 0xb70dfa70 in -[NSObject release] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
>     _cmd=0xb79f8cc8) at NSObject.m:2049
> #13 0xb76ce87c in -[NSImage dealloc] (self=<optimized out>, _cmd=0xbfffe680)
>     at NSImage.m:409
> #14 0xb70dfa70 in -[NSObject release] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0x0>, 
>     _cmd=0xb79dd618) at NSObject.m:2049
> #15 0xb7642c26 in -[NSCell setImage:] (
>     self=<error reading variable: DWARF-2 expression error: `DW_OP_regx' 
> operations must be used either alone or in conjunction with DW_OP_piece or 
> DW_OP_bit_piece.>, _cmd=<optimized out>, 
>     anImage=<error reading variable: DWARF-2 expression error: DW_OP_reg 
> operations must be used either alone or in conjunction with DW_OP_piece or 
> DW_OP_bit_piece.>) at NSCell.m:1210
> #16 0xb75ebdf3 in -[NSAppIconView setImage:] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0xc0>, 
>     _cmd=0xb79d0ac0, anImage=0x8f1d46c) at NSApplication.m:717
> #17 0xb75f328a in -[NSApplication setApplicationIconImage:] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0xbb>, 
>     _cmd=0xb7a67cc0, anImage=<optimized out>) at NSApplication.m:2360
> #18 0xb790404e in +[GSGormLoader initialize] (self=<optimized out>, 
>     _cmd=0x811ede0) at GSGormLoader.m:80
> #19 0xb6cc8025 in objc_send_initialize (
>     object=<error reading variable: Unhandled dwarf expression opcode 0x0>)
>     at dtable.c:733
> #20 0xb6cd0950 in objc_msg_lookup_internal (receiver=<optimized out>, 
>     selector=<optimized out>, sender=<optimized out>) at sendmsg2.c:67
> #21 objc_msg_lookup_sender (receiver=<optimized out>, 
>     selector=<optimized out>, sender=<optimized out>) at sendmsg2.c:148
> #22 0xb7ef201b in -[ETModelDescriptionRepository 
> addUnresolvedEntityDescriptionForClass:] (self=0x87fd49c, _cmd=0xb7f2f4e8, 
> aClass=0xb7a67c40)
>     at Source/ETModelDescriptionRepository.m:50
> #23 0xb7ef2416 in -[ETModelDescriptionRepository 
> collectEntityDescriptionsFromClass:excludedClasses:resolveNow:] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0xc5>, 
>     _cmd=0xb7f2f548, aClass=0xb73d48b0, excludedClasses=<optimized out>, 
>     resolve=<optimized out>) at Source/ETModelDescriptionRepository.m:66
> #24 0xb7ef2601 in +[ETModelDescriptionRepository mainRepository] (
> ---Type <return> to continue, or q <return> to quit---
>     self=<optimized out>, _cmd=0xb66d15d8)
>     at Source/ETModelDescriptionRepository.m:81
> #25 0xb666ddb4 in -[COObject 
> commonInitWithUUID:entityDescription:rootObject:context:isFault:] (
>     self=<error reading variable: Unhandled dwarf expression opcode 0xa9>, 
>     _cmd=<optimized out>, aUUID=<optimized out>, 
>     anEntityDescription=<optimized out>, aRootObject=<optimized out>, 
>     aContext=<optimized out>, isFault=<optimized out>) at COObject.m:144
> [snip]
> #32 0xb7c8fd43 in -[ETApplication setUp] (self=0x85e1a24, _cmd=0xb7e343b0)
>     at ETApplication.m:160
> #33 0xb7c98677 in ETApplicationMain (argc=1, argv=0xbfffefb4)
>     at ETApplication.m:1121
> #34 0xb69e84d3 in __libc_start_main (main=0x805a040 <main>, argc=1, 
>     ubp_av=0xbfffefb4, init=0x80976b0 <__libc_csu_init>, 
>     fini=0x8097720 <__libc_csu_fini>, rtld_fini=0xb7fed270 <_dl_fini>, 
>     stack_end=0xbfffefac) at libc-start.c:226
> #35 0x08059fa9 in _start ()

Unless CoreObject or EtoileUI corrupts the memory, this could be a GNUstep Gui 
problem. Possibly with the the App Icon Window.

I'll try to reproduce that. You can try the following:
- update your Étoilé trunk, I have committed various bug fixes recently
- recompile everything with 'make debug=no ' to get a better backtrace
- create a pure AppKit test app that just calls +[ETModelDescriptionRepository 
mainRepository]
- compile and install EtoileUI (with CoreObject turned off) by using 'make 
coreobject=no && sudo -E make coreobject=no install

> The tree can be browsed from the URL below. The principal class files are 
> MUS3.[mh]. TT3DContentView is an NSView subclass. TT*Controller and 
> TTDocument are window controllers and document class. The rest of the files 
> don't have much to do with the GUI.
> 
> http://mus3.git.sourceforge.net/git/gitweb.cgi?p=mus3/3SUM;a=tree;f=mus3;h=1d8fcc1d2a22de51331364519f0f77789961dcc9;hb=HEAD
> 
> If this could help, the full instructions to build and run the application.
> 
> https://sourceforge.net/apps/mediawiki/mus3/index.php?title=Main_Page#GIT

I'll take a look at the code and give you some suggestions to port it.

And I'll let you know once I get EtoileUI working decently on GNUstep again. 
CoreObject now pass all tests on GNUstep, the tracks related tests put aside 
(due to distributed notification issues).

I think you can start to use CoreObject, I have began to write a more detailed 
COObject class description (see COObject.h) that explains subclassing more 
precisely.  

See also 
http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Documentation/Developer/DeveloperGuide/
Christopher's documentation needs some updates, but it is still mostly accurate.

Cheers,
Quentin.


_______________________________________________
Etoile-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/etoile-discuss

Répondre à