It is currently 04 Sep 2025, 18:45
   
Text Size

Developing Bugs

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Developing Bugs

Postby Sloth » 26 May 2013, 08:59

Max mtg wrote:the first couple is bit out of scope of my current work. ATM I have no idea how to fix them.
Just to make sure: can you confirm that this is a bug caused by racing threads?

New bug: This one always pops up when i use "Setup Game State" (doesn't cause any harm) (r21682):
IllegalStateException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.IllegalStateException: forge.gui.InputProxy.update may not be accessed from the event dispatch thread.
   at forge.FThreads.assertExecutedByEdt(FThreads.java:64)
   at forge.gui.InputProxy.update(InputProxy.java:57)
   at java.util.Observable.notifyObservers(Unknown Source)
   at java.util.Observable.notifyObservers(Unknown Source)
   at forge.util.MyObservable.updateObservers(MyObservable.java:38)
   at forge.gui.GuiDisplayUtil.devSetupGameState(GuiDisplayUtil.java:288)
   at forge.gui.match.controllers.CDev$4.mousePressed(CDev.java:49)
   at java.awt.AWTEventMulticaster.mousePressed(Unknown Source)
   at java.awt.Component.processMouseEvent(Unknown Source)
   at javax.swing.JComponent.processMouseEvent(Unknown Source)
   at java.awt.Component.processEvent(Unknown Source)
   at java.awt.Container.processEvent(Unknown Source)
   at java.awt.Component.dispatchEventImpl(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
   at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
   at java.awt.Container.dispatchEventImpl(Unknown Source)
   at java.awt.Window.dispatchEventImpl(Unknown Source)
   at java.awt.Component.dispatchEvent(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$400(Unknown Source)
   at java.awt.EventQueue$2.run(Unknown Source)
   at java.awt.EventQueue$2.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developing Bugs

Postby Sloth » 26 May 2013, 09:07

r21683: Got this one again:

RuntimeException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.RuntimeException: Trying to unlock input which is not locked! Do check when your threads terminate!
   at forge.control.input.InputQueue.unlock(InputQueue.java:205)
   at forge.control.input.InputQueue$1.run(InputQueue.java:225)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)


And i can confirm that this one happens rather randomly when i hit Enter very fast:
RuntimeException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.RuntimeException: ComputerUtil : payManaCost() cost was not paid for Feral Hydra. Didn't find what to pay for 1
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:178)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:55)
   at forge.card.cost.CostPartMana.payAI(CostPartMana.java:160)
   at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:190)
   at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:119)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:898)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:847)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:75)
   at forge.control.input.InputQueue$1.run(InputQueue.java:224)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developing Bugs

Postby Max mtg » 26 May 2013, 09:11

I am not sure of that. Also, I've never seen this first bug myself.

The second one is simple - it has to be run from non-edt thread.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Developing Bugs

Postby Sloth » 26 May 2013, 09:20

Max mtg wrote:I am not sure of that. Also, I've never seen this first bug myself.
I'tested this boardstate (and hit Enter very fast):
Feral Hydra | Open
HumanCardsInPlay=Tainted Isle; Island; Swamp; Mountain; Mountain; Great Furnace; Great Furnace; Great Furnace; Forest; Forest; Plains; Plains; Plains; Marsh Flats; Blood Artist
AICardsInPlay=Plains; Plains; Plains;Island; Swamp; Mountain; Mountain; Swamp; Underground Sea; Mox Emerald; Mox Emerald; Marsh Flats; Quicksand
HumanCardsInHand=Ancestral Recall; Brainstorm; Island; Epochrasite; Lightning Bolt; Vindicate
AICardsInHand=Island; Swamp; Feral Hydra
AICardsInLibrary=Island; Swamp; Hypergenesis; Ancestral Recall; Hypergenesis; Ancestral Recall; Island; Swamp; Forest; Island; Swamp; Island; Swamp; Hypergenesis; Ancestral Recall; Kozilek, Butcher of Truth; Orzhov Guildgate
HumanCardsInGraveyard=Swamp; Forest; Island; Swamp; Forest; Island; Rancor; Ancestral Recall; Avian Changeling; Avian Changeling; Kuldotha Phoenix; Beast Attack; Anathemancer; Chains of Mephistopheles; Sigil of Sleep
AICardsInGraveyard=Avian Changeling; Avian Changeling; Swamp; Forest
AILife=13
HumanLife=11

The AI will cast Feral Hydra and pump it the next turn. One time everything worked fine and i was killed, one time i got this:
RuntimeException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.RuntimeException: ComputerUtil : payManaCost() cost was not paid for Feral Hydra. Didn't find what to pay for 1
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:178)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:55)
   at forge.card.cost.CostPartMana.payAI(CostPartMana.java:160)
   at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:190)
   at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:119)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:898)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:847)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:75)
   at forge.control.input.InputQueue$1.run(InputQueue.java:224)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
and one time i got these two again:
ArrayIndexOutOfBoundsException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.ArrayIndexOutOfBoundsException: -1
   at java.util.ArrayList.add(Unknown Source)
   at forge.Card.addSpellAbility(Card.java:2515)
   at forge.game.GameActionUtil.grantBasicLandsManaAbilities(GameActionUtil.java:697)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:897)
   at forge.game.GameAction.checkStateEffects(GameAction.java:930)
   at forge.card.mana.ManaPool.add(ManaPool.java:89)
   at forge.card.spellability.AbilityManaPart.produceMana(AbilityManaPart.java:125)
   at forge.card.ability.effects.ManaEffect.resolve(ManaEffect.java:169)
   at forge.card.ability.AbilityApiBased.resolve(AbilityApiBased.java:62)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1057)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1034)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:164)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:55)
   at forge.card.cost.CostPartMana.payAI(CostPartMana.java:160)
   at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:190)
   at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:119)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:899)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:847)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:73)
   at forge.control.input.InputQueue$1.run(InputQueue.java:222)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

ArrayIndexOutOfBoundsException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.ArrayIndexOutOfBoundsException: -1
   at java.util.ArrayList.fastRemove(Unknown Source)
   at java.util.ArrayList.remove(Unknown Source)
   at forge.Card.removeSpellAbility(Card.java:2534)
   at forge.game.GameActionUtil.grantBasicLandsManaAbilities(GameActionUtil.java:684)
   at forge.game.GameAction.checkStaticAbilities(GameAction.java:897)
   at forge.game.GameAction.checkStateEffects(GameAction.java:930)
   at forge.card.mana.ManaPool.add(ManaPool.java:89)
   at forge.card.spellability.AbilityManaPart.produceMana(AbilityManaPart.java:125)
   at forge.card.ability.effects.ManaEffect.resolve(ManaEffect.java:169)
   at forge.card.ability.AbilityApiBased.resolve(AbilityApiBased.java:62)
   at forge.card.ability.AbilityUtils.resolveApiAbility(AbilityUtils.java:1057)
   at forge.card.ability.AbilityUtils.resolve(AbilityUtils.java:1034)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:164)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:55)
   at forge.card.cost.CostPartMana.payAI(CostPartMana.java:160)
   at forge.card.cost.CostPayment.payComputerCosts(CostPayment.java:190)
   at forge.game.ai.ComputerUtil.handlePlayingSpellAbility(ComputerUtil.java:119)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:899)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:847)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:73)
   at forge.control.input.InputQueue$1.run(InputQueue.java:222)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developing Bugs

Postby Max mtg » 26 May 2013, 10:06

With your save I achieved
"ConcurrentModificationException" | Open
Code: Select all
java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
   at java.util.ArrayList$Itr.next(Unknown Source)
   at java.util.Collections$UnmodifiableCollection$1.next(Unknown Source)
   at forge.game.ai.ComputerUtilMana.getAIPlayableMana(ComputerUtilMana.java:659)
   at forge.game.ai.ComputerUtilMana.getAvailableMana(ComputerUtilMana.java:513)
   at forge.game.ai.ComputerUtilMana.groupSourcesByManaColor(ComputerUtilMana.java:586)
   at forge.game.ai.ComputerUtilMana.payManaCost(ComputerUtilMana.java:98)
   at forge.game.ai.ComputerUtilMana.canPayManaCost(ComputerUtilMana.java:46)
   at forge.game.ai.ComputerUtilCost.canPayCost(ComputerUtilCost.java:367)
   at forge.game.ai.AiController.canPlayAndPayFor(AiController.java:480)
   at forge.game.ai.AiController.chooseSpellAbilyToPlay(AiController.java:460)
   at forge.game.ai.AiController.getSpellAbilityToPlay(AiController.java:106)
   at forge.game.ai.AiController.playSpellAbilities(AiController.java:895)
   at forge.game.ai.AiController.onPriorityRecieved(AiController.java:847)
   at forge.game.ai.AiInputCommon$1.run(AiInputCommon.java:75)
But why? No other thread is supposed to checkState effects at that point
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Developing Bugs

Postby Max mtg » 26 May 2013, 12:40

About that mana issue: AI is paying {3} to add counter to hydra. We should make sure that AI checks if it has enough mana to pay for it

I commited r21689 but this does not seem to help
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Developing Bugs

Postby Sloth » 26 May 2013, 12:56

Max mtg wrote:About that mana issue: AI is paying {3} to add counter to hydra. We should make sure that AI checks if it has enough mana to pay for it
When the error happened the AI still had enough lands to tap.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developing Bugs

Postby Sloth » 26 May 2013, 14:17

Got a new one (r21698):
RuntimeException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.RuntimeException: Inputs adding/removal into stack is imbalanced! Check your code again!
   at forge.control.input.InputQueue.removeInput(InputQueue.java:115)
   at forge.control.input.InputSyncronizedBase$1.run(InputSyncronizedBase.java:35)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
and after that the "Trying to unlock input which is not locked!" again.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developing Bugs

Postby Max mtg » 26 May 2013, 14:59

These won't help without circumstances when they happen. There are only 5 places left that use input lock:
- Karn restarts game
- InputPayMana locks while mana ab is resolved
- fillRequirements lock ui to avoid accidential updates breaking the process of target selection (Boros Battleshaper needs it)

- lock during human play SA from inputPassPriority // can remove?
- lock in cleanup phase. // this one might be removed without no consequences
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Developing Bugs

Postby Sloth » 26 May 2013, 16:10

Max mtg wrote:These won't help without circumstances when they happen. There are only 5 places left that use input lock:
I got this error two times when i activated Feral Hydras ability (quickly after hitting Enter a lot).

RuntimeException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.RuntimeException: Inputs adding/removal into stack is imbalanced! Check your code again!
   at forge.control.input.InputQueue.removeInput(InputQueue.java:115)
   at forge.control.input.InputSyncronizedBase$1.run(InputSyncronizedBase.java:35)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developing Bugs

Postby Max mtg » 26 May 2013, 17:02

Sloth, I caught that mana payment bug.

The debug output reads
Code: Select all
Game-1 > [PROD] payment *PAID* for (Feral Hydra (159))+0 3: Put a +1/+1 counter on Feral Hydra. Any player may activate this ability.:
   1 : (Mox Emerald (191)) Tap: Add G to your mana pool.
   1 : (Quicksand (193)) Tap: Add 1 to your mana pool.
   1 : (Mox Emerald (190)) Tap: Add G to your mana pool.

Game-0 > [PROD] payment *PAID* for (Feral Hydra (159))+0 3: Put a +1/+1 counter on Feral Hydra. Any player may activate this ability.:
   1 : (Mountain (186)) Tap: Add R to your mana pool.
   1 : (Island (157)) Tap: Add U to your mana pool.
   1 : (Swamp (172)) Tap: Add B to your mana pool.
That means that at some point AI is operating from several threads at a time!
Race condition in its best shape
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Developing Bugs

Postby Sloth » 26 May 2013, 17:56

Max mtg wrote:Sloth, I caught that mana payment bug.

The debug output reads
Code: Select all
Game-1 > [PROD] payment *PAID* for (Feral Hydra (159))+0 3: Put a +1/+1 counter on Feral Hydra. Any player may activate this ability.:
   1 : (Mox Emerald (191)) Tap: Add G to your mana pool.
   1 : (Quicksand (193)) Tap: Add 1 to your mana pool.
   1 : (Mox Emerald (190)) Tap: Add G to your mana pool.

Game-0 > [PROD] payment *PAID* for (Feral Hydra (159))+0 3: Put a +1/+1 counter on Feral Hydra. Any player may activate this ability.:
   1 : (Mountain (186)) Tap: Add R to your mana pool.
   1 : (Island (157)) Tap: Add U to your mana pool.
   1 : (Swamp (172)) Tap: Add B to your mana pool.
That means that at some point AI is operating from several threads at a time!
Race condition in its best shape
Good work Max! =D>

I've tested some games and didn't get any fatal error. Just once i got this one while just hitting Enter through the phases (r21706):
RuntimeException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.6.0_38 Sun Microsystems Inc.

java.lang.RuntimeException: Inputs adding/removal into stack is imbalanced! Check your code again!
   at forge.control.input.InputQueue.removeInput(InputQueue.java:115)
   at forge.control.input.InputSyncronizedBase$1.run(InputSyncronizedBase.java:35)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Developing Bugs

Postby Max mtg » 26 May 2013, 18:13

Next candidate revision fixing this bug is 21709.

It had nothing in common with fast hitting Enter.
MagicStack was updating InputProxy, that is when AI activated hydra's ability and put it onto stack, InputProxy queued in EDT showMessage of AiInputCommon, that spawned another thread and ran AiController.onPriorityRecieved there.

Those threads certainly came to a place when they checked mana avaliability and rushed to pay the same mana to pump hydra.


Well, there's yet a next bug: hydra attacks, I block with Blood Artist and input gets locked!
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Developing Bugs

Postby Max mtg » 26 May 2013, 18:57

The last one was also dealt with.

I could not reproduce any other bugs.
Single class for single responsibility.
Max mtg
Programmer
 
Posts: 1997
Joined: 02 Jul 2011, 14:26
Has thanked: 173 times
Been thanked: 334 times

Re: Developing Bugs

Postby friarsol » 27 May 2013, 01:24

r21716

Conceding when Mulligan input is visible (because I realized I choose the wrong deck).

NullPointerException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_21 Oracle Corporation

java.lang.NullPointerException
   at forge.gui.match.controllers.CDock.findAffectedPlayer(CDock.java:77)
   at forge.gui.match.controllers.CDock.concede(CDock.java:94)
   at forge.control.FControl$2.windowClosing(FControl.java:139)
   at java.awt.Window.processWindowEvent(Window.java:2051)
   at javax.swing.JFrame.processWindowEvent(JFrame.java:296)
   at java.awt.Window.processEvent(Window.java:2009)
   at java.awt.Component.dispatchEventImpl(Component.java:4861)
   at java.awt.Container.dispatchEventImpl(Container.java:2287)
   at java.awt.Window.dispatchEventImpl(Window.java:2719)
   at java.awt.Component.dispatchEvent(Component.java:4687)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:729)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:688)
   at java.awt.EventQueue$3.run(EventQueue.java:686)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
   at java.awt.EventQueue$4.run(EventQueue.java:702)
   at java.awt.EventQueue$4.run(EventQueue.java:700)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:699)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 37 guests

Main Menu

User Menu

Our Partners


Who is online

In total there are 37 users online :: 0 registered, 0 hidden and 37 guests (based on users active over the past 10 minutes)
Most users ever online was 7303 on 15 Jul 2025, 20:46

Users browsing this forum: No registered users and 37 guests

Login Form