[Debian GNUstep maintainers] Bug#1087735: gworkspace.app: NSImage(instance) does not recognize subviews

Paul Seelig pseelig at rumbero.org
Tue Nov 19 17:15:54 GMT 2024


Hi Riccardo,

thanks for your observations!

Looks like finally found the root cause for making GWorkspace
malfunction on i386!

On 11/19/24 11:29, Riccardo Mottola wrote:
> I see something very strange. As information, do you have the Content
> Inspector open? I suppose not.. in case don't.
I don't get any further than what is shown on the screenshots and no
further interaction is possible with GWorkspace.

[ snip ]
> #11 0xae85df7d in ?? () from /lib/libAddressView.so.0
> #12 0x031a0a80 in ?? ()
>
> But if you are using GWorkspace, I don't see how libAddressView can be
> involved?
> It comes from AddressManager and is not referenced once in the
> GWorkspace code!!!
[ snip ]
> You mention you have no issues on 64bit intel. Would you mind doing an
> ldd on both binaries?

I have uploaded various ldd output files to the
https://wmlive.rumbero.org/NSInvalidArgumentException.png/ folder.

I didn't attach them to this mail because they probably don't matter any
more due to your hint at libAddressView, as outlined further down.

[ snip ]
> some stuff comes in only because I have PDF support . It is scary to
> have  libnghttp in twice... and no clue what pulls it in.
> But if you see, no reference to libAddressView at all!
>
That's an interesting obervation!

There is a package named 'addresses-goodies-for-gnustep' containing
"VCFViewer - A GWorkspace inspector for viewing .vcf files".  I had this
package installed and apparently this pulls in libAddressView. In amd64
this doesn't provoke GWorkspace any different, but in i386 it obviously
does.
Once i deinstalled 'addresses-goodies-for-gnustep' on i386, GWorkspace
worked fine as expected.

Searching for the keyword 'subviews' in the sources of
'addresses-for-gnustep' these matches are found:

[addresses-for-gnustep-0.4.8] # grep -rsi subviews *
AddressManager/Controller.m:  [clipView setAutoresizesSubviews: YES];
Frameworks/AddressView/ADSinglePropertyView.m:  [self
setAutoresizesSubviews: YES];
Frameworks/AddressView/ADPersonView.m:  while([[self subviews] count])
Frameworks/AddressView/ADPersonView.m:    [[[self subviews]
objectAtIndex: 0] removeFromSuperview];
Frameworks/AddressView/ADPersonView.m:  e = [[self subviews]
objectEnumerator];
Frameworks/AddressView/ADPersonView.m:  e = [[self subviews]
reverseObjectEnumerator];
Frameworks/AddressView/ADPersonView.m:  subs = [self subviews];
Frameworks/AddressView/ADPersonView.m:  for(i=0; i<[[self subviews]
count]; i++)
Frameworks/AddressView/ADPersonView.m:      id v = [[self subviews]
objectAtIndex: i];
Frameworks/AddressView/ADPersonView.m:  e = [[self subviews]
objectEnumerator];
Frameworks/AddressView/ADPersonView.m:  e = [[self subviews]
objectEnumerator];
Frameworks/AddressView/ADPersonView.m:  subs = [self subviews];
Frameworks/AddressView/ADPersonView.m:  e = [[self subviews]
objectEnumerator];
Goodies/VCFViewer/VCFViewer.m:  [cv setAutoresizesSubviews: YES];
[addresses-for-gnustep-0.4.8] #

Unless i am not utterly mistaken, then the debugging should probably
rather continue with 'addresses-for-gnustep'.

Does this make any sense?

Thanks,
Paul



More information about the pkg-GNUstep-maintainers mailing list