Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 352732 - Adding the same log listener causes the log filters to get out of sync
Summary: Adding the same log listener causes the log filters to get out of sync
Status: RESOLVED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: Framework (show other bugs)
Version: 3.7   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.7.1   Edit
Assignee: Thomas Watson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-21 08:36 EDT by Thomas Watson CLA
Modified: 2011-07-21 15:27 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Watson CLA 2011-07-21 08:36:29 EDT
There is a bug in ArrayMap that incorrectly handles putting a value with a key that already exists in the map.  Instead of replacing the value the value is inserted into the values list which causes the values list to be larger than the keys list and causes it to be out of sync and the map no longer works properly.

This bug is surfaced when someone tries to add the same log listener to the LogReaderService multiple times.
Comment 1 DJ Houghton CLA 2011-07-21 09:30:16 EDT
.
Comment 2 Thomas Watson CLA 2011-07-21 10:59:13 EDT
I released a fix to master (Juno) at:

http://git.eclipse.org/c/equinox/rt.equinox.framework.git/commit/?id=80b214bc7b4c693a39b24d328473694e3b54492d

This includes adding many tests for the extended log service that were not integrated into the tests for indigo.  These tests would have caught this issue.

leaving open to cherry pick the fix for 3.7.1.