The json file https://whimsy.apache.org/public/public_ldap_groups.json
is causing a problem, because one of the roster entries is a null:

 "db-site": {
      "modifyTimestamp": "20100210202350Z",
      "roster": [
        null
      ]
    },

It should be empty.

The loop that creates the entry is:

groups.keys.sort_by {|a| a.name}.each do |entry|
    m = []
    entry.members.sort_by {|a| a.name}.each do |e|
        m << e.name
    end
    lastStamp = entry.modifyTimestamp if entry.modifyTimestamp > lastStamp
    entries[entry.name] = {
        modifyTimestamp: entry.modifyTimestamp,
        roster: m
    }
end

To try and debug the code, I tried only processing some of the keys.
Of course then the code worked.
Eventually I found that the 'committers' entry is the culprit.
If one skips the loop body for that entry, then db-site is output correctly.

Any idea why the db-site members field appears to be being corrupted?
It looks like something is generating a Person entry with a null name
and storing it in the db-site members field.
Perhaps an issue with the LazyHash?

Reply via email to