[TASKMGMT-26] Duplicate libs in bundle cglib-2.2 and cglib-nodep-3.2.2 Created: 16/Nov/16  Updated: 12/Dec/16  Resolved: 09/Dec/16

Status: Closed
Project: Task Management
Component/s: None
Affects Version/s: 1.1.1, 1.2
Fix Version/s: 1.1.3, 1.2.1

Type: Bug Priority: Major
Reporter: Evzen Fochr Assignee: Antonín Juran
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Relates
relates to BUILD-254 Add cglib to banned dependencies Open
causality
caused by MAGNOLIA-6665 Update cglib to 3.2.2 Closed
is causing MGNLSTK-1546 All I18nable definitions should have ... Closed
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Release notes required:
Yes
Date of First Response:
Sprint: Kromeriz 73
Story Points: 2

 Description   

cglib-nodep-3.2.2 is present in core and cglib-2.2 is in task management (and possibly other places)

If the class loader uses the newer library, you might encounter

Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
	at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:874)
	at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:582)

In our case, the linux machines were loading the newer library and macs the older one.



 Comments   
Comment by Espen Jervidalo [ 18/Nov/16 ]

I linked the causing ticket and want to point to the comments here for some more information: MGNLUI-3875

We've had conflicting cglib versions since way before the update. After all we just bumped the version from 3.1 to 3.2.2, while e.g. task-management is the same. AFAIK cglib is being pulled in from several dependencies not only task-management.

Comment by Roman Kovařík [ 07/Dec/16 ]

AFAIK cglib is being pulled in from several dependencies not only task-management.

Looks like the other modules use correctly cglib:cglib-nodep, do you know about others which still use cglib:cglib?

Comment by Roman Kovařík [ 12/Dec/16 ]

For release notes:

Duplicated library cglib:cglib:2.2 was removed from dependencies in favour of cglib:cglib-nodep:3.2.2.
As consequence, all definitions using i18n mechanism (templates, dialogs, actions) require the default non parametric constructor!

The classes with missing default constructor throws this nested exception in UI:

Caused by: java.lang.IllegalArgumentException: Superclass has no null constructors but no arguments were given
	at net.sf.cglib.proxy.Enhancer.emitConstructors(Enhancer.java:874)
	at net.sf.cglib.proxy.Enhancer.generateClass(Enhancer.java:582)
Generated at Mon Feb 12 11:02:22 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.