Packaging failure: "$NLS$ Shared bytecodes with different literals size"

32 views
Skip to first unread message

Louis LaBrunda

unread,
Mar 17, 2021, 4:52:18 PM3/17/21
to VAST Community Forum
Hi All,

I've converted one of my GUI programs from v9.2.2 to v10.0.0.  I made lots of changes but everything seems to be working well in the development environment.  When I package, the packaging runs for a long time and then stops with "$NLS$ Shared bytecodes with different literals size".  This is called in: EsDumper>compactMethods:.

There is a large comment:
"Since the compressed bytecodes of 'cm' and 'nextCm' are equal, the 2 CompiledMethods should have the same number of literals. However, since Pragma support introduced a hidden literal, we need to split chain of 'shared' methods on two chains: in first chain will placed methods without any Pragmas and in second chain - with Pragmas (if present). See #epByteCodeLessThan: and break-condition above."

just before the test that fails.  The two sizes are 12 and 16 but I don't know what they refer to.  Off the top of my head (or pulled out of my butt) do I need to force the recompile of things?

Any ideas?  Thanks.

Lou

Seth Berman

unread,
Mar 17, 2021, 4:58:32 PM3/17/21
to VAST Community Forum
Hi Lou,

We have a fix for that coming out in 10.0.1 in @ month

Fix:
EpImage>>copyMethod:compact:
...
...
(newCm := CompiledMethod new: method size)
bytecodes: (EsByteCodeArray uncompressBytecodeArray: method bytecodes copy);
methodClass: method methodClass;
hasPragmas: method hasPragmas;
selector: method selector;
filePointer: method filePointer.

Seth Berman

unread,
Mar 17, 2021, 4:59:20 PM3/17/21
to VAST Community Forum
I should mention this is actually an old old bug.
But now that we actually make use of pragmas in base code...its showing up.

- Seth

Louis LaBrunda

unread,
Mar 17, 2021, 5:35:36 PM3/17/21
to VAST Community Forum
Hi Seth,

Thanks, I will try it out tomorrow.

Lou

Louis LaBrunda

unread,
Mar 18, 2021, 10:15:21 AM3/18/21
to VAST Community Forum
Hi Seth, Everybody,

That fixed the problem, thanks.

Lou

Reply all
Reply to author
Forward
0 new messages