• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Konair0s

Komisarz ludowy
49 Badges
Jul 28, 2011
1.369
818
  • Europa Universalis IV: Res Publica
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Heir to the Throne
  • Lead and Gold
  • The Kings Crusade
  • Magicka
  • Majesty 2
  • Penumbra - Black Plague
  • Pirates of Black Cove
  • Hearts of Iron II: Armageddon
  • Victoria: Revolutions
  • Rome Gold
  • Semper Fi
  • Sengoku
  • Sword of the Stars II
  • Supreme Ruler: Cold War
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Rome: Vae Victis
  • Europa Universalis IV: Wealth of Nations
  • Arsenal of Democracy
  • Cities in Motion
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Commander: Conquest of the Americas
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • East India Company Collection
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Conquest of Paradise
  • For The Glory
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • 500k Club
  • War of the Roses
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
It would be great if you could port this to Mono. Now it shows this:
Unhandled Exception: System.Security.SecurityException: No access to the given key
at Microsoft.Win32.KeyHandler..ctor (Microsoft.Win32.RegistryKey rkey, System.String basedir, Boolean is_volatile) [0x00000] in <filename unknown>:0
at Microsoft.Win32.KeyHandler..ctor (Microsoft.Win32.RegistryKey rkey, System.String basedir) [0x00000] in <filename unknown>:0
at Microsoft.Win32.KeyHandler.Lookup (Microsoft.Win32.RegistryKey rkey, Boolean createNonExisting) [0x00000] in <filename unknown>:0
at Microsoft.Win32.UnixRegistryApi.OpenSubKey (Microsoft.Win32.RegistryKey rkey, System.String keyname, Boolean writable) [0x00000] in <filename unknown>:0
at Microsoft.Win32.RegistryKey.OpenSubKey (System.String name, Boolean writable) [0x00000] in <filename unknown>:0
at Microsoft.Win32.RegistryKey.OpenSubKey (System.String name) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) Microsoft.Win32.RegistryKey:OpenSubKey (string)
at Audax.Validator.Boot.FrameworkVersionCheck.HasRequiredVersion () [0x00000] in <filename unknown>:0
at Audax.Validator.Boot.FrameworkVersionCheck.Check40Installed () [0x00000] in <filename unknown>:0
at Audax.Validator.Boot.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Security.SecurityException: No access to the given key
at Microsoft.Win32.KeyHandler..ctor (Microsoft.Win32.RegistryKey rkey, System.String basedir, Boolean is_volatile) [0x00000] in <filename unknown>:0
at Microsoft.Win32.KeyHandler..ctor (Microsoft.Win32.RegistryKey rkey, System.String basedir) [0x00000] in <filename unknown>:0
at Microsoft.Win32.KeyHandler.Lookup (Microsoft.Win32.RegistryKey rkey, Boolean createNonExisting) [0x00000] in <filename unknown>:0
at Microsoft.Win32.UnixRegistryApi.OpenSubKey (Microsoft.Win32.RegistryKey rkey, System.String keyname, Boolean writable) [0x00000] in <filename unknown>:0
at Microsoft.Win32.RegistryKey.OpenSubKey (System.String name, Boolean writable) [0x00000] in <filename unknown>:0
at Microsoft.Win32.RegistryKey.OpenSubKey (System.String name) [0x00000] in <filename unknown>:0
at (wrapper remoting-invoke-with-check) Microsoft.Win32.RegistryKey:OpenSubKey (string)
at Audax.Validator.Boot.FrameworkVersionCheck.HasRequiredVersion () [0x00000] in <filename unknown>:0
at Audax.Validator.Boot.FrameworkVersionCheck.Check40Installed () [0x00000] in <filename unknown>:0
at Audax.Validator.Boot.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

Mono JIT compiler version 2.10.8.1

At least command-line tool (I think Linux users would be fine with it :)).
 
Last edited:

Jamie550

'
53 Badges
Jan 29, 2007
4.225
197
  • Stellaris: Leviathans Story Pack
  • Victoria 2
  • 200k Club
  • 500k Club
  • Europa Universalis IV: Pre-order
  • Victoria 2 Beta
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sons of Abraham
  • Deus Vult
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Call to arms event
  • Arsenal of Democracy
  • For the Motherland
  • Galactic Assault
  • Hearts of Iron III
  • Heir to the Throne
  • Europa Universalis III Complete
  • Knights of Pen and Paper +1 Edition
  • Magicka
  • March of the Eagles
  • Europa Universalis III Complete
  • Victoria: Revolutions
  • Europa Universalis: Rome
  • Semper Fi
I am currently working on a new version of the Validator. It will not initially support either Ck2 or Eu4, but eventually it may do so. (Is Eu4 out yet? Do I need to make a validator for that?)

The current Validator will continue to be developed with bug fixes and stuff as necessary, and will probably be used for Eu4 since the new one won't be ready for a bit.

Why? Basically, in the current Validator, I often want to do something, but the architecture makes it really difficult to do. Changing it is immensely difficult and leads to misery. So it's easier to start over with a clean slate.

The new Validator will have a CLI that supports popular OSes, and likely a GUI that won't work on all popular OSes.

So, what are your top features of the Validator that you use, or that you'd want. I need to know what is most important to people and get those set up first. Examples include: a GUI, non-Windows support, Windows support, comment metadata, helpful error correction + suggestion, errors that go to the file directly, and whatever you want.
 

Meneth

Crusader Kings 3 Programmer
153 Badges
Feb 9, 2011
10.056
5.378
www.paradoxwikis.com
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Holy Knight (pre-order)
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Hearts of Iron IV: Expansion Pass
  • Steel Division: Normand 44 Sign-up
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: El Dorado
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Field Marshal
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH: Flashpoint
  • Crusader Kings II: Conclave
  • Surviving Mars
  • Cities: Skylines Industries
  • Stellaris: Galaxy Edition
  • BATTLETECH
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Stellaris: Humanoids Species Pack
  • Prison Architect
  • Crusader Kings II: The Old Gods
  • Cities: Skylines - Campus
  • Hearts of Iron IV: No Step Back
  • BATTLETECH - Digital Deluxe Edition
  • Crusader Kings Complete
  • Cities: Skylines - Parklife
  • Europa Universalis IV
  • Age of Wonders III
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • 500k Club
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis III Complete
  • Cities: Skylines - Mass Transit
  • Europa Universalis III Complete
  • Cities: Skylines - Green Cities
  • Teleglitch: Die More Edition
  • Europa Universalis IV: Rule Britannia
I am currently working on a new version of the Validator. It will not initially support either Ck2 or Eu4, but eventually it may do so. (Is Eu4 out yet? Do I need to make a validator for that?)

The current Validator will continue to be developed with bug fixes and stuff as necessary, and will probably be used for Eu4 since the new one won't be ready for a bit.

Why? Basically, in the current Validator, I often want to do something, but the architecture makes it really difficult to do. Changing it is immensely difficult and leads to misery. So it's easier to start over with a clean slate.

The new Validator will have a CLI that supports popular OSes, and likely a GUI that won't work on all popular OSes.

So, what are your top features of the Validator that you use, or that you'd want. I need to know what is most important to people and get those set up first. Examples include: a GUI, non-Windows support, Windows support, comment metadata, helpful error correction + suggestion, errors that go to the file directly, and whatever you want.
I think it is important to note that CKII is by far the most popular CKII game out (the CKII Wiki gets more traffic than my other 4 wikis combined), so it would be wise to ensure it works with it.

As to features:
A basic GUI is important (though I can personally handle a command line just fine, I'd prefer a GUI)
Windows support. The other OSes is not a priority to me, though I imagine people who use them would rather like that ;)
If most/all errors can go to the appropriate line in the for the relevant mod file that'd be great, yeah

Beyond that the most important thing to me is really just clear, understandable error messages. If I can't figure out what the Validator is actually reacting to it isn't particularly helpful. The current version handles this nicely though.
The automatic correction feature is not something I've ever used. I prefer fixing errors manually in nearly all cases.

Can't think of anything important beyond that.
 

Zaldax

Captain
36 Badges
Mar 12, 2011
307
2
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Call to arms event
  • Hearts of Iron III
  • Crusader Kings II
  • Rome Gold
  • Stellaris: Synthetic Dawn
  • Stellaris: Necroids
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Prison Architect
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Crusader Kings III
  • Crusader Kings III: Royal Edition
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Tyranny: Archon Edition
  • Hearts of Iron IV: Cadet
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Europa Universalis IV: Pre-order
  • 500k Club
  • Rome: Vae Victis
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
Getting another error again. It's just my luck that it's in the area I know is somehow causing a CTD! :/

Code:
Beginning validation...
Beginning Bookmarks validation...
Bookmarks validation complete in 34 ms!
Beginning Buildings validation...
Buildings validation complete in 4417 ms!
Beginning Casus belli validation...
Casus belli validation complete in 1018 ms!
Beginning Characters validation...

ec) EXCEPTION CONTEXT
ec) Validation Task: Characters
Validation Key: CharacterFile
Validation Type: Audax.Validator.TypeExtension.DeclarativeValidatorJob



ERROR
System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   --- End of inner exception stack trace ---
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector)
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.LoadDb()
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.GetChar(String target)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.GetMe(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharMaxAgeCheck.Run(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.RunOnElement(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.DeclarativeValidatorWorker.Validate()
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.ValidateOverride()
   at Audax.Validator.ValidatorJobBase.Validate()
   at Audax.Validator.ValidatorJob.Validate()
   at Audax.Validator.GameValidator.<>c__DisplayClass5.<Validate>b__3(ValidatorJob val)
   at System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.<ForWorker>b__c()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass10.<ExecuteSelfReplicating>b__f(Object param0)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body)
   at Audax.Validator.GameValidator.Validate(Action onEachValidatorCompleteAction)
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   --- End of inner exception stack trace ---
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector)
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.LoadDb()
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.GetChar(String target)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.GetMe(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharMaxAgeCheck.Run(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.RunOnElement(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.DeclarativeValidatorWorker.Validate()
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.ValidateOverride()
   at Audax.Validator.ValidatorJobBase.Validate()
   at Audax.Validator.ValidatorJob.Validate()
   at Audax.Validator.GameValidator.<>c__DisplayClass5.<Validate>b__3(ValidatorJob val)
   at System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.<ForWorker>b__c()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass10.<ExecuteSelfReplicating>b__f(Object param0)
---> (Inner Exception #0) System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)<---
<---

If I uncheck "characters", the same thing happens, but instead at title history.
 

Jamie550

'
53 Badges
Jan 29, 2007
4.225
197
  • Stellaris: Leviathans Story Pack
  • Victoria 2
  • 200k Club
  • 500k Club
  • Europa Universalis IV: Pre-order
  • Victoria 2 Beta
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sons of Abraham
  • Deus Vult
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Call to arms event
  • Arsenal of Democracy
  • For the Motherland
  • Galactic Assault
  • Hearts of Iron III
  • Heir to the Throne
  • Europa Universalis III Complete
  • Knights of Pen and Paper +1 Edition
  • Magicka
  • March of the Eagles
  • Europa Universalis III Complete
  • Victoria: Revolutions
  • Europa Universalis: Rome
  • Semper Fi
Getting another error again. It's just my luck that it's in the area I know is somehow causing a CTD! :/

Code:
Beginning validation...
Beginning Bookmarks validation...
Bookmarks validation complete in 34 ms!
Beginning Buildings validation...
Buildings validation complete in 4417 ms!
Beginning Casus belli validation...
Casus belli validation complete in 1018 ms!
Beginning Characters validation...

ec) EXCEPTION CONTEXT
ec) Validation Task: Characters
Validation Key: CharacterFile
Validation Type: Audax.Validator.TypeExtension.DeclarativeValidatorJob



ERROR
System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   --- End of inner exception stack trace ---
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector)
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.LoadDb()
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.GetChar(String target)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.GetMe(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharMaxAgeCheck.Run(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.RunOnElement(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.DeclarativeValidatorWorker.Validate()
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.ValidateOverride()
   at Audax.Validator.ValidatorJobBase.Validate()
   at Audax.Validator.ValidatorJob.Validate()
   at Audax.Validator.GameValidator.<>c__DisplayClass5.<Validate>b__3(ValidatorJob val)
   at System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.<ForWorker>b__c()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass10.<ExecuteSelfReplicating>b__f(Object param0)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body)
   at Audax.Validator.GameValidator.Validate(Action onEachValidatorCompleteAction)
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   --- End of inner exception stack trace ---
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector)
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.LoadDb()
   at Audax.Validator.Clausewitz.Ck2.CharacterDb.GetChar(String target)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.GetMe(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharMaxAgeCheck.Run(ElementNode node)
   at Audax.Validator.Clausewitz.Ck2.CharConstraintBase.RunOnElement(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.PlaceholderConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ChildConstraintSystem.ChildConstraint.Validate(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ValidateInstanceAsBase(ElementNode node, NodeFlags flags)
   at Audax.Validator.TypeCore.ComplexConstraint.ComplexConstraintWorker.ElementValidate(ElementNode node)
   at Audax.Validator.TypeCore.ComplexConstraint.ElementValidate(ElementNode node)
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.DeclarativeValidatorWorker.Validate()
   at Audax.Validator.TypeExtension.DeclarativeValidatorJob.ValidateOverride()
   at Audax.Validator.ValidatorJobBase.Validate()
   at Audax.Validator.ValidatorJob.Validate()
   at Audax.Validator.GameValidator.<>c__DisplayClass5.<Validate>b__3(ValidatorJob val)
   at System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.<ForWorker>b__c()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass10.<ExecuteSelfReplicating>b__f(Object param0)
---> (Inner Exception #0) System.ArgumentException: An item with the same key has already been added.
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
   at System.Linq.ParallelEnumerable.ToDictionary[TSource,TKey,TElement](ParallelQuery`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)<---
<---

If I uncheck "characters", the same thing happens, but instead at title history.

Wait, this exact same error still happens with 1.4.2? As far as I can see it should not.
 

Darkgamma

Ma Xamewš Xewaham Kered Fer
30 Badges
Apr 6, 2010
5.972
151
  • Crusader Kings II: Sunset Invasion
  • Sengoku
  • Europa Universalis IV
  • 500k Club
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Holy Fury
this program is actually a must-have for the paradox game developers and i hope they use it to check their game data prior to releasing a new patch or extension.
What can I say except a simple "H3H3H3"
 

futuregary

Quaestor Lucis
5 Badges
Aug 22, 2011
1.155
24
  • Crusader Kings II
  • Victoria: Revolutions
  • Victoria 2: A House Divided
  • Victoria 2
  • 500k Club
I've noticed an error: I have the Validator set to scan for mod errors only, yet duplicate IDs with vanilla files are still showing up.
 

Jamie550

'
53 Badges
Jan 29, 2007
4.225
197
  • Stellaris: Leviathans Story Pack
  • Victoria 2
  • 200k Club
  • 500k Club
  • Europa Universalis IV: Pre-order
  • Victoria 2 Beta
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris - Path to Destruction bundle
  • Stellaris: Synthetic Dawn
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Federations
  • Stellaris: Necroids
  • Stellaris: Nemesis
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sons of Abraham
  • Deus Vult
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • Europa Universalis IV: Call to arms event
  • Arsenal of Democracy
  • For the Motherland
  • Galactic Assault
  • Hearts of Iron III
  • Heir to the Throne
  • Europa Universalis III Complete
  • Knights of Pen and Paper +1 Edition
  • Magicka
  • March of the Eagles
  • Europa Universalis III Complete
  • Victoria: Revolutions
  • Europa Universalis: Rome
  • Semper Fi
I've noticed an error: I have the Validator set to scan for mod errors only, yet duplicate IDs with vanilla files are still showing up.

The Validator is supposed to show the error if either of the duplicates are found in a mod. Since if your mod conflicts with vanilla, you should probably fix your mod. Or do you mean that vanilla files that are overwritten by files in the mod still show up?
 

futuregary

Quaestor Lucis
5 Badges
Aug 22, 2011
1.155
24
  • Crusader Kings II
  • Victoria: Revolutions
  • Victoria 2: A House Divided
  • Victoria 2
  • 500k Club
The Validator is supposed to show the error if either of the duplicates are found in a mod. Since if your mod conflicts with vanilla, you should probably fix your mod. Or do you mean that vanilla files that are overwritten by files in the mod still show up?

The latter. These are the localisations, which haven't shown up before when it was set to "show mod errors", at least not for me.
 

schwarherz

CKPlus Triumvirate
77 Badges
Jun 3, 2012
2.032
587
  • Crusader Kings II: Charlemagne
  • Stellaris - Path to Destruction bundle
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Magicka
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Stellaris: Distant Stars
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Tyranny: Archon Edition
  • Cities: Skylines - Mass Transit
  • BATTLETECH
  • Surviving Mars
  • PDXCon 2017 Awards Winner
  • Shadowrun Returns
  • Crusader Kings II: Jade Dragon
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Cadet
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Conclave
  • Cities: Skylines - After Dark
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Pre-order
  • Stellaris: Nemesis
  • 500k Club
  • Victoria 2
Does anyone else have this issue? I can't seem to reproduce it

I think I MIGHT be getting the same issue, if I'm reading this correctly.

validator2_zps78f16187.png
 

schwarherz

CKPlus Triumvirate
77 Badges
Jun 3, 2012
2.032
587
  • Crusader Kings II: Charlemagne
  • Stellaris - Path to Destruction bundle
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Semper Fi
  • Victoria: Revolutions
  • Magicka
  • Hearts of Iron III Collection
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III
  • For the Motherland
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Stellaris: Distant Stars
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Tyranny: Archon Edition
  • Cities: Skylines - Mass Transit
  • BATTLETECH
  • Surviving Mars
  • PDXCon 2017 Awards Winner
  • Shadowrun Returns
  • Crusader Kings II: Jade Dragon
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Cadet
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Conclave
  • Cities: Skylines - After Dark
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Pre-order
  • Stellaris: Nemesis
  • 500k Club
  • Victoria 2
http://forum.paradoxplaza.com/forum/showthread.php?711348-1.11-custom_tooltip

Please have a look at this thread, an undocumented syntax change in the last patch.

also the "add_trait=" in character lists is now "trait="

Hmm, and in your mod folder you have files called "localisation\SwordOfIslam.csv", "localisation\text1.csv", etc?

hm ok that's weird no I don't. Strange because I didn't get those particular conflicts before. Wonder if some file names changed? Ah well.