discuss-gnustep
[Top][All Lists]
Advanced

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

Re: rdynamic? Re: ProjectCenter running or building


From: Johannes Brakensiek
Subject: Re: rdynamic? Re: ProjectCenter running or building
Date: Sun, 19 Jan 2020 20:25:32 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

Hi Patryk, hi everyone,

I don't know if this is of any use for anyone, but let's try:

Am 18.01.20 um 02:08 schrieb Patryk Laurent:

On Jan 13, 2020, at 01:24, David Chisnall <address@hidden> wrote:

-rdynamic is fine.  This means put all symbols on the dynamic symbol table.  
The problem is -r, which means do a partial link.  Some linkers do too much of 
one and prevent the final link from correctly placing everything in the correct 
sections.

In the below compile likes there is no -r while ProjectCenter is being built... 
so can anyone think of any other reason for the ProjectCenter failures and how 
to fix them?

I set a breakpoint at [NSBundle loadNibNamed:owner:].

This is what I get when when I start ProjectCenter when it comes to the LogPanel gorm file:

Breakpoint 1, +[NSBundle(NSBundleAdditions) loadNibNamed:owner:] (
    self=0x7ffff7a02700 <._OBJC_CLASS_NSBundle>,
    _cmd=0x7ffff7fc2ee8 <.objc_selector_loadNibNamed:owner:_C320:81624>,
    aNibName=0x99bf3d0c3bb2ec44, owner=0xd21068) at NSBundleAdditions.m:65
65        if (owner == nil || aNibName == nil)
(gdb) po owner
<PCLogController: 0xd21068>
(gdb) s
69        table = [NSDictionary dictionaryWithObject: owner forKey: NSNibOwner];
(gdb) s
83        bundle = [self bundleForClass: [owner class]];
(gdb) s
84        if (bundle != nil && [bundle loadNibFile: aNibName
(gdb) po aNibName
Cannot access memory at address 0x99bf3d0c3bb2ec44
(gdb) s
86                                        withZone: [owner zone]] == YES)
(gdb) s
84        if (bundle != nil && [bundle loadNibFile: aNibName
(gdb) s
86                                        withZone: [owner zone]] == YES)
(gdb) s
84        if (bundle != nil && [bundle loadNibFile: aNibName
(gdb) s
92            bundle = [self mainBundle];
(gdb) s
96                          withZone: [owner zone]];
(gdb) s
94        return [bundle loadNibFile: aNibName
(gdb) s
0x00007ffff74e3c0c in objc_msgSend_fpret ()
   from /usr/GNUstep/Local/Library/Libraries/libobjc.so.4.6
(gdb) bt
#0  0x00007ffff74e3c0c in objc_msgSend_fpret ()
   from /usr/GNUstep/Local/Library/Libraries/libobjc.so.4.6
#1  0x00007ffff7fa5f9b in -[PCLogController init] (self=0xd21068,
    _cmd=<optimized out>) at PCLogController.m:105
#2  0x00007ffff7fa5f24 in +[PCLogController sharedLogController] (
    self=<optimized out>, _cmd=<optimized out>) at PCLogController.m:86
#3  0x00007ffff7fa5bdc in PCLog (sender=0xf4a0b8, tag=0,
    format=0x7ffff7fc5a58, args=<optimized out>) at PCLogController.m:28
#4 PCLogInfo (sender=0xf4a0b8, format=0x7ffff7fc5a58) at PCLogController.m:40
#5  0x00007ffff7f8802f in -[PCBundleManager loadBundleWithFullPath:] (
    self=0xf4a0b8, _cmd=<optimized out>, path=0x98eab8)
    at PCBundleManager.m:403
#6  0x00007ffff7f87cca in -[PCBundleManager bundleOfType:withClassName:] (
    self=0xf4a0b8, _cmd=<optimized out>,
    type=0x40c910 <objc_str_preferences>, className=<optimized out>)
    at PCBundleManager.m:324
#7 0x00007ffff7f87a82 in -[PCBundleManager objectForClassName:bundleType:protocol:] (self=0x441a78, _cmd=<optimized out>, className=0xd14e48,
    bundleExtension=<optimized out>,
proto=0x40cab0 <._OBJC_PROTOCOL_PCPrefsSection>) at PCBundleManager.m:244
#8  0x000000000040505a in -[PCPrefController loadPrefsSections] (
    self=0xf42888, _cmd=<optimized out>) at PCPrefController.m:313
#9  0x0000000000404711 in -[PCPrefController init] (self=0xf42888,
--Type <RET> for more, q to quit, c to continue without paging--
    _cmd=<optimized out>) at PCPrefController.m:57
#10 0x00000000004046b4 in +[PCPrefController sharedPCPreferences] (
    self=<optimized out>, _cmd=<optimized out>) at PCPrefController.m:43
#11 0x0000000000402138 in -[PCAppController init] (self=0xde48d8,
    _cmd=<optimized out>) at PCAppController.m:52
#12 0x00007ffff7da3782 in -[GSNibItem initWithCoder:] (self=0xdb7da8,
    _cmd=<optimized out>, aCoder=0x8067b8) at GSGormLoading.m:551
#13 0x00007ffff77f9d00 in -[NSUnarchiver decodeValueOfObjCType:at:] (
    self=0x8067b8,
    _cmd=0x7ffff7a76158 <.objc_selector_decodeValueOfObjCType:at:_>,
    type=<optimized out>, address=0x7fffffffcb30) at NSUnarchiver.m:929
#14 0x00007ffff76c9690 in -[GSSet initWithCoder:] (self=0xf4aee8,
    _cmd=<optimized out>, aCoder=0x8067b8) at GSSet.m:249
#15 0x00007ffff77f9d00 in -[NSUnarchiver decodeValueOfObjCType:at:] (
    self=0x8067b8,
_cmd=0x7ffff7f20550 <.objc_selector_decodeValueOfObjCType:at:_v320:8r*16^v24>, type=<optimized out>, address=0xb17e50) at NSUnarchiver.m:929
#16 0x00007ffff7da2d69 in -[GSNibContainer initWithCoder:] (self=0xb17e28,
    _cmd=<optimized out>, aCoder=0x8067b8) at GSGormLoading.m:384
#17 0x00007ffff77f9d00 in -[NSUnarchiver decodeValueOfObjCType:at:] (
    self=0x8067b8,
_cmd=0x7ffff7a75ba8 <.objc_selector_decodeValueOfObjCType:at:_v320:8r*16^v24>, type=<optimized out>, address=0x7fffffffcce0) at NSUnarchiver.m:929
--Type <RET> for more, q to quit, c to continue without paging--
#18 0x00007ffff7717edf in -[NSCoder decodeObject] (self=0x441a78,
    _cmd=<optimized out>) at NSCoder.m:249
#19 0x00007ffff7dc926f in -[GSGormLoader loadModelData:externalNameTable:withZone:] (self=<optimized out>, _cmd=<optimized out>, data=0xea5718,
    context=0x7545b8, zone=0x7ffff7a4c080 <default_zone>)
    at GSGormLoader.m:114
#20 0x00007ffff7c786dd in +[NSBundle(NSBundleAdditions) loadNibFile:externalNameTable:withZone:] (self=<optimized out>, _cmd=<optimized out>,
    fileName=<optimized out>, context=0x99bf3d0c3bb2ec44, zone=0xd21308)
    at NSBundleAdditions.m:52
#21 0x00007ffff7c3d28b in NSApplicationMain (argc=<optimized out>,
    argv=<optimized out>) at Functions.m:83
#22 0x00007ffff71a71e3 in __libc_start_main (main=0x4052c0 <main>, argc=1,
    argv=0x7fffffffce68, init=<optimized out>, fini=<optimized out>,
    rtld_fini=<optimized out>, stack_end=0x7fffffffce58)
    at ../csu/libc-start.c:308
#23 0x0000000000401fce in _start ()
(gdb) c
Continuing.
2020-01-19 19:52:16.900 ProjectCenter[4823:4823] PCLogController[init]: error loading NIB file!

The corresponding source file is https://github.com/gnustep/apps-projectcenter/blob/0f8d024577dd4406f3f4de5ca5a45797fd411ac5/Framework/PCLogController.m


Tried the same with GWorkspace.
This is what I get when it comes to the failing InspectorWin nib file:

Breakpoint 1, +[NSBundle(NSBundleAdditions) loadNibNamed:owner:] (
    self=0x7ffff79b6700 <._OBJC_CLASS_NSBundle>,
    _cmd=0x7ffff7f4be10 <.objc_selector_loadNibNamed:owner:_C320:81624>,
    aNibName=0x7ffff7f4d740 <.objc_str_InspectorWin>, owner=0x3b469a8)
    at NSBundleAdditions.m:65
65        if (owner == nil || aNibName == nil)
(gdb) s
69        table = [NSDictionary dictionaryWithObject: owner forKey: NSNibOwner];
(gdb) s
83        bundle = [self bundleForClass: [owner class]];
(gdb) po bundle
value has been optimized out
(gdb) po owner
<Inspector: 0x3b469a8>
(gdb) s
84        if (bundle != nil && [bundle loadNibFile: aNibName
(gdb) po aNibName
InspectorWin
(gdb) s
86                                        withZone: [owner zone]] == YES)
(gdb) s
84        if (bundle != nil && [bundle loadNibFile: aNibName
(gdb) s
86                                        withZone: [owner zone]] == YES)
(gdb) s
84        if (bundle != nil && [bundle loadNibFile: aNibName
(gdb) s
92            bundle = [self mainBundle];
(gdb) s
96                          withZone: [owner zone]];
(gdb) s
94        return [bundle loadNibFile: aNibName
(gdb) s
0x00007ffff7495c0c in objc_msgSend_fpret ()
   from /usr/GNUstep/Local/Library/Libraries/libobjc.so.4.6
(gdb) bt
#0  0x00007ffff7495c0c in objc_msgSend_fpret ()
   from /usr/GNUstep/Local/Library/Libraries/libobjc.so.4.6
#1  0x00007ffff7f37927 in -[Inspector init] (self=0x3b469a8,
    _cmd=<optimized out>) at Inspector.m:66
#2  0x000000000041b058 in -[GWorkspace applicationWillFinishLaunching:] (
self=<optimized out>, _cmd=<optimized out>, aNotification=<optimized out>)
    at GWorkspace.m:496
#3  0x00007ffff7740d3f in -[NSNotificationCenter _postAndRelease:] (
    self=0x4d2e78, _cmd=<optimized out>, notification=<optimized out>)
    at NSNotificationCenter.m:1198
#4  0x00007ffff7c0721c in -[NSApplication finishLaunching] (self=0x92e058,
    _cmd=<optimized out>) at NSApplication.m:1016
#5  0x00007ffff7c085a2 in -[NSApplication run] (self=0x92e058,
    _cmd=<optimized out>) at NSApplication.m:1561
#6  0x0000000000417741 in main (argc=<optimized out>, argv=<optimized out>,
    env=<optimized out>) at main.m:38

This is the source file: https://github.com/gnustep/apps-gworkspace/blob/40e8fabf70b0272ab8f325fdfb19d57bc7533fec/Inspector/Inspector.m

Anybody with any advice how to proceed here?

Thank you
Johannes



reply via email to

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