[Debian-med-packaging] Changes to adun.app

Yavor Doganov yavor at gnu.org
Wed Jan 10 16:00:09 UTC 2018


[ I'm not subscribed to this list so please CC me on replies.
  I _am_ subscribed to the adun.app PTS/tracker. ]

I've made a few changes to adun.app.git recently; most of them are
general housekeeping and reducing the compiler warnings.  I would
appreciate if someone (Andreas?) could review them and eventually
upload the new version.

The warnings' reduction may be considered a cosmetic issue, although
I've lost many hours with adun.app when searching for new warnings
while build-testing GNUstep's rdepds for the last gnustep-base
transition recently (#879738) and for the forthcoming gnustep-gui
transition.  It would make my life easier if the warnings are reduced.

The package certainly has more bugs now than it used to and that's due
to changes in the GNUstep core libraries.  Some of them are subtle,
like uncaught exceptions when loading the Test script:

2018-01-07 19:16:38.007 UL[8362:8362] Problem posting notification:
<NSException: 0x555555b9dc60> NAME:NSRangeException REASON:Index
18446744073709551615 is out of range 1 (in 'objectAtIndex:')
INFO:{Array = ({Arguments = (""); Length = "0.0"; Name = Test; Start =
"2018-01-07 19:07:56 +0200"; ThreadId = "aneto_20aa_20028b5e_1"; });
Count = 1; Index = 18446744073709551615; }

The Index here is completely bogus, it should be 1.  This is an
NSTableView notification posted when the threads table (Tools ->
Script Manager) is updated.  Most probably the exception is due to
NS(U)Integer type transitions that have been made in gnustep-base but
some GUI classes were not updated.  The adun.app package may still
have types that need to be changed, although I fixed many in 0.81-7.
I will postpone this analysis after the gnustep-gui transition because
there might be additional issues due to the changes in 0.25.1 (which
was never uploaded to Debian because I discovered an ABI break [1]).
I have the updated GNUstep core packages built locally, it's just no
fun to debug a complex GUI app in a chroot.

The patch invalid-observer fixes an Ubuntu bug [2] that is
reproducible on Debian, although in a different way.  This is another
issue that's obscure and should generally lead to abort due to this
uncaught exception:

2018-01-06 18:37:37.463 UL[24420:24420] Problem posting notification:
<NSException: 0x555557f72d00> NAME:NSInvalidArgumentException
REASON:NSDataMalloc(instance) does not recognize
outlineViewSelectionDidChange: INFO:(null)

Instead, the execution proceeds and the crash occurs at
-[NSNotificationCenter _postAndRelease] inside the NS_DURING block...
Completely bewildering.

The patch check-return-value is almost certainly wrong (but harmless).
I think an exception has to be raised in most cases if the functions
fail; I'll take a closer look to the code after the transition and
will update the patch accordingly.

My long term plans have always been to build the plugins and
eventually package the additional ones; the package is not very useful
without them.  However, this requires some help from a person who
actually understands what the program does and/or is supposed to do.
I know absolutely nothing about molecular dynamics.  I can't even
determine if the program's behavior is correct when the molecule file
from the Ubuntu bug is loaded and built.

It is very unfortunate that upstream appears to be inactive.

[1] https://savannah.gnu.org/bugs/index.php?52126
[2] https://bugs.launchpad.net/ubuntu/+source/adun.app/+bug/914750



More information about the Debian-med-packaging mailing list