Track constraint checking

Closes #997
Closes #514
Closes #637

Review: By file
Merge strategy: Merge (no squash)

Description
This PR adds constraint run tracking. The way it's currently working is each constraint_run record is tied to a constraint that was checked. Regardless on if that constraint had violations or not we save a record to the constraint_run table that includes basic constraint information and the violations that were encountered. This allows us to reuse those violations in subsequent constraint violation checks.
There is also staleness checking for the runs through a field called definition_outdated. This field tracks if the constraint definition has changed since the violations were checked last.
There is also staleness checking for the runs, each record gets the status resolved when it has been saved to the db. If the user makes a change to a constraint with any resolved runs, those affected runs get a status change to constraint-outdated. This works the same way for simulations, if a violation check happened and then the user runs a new simulation all constraint runs for that previous dataset are marked as simulation-outdated.
This is my first big PR for aerie-merlin so please hit me with some feedback!
Verification
Manual tests, I need to work on adding some real tests but I wanted to get the PR up for review first. Expect another commit with tests.
To verify everything is working properly you can do the following:

Create a model and a plan.
Add a constraint to the plan (I used return Real.Resource('/peel').greaterThan(x); for a lot of my testing).
Add an activity to the plan and simulate.
Do a constraint violation check, the constraint_run table now should be populated with a single entry and it shouldn't be marked as outdated.
Go modify your constraint, that entry in the definition_outdated field should now be true.
Do another constraint violation check, the entry should be marked as not outdated again.

1. Create a model and a plan.
2. Add a constraint to the plan (I used return Real.Resource('/peel').greaterThan(x); for a lot of my testing).
3. Add an activity to the plan and simulate.
4. Do a constraint violation check, the constraint_run table now should be populated with a single entry with a status resolved.
7. Go modify your constraint, that entry in the db should be now marked as constraint-outdated.
8. Do another constraint violation check, a new entry should exist in the table with a status resolved.
9. Add another activity and re-simulate.
10. The newest entry in the constraint_run table should now be marked simulation-outdated.
You can also run the constraint violation check in succession to test the caching behavior.
Documentation
I'll update aerie docs to add information about constraint run tracking after this PR is created. Link will be added here.
Future work
Going to work on #514 as a separate ticket.

Works great! Tested with a couple constraints in the demo mission model. Created NASA-AMMOS/aerie-ui#770 to update the UI to use the new table. Good to go.

Thanks Chris!


Document behaviour with multiple WSGI workers (Gunicorn etc)

How does this app work with Gunicorn worker processes?
Say we got 2 cores with 2 Gunicorn workers per core, for a total of 4 WSGI processes. What does this mean for django-multicore?

Hi. I will have to check that. The question I have to answer is should each worker have its own pool of extra processes or must only the parent process start a pool of extra processes. This repo is still very new and I haven't got to testing that.

I've tested it. Each gunicorn worker will iself also start number-of-core sub-processes. This is expected because gunicorn forks the master process. It is also required because each gunicorn worker has no access to the master's pool of sub-processes. If we use pipes for IPC it may be possible to use only one pool amoung all gunicorn workers, but I've since moved to using memory mapping because the overhead of pipes is too large.
Ok, back to results. Running with gunicorn -w 2 starts 11 Python processes in total for me. Each individual gunicorn worker has its own multicore sub-process pool. I proceeded to hit my instance with 2 concurrent clients doing 200 requests sequentially. I was expecting issues because of the sheer amount of Python processes but the converse happened: per-core utilizations was much better, getting close to 100%, and response times were good. FYI I was testing a patched Django Rest Framework list call with an expensive serializer.
In summary:
Single core has 0.85 second response time.
Multicore with one client has 0.4 second response time.
Multicore with 2 concurrent clients has 0.8 second response time.

Updated the readme


[admin] (Localization) Upgrade loc priority for Cache Clearing article

Given the popularity of this article, we should ensure it's accuracy in localized doc sets.

Docs Build status updates of commit 450480e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/testing/clear-cache.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit 450480e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/testing/clear-cache.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Github campus expert

I want to become a github campus expert but finds difficulty in doing it

I want to become a github campus expert but finds difficulty in doing it

Before applying in Github campus expert you should follow the following and then it make easy in doing:

Community contribution
Provide as much as quality education to other
Support your colleagues who didn't aware about community, open-source, hackathon
Honest with the community


Size-based cleanup for dnf-json cache directories

This PR implements size-based garbage collection for the dnf-json cache directory, based on the outline in https://github.com/osbuild/osbuild-composer/issues/2446.
The workflow is as follows:

Update the mtime for a repository's cache on-disk using touchRepo() whenever it's used in a transaction (Depsolve() or FetchMetadata()).
Update the internal cache information when needed by calling updateInfo() (see note below about the frequency of this call).
Shrink the cache to below the configured maxSize by calling shrink().

The most important work happens in updateInfo().  It collects all the information it needs from the on-disk cache directories and organises it in a way that makes it convenient for the shrink() function to run efficiently.  It stores three important pieces of information:

repoElements: a map that links a repository ID with all the information about a repository's cache:

the top-level elements (files and directories) for the cache
size of the repository cache (total of all elements)
most recent mtime from all the elements which, if the touchRepo() call is consistently used, should reflect the most recent time the repository was used

repoRecency: a list of repository IDs sorted by mtime (oldest first)
size: the total size of the cache (total of all repository caches)

This way, when shrink() is called, the paths associated with the least-recently-used repositories can be easily deleted by iterating on repoRecency, obtaining the repository info from the map, deleting every path in the repoElements array, and subtracting the repository's size from the total.  The shrink() function stops when the new size is below the maxSize (or when all repositories have been deleted).
Locks
Each cache instance has a RWMutex lock.  A global map of cache locks is maintained, keyed by the absolute path to the cache directory, so multiple cache instances can coexist and share locks if they use the same cache root.
The RWMutex lock allows for multiple concurrent read locks to be held or one exclusive write lock.  A read lock is acquired for every transaction and a write lock is acquired when deleting caches.
The read lock is a bit of a misnomer since a transaction can (and will) write files to an individual repository's metadata cache.  Since dnf takes care of locking individual repository caches when in use, we don't need an exclusive lock for these transactions.
The write lock prevents any transactions from running, regardless of repository, when a cleanup (shrink()) is being run.
No interprocess locking
I considered (and implemented) file-based locking of the cache with the same logic as the RWMutex.  This worked and provided locks across processes, but required more work to release locks when osbuild-composer was interrupted or killed.  I think it's fine to just require (as a policy) that multiple potential instances of osbuild-composer, osbuild-worker, or perhaps a future dnf-json service don't share a cache.
Note on updateInfo()
The function is called after every transaction, which might seem like a lot of work to do every time Depsolve() is called, especially when running multiple transactions successively for a single manifest.  I considered at some point keeping an internal timestamp (lastUpdated) of the last time the info was updated (the mtime and size).  The idea was that if the lastUpdated was before info.mtime, then the size data might be outdated and it should be reread.
I reconsidered because this felt like excessive book-keeping.  In reality, updating the size info consists of a handful of stat calls per repo and, on top of that, the system caches the stat info anyway, so we can let the system keep it efficient for us.

I have only glanced at the code and I think it looks fine!
I just wanted to highlight the behavioural change:  Currently we fill the cache if it "overflows" we clear all of it and let it re-fill. The size-based clearing obviously changes this (intentionally). Let's assume we have N different cache items (say from different RHEL composes) that are all roughly the same size K. N*K is smaller than the limit but (N+1)*K is over it. We would clean up only one cache item and the next new item would kick us over the limit again. That is, we are operating at the cache limit most of the time (more possible cache hits) but also have to do the cleanup more often (depsolve jobs more often will have a small extra latency instead of one bigger one less frequently). I wonder if we could collect metrics on this to better guide us about this, since we could also have an extra parameter that would specify how much below the limit to shrink, i.e. how much we "bounce".

Yeah you make a good point.  A bounce would be a good solution.
I suspect that this might be less of an issue in reality (though we'd have to investigate).  It depends on how fast the repo turnover is.  It's possible that with a big enough maxSize (big enough to hold all frequently used repos and some old unused ones), that we'd be cleaning up a repo very infrequently (only when a new set comes in).  But also, what's the situation in prod?  We have the CDNs, which means the same repos get reused for the lifetime of a distro.  If we can keep around all repo caches for say 5 distributions (RHEL 9.0, RHEL 8.6, RHEL 8.5, CS9, CS8), then as soon as RHEL 8.7 gets added, we'd drop 8.5 and nothing changes again for a long time.
This is oversimplified of course because the sizes aren't uniform and I don't know anything about the RHEL vs CS usage patterns.  It might be more likely that CS8 and CS9 get cleaned because they're rarely used maybe?  User defined repositories will probably always be the first to go and then the cache stays stable for 6 months until the next distro arrives.
@Gundersanne can you comment on this?


Use statusPage/healthCheckUrlPath w/ custom management.port

Fixes gh-1348
Take into account the statusPageUrlPath and healthCheckUrlPath values when building statusPageUrl and healthCheckUrl.

Current coverage is 73.76% (diff: 100%)

Merging #1349 into master will increase coverage by 0.05%

@@             master      #1349   diff @@
==========================================
  Files           184        184
  Lines          5569       5573     +4
  Methods           0          0
  Messages          0          0
  Branches        854        856     +2
==========================================
+ Hits           4105       4111     +6
+ Misses         1162       1160     -2
  Partials        302        302

Powered by Codecov. Last update 85eab87...7f2b9af

@Value doesn't take relaxed binding into account. I'll take a look in a bit

@mattcj thanks for the quick turnaround and tests!

Thank you.
Sent from my iPhone

On Sep 15, 2016, at 9:20 PM, Spencer Gibb<EMAIL_ADDRESS>wrote:
@mattcj thanks for the quick turnaround and tests!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Feat:Allow users to mark songs as favorites for quick access and also implement user aunthentication

Describe the feature
For storing user preferences such as favorite songs, playlists, etc., if needed.
Add ScreenShots
Sample  image link:  https://i.pinimg.com/originals/5c/63/8d/5c638d35b9b92257cd19fd06f6c90298.jpg
this like we adding like symbol to store favourite lists
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Thank you

@ksatya2003  do it as soon as possible

Thank you very much @saurabhsingh720

@saurabhsingh720 when will i submit this assignment

@ksatya2003 complete it within 2-3 days

ok sir
On Wed, May 15, 2024 at 9:10 PM Saurabh Singh @.***>
wrote:

@ksatya2003 https://github.com/ksatya2003 complete it within 2-3 days
—
Reply to this email directly, view it on GitHub
https://github.com/Satyam1923/Spring-Music-Player/issues/99#issuecomment-2112886353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2LXUQOKWL73MIY5YPIY6Y3ZCN6WNAVCNFSM6AAAAABHVO422KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJSHA4DMMZVGM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Release Cookbook Version: Server response of 400 should fail the task with debug info

Version
1.4.21
Repro steps:
Use the task, setting the cookbook version number to a non-SemVer (x.y.z) number, e.g. 1340971 and execute it.
Result:
Task completes successfully but does not apply the cookbook version contraint to the environment (as verified by knife environment show <environment>
Expected Result:
Task fails and reports an error in the log such as
ERROR: Chef::Exceptions::ValidationFailed: Option cookbook_versions's value {"mycookbook"=>"1340971"} should be a valid set of cookbook version requirements!

This is probably a more generic note about trapping the HTTP 400 errors that come back through the API code.

Fixed in version 1.5.4 - https://github.com/chef-partners/vsts-chef/wiki/1.5.4
Any response from the Chef Server that is not an HTTP 200 will result in that task failing and the reason for the failure displayed in the log.


[fix][broker] When creating a namespace anti-affinity group with the default local policies, use the bundle size supplied by the user.

Fixes https://github.com/apache/pulsar/issues/20278
Motivation
Motivation & Modifications:

When creating a namespace anti-affinity group with the default local policies, use the bundle size supplied by the user.
use OrElseGet instead of OrElse

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in the forked repository

Merging...
Thanks for your contribution @syk-coder!


Rename circus to hax

I updated the README with an Usage section to document a bit the commands.
Concerning the into subcommand, I think that's useful and nicer for user experience: you have to choose between the actions lint, into or json, and each of those takes different kinds of options (i.e. there is cargo hax into --output-dir but no cargo hax lint --output-dir)

bors r+


[3.x] Make mirror button in Template Manager use the lighter version of its icon

Partial 3.x version of #53064.

Thanks! Note that you PR'ed this from the upstream repo instead of your fork.


StateMachine transitions to an unlinked state, ignoring other states beforehand

I am trying to modify Roblox's Animate script and transition through animations depending on variables.
For example, the character can go through the following states Idle -> Jumping -> FreeFalling -> Idle, based on "Jumping" and "Falling" parameters. But somehow it skips the "Jumping" state and goes straight to "FreeFalling".
Here is the current setup:

Code for Idle state:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RobloxStateMachine = require(ReplicatedStorage:WaitForChild("RobloxStateMachine"))

local State = RobloxStateMachine.State
local Idle = State.new("Idle")
Idle.Transitions = {
	require(ReplicatedStorage.Player.Transitions.Idle.ToRunning),
	require(ReplicatedStorage.Player.Transitions.Idle.ToJumping)
}
local Animations = ReplicatedStorage.Player.Animations

function Idle:OnEnter(data)
	local Animator: Animator = data.Animator
	local AnimationTrack = Animator:LoadAnimation(Animations.Idle)
	self.AnimationTrack = AnimationTrack
	AnimationTrack:Play(0.1)
end

function Idle:OnLeave()
	self.AnimationTrack:Stop(0.1)
	self.AnimationTrack:Destroy()
end

return Idle

Code for Jumping State:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RobloxStateMachine = require(ReplicatedStorage:WaitForChild("RobloxStateMachine"))

local State = RobloxStateMachine.State
local Jumping = State.new("Jumping")
Jumping.Transitions = {
	require(ReplicatedStorage.Player.Transitions.Jumping.ToFalling)
}
local Animations = ReplicatedStorage.Player.Animations

function Jumping:OnEnter(data)
	local Animator: Animator = data.Animator
	local AnimationTrack = Animator:LoadAnimation(Animations.Jumping)
	self.AnimationTrack = AnimationTrack
	AnimationTrack:Play(0.125)
end

function Jumping:OnLeave()
	self.AnimationTrack:Stop(0.1)
	self.AnimationTrack:Destroy()
end

return Jumping

Code for Falling State:
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RobloxStateMachine = require(ReplicatedStorage:WaitForChild("RobloxStateMachine"))

local State = RobloxStateMachine.State
local Falling = State.new("Falling")
Falling.Transitions = {
	require(ReplicatedStorage.Player.Transitions.Falling.ToIdle)
}
local Animations = ReplicatedStorage.Player.Animations

function Falling:OnEnter(data)
	local Animator: Animator = data.Animator
	local AnimationTrack = Animator:LoadAnimation(Animations.Falling)
	self.AnimationTrack = AnimationTrack
	AnimationTrack:Play(0.125)
end

function Falling:OnLeave()
	self.AnimationTrack:Stop(0.1)
	self.AnimationTrack:Destroy()
end

return Falling

Code for Idle -> ToJumping
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RobloxStateMachine = require(ReplicatedStorage:WaitForChild("RobloxStateMachine"))

local ToJumping = RobloxStateMachine.Transition.new("Jumping")

function ToJumping:OnEnter(data)
	print("Idle -> Jumping")
end

function ToJumping:OnDataChanged(data)
	return data.JumpingState.Jumping
end

return ToJumping

Code for Jumping -> ToFalling
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RobloxStateMachine = require(ReplicatedStorage:WaitForChild("RobloxStateMachine"))

local ToFalling = RobloxStateMachine.Transition.new("Falling")

function ToFalling:OnEnter(data)
	print("Jumping -> Falling")
end

function ToFalling:OnDataChanged(data)
	return data.JumpingState.Falling
end

return ToFalling

Code for Falling -> ToIdle
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RobloxStateMachine = require(ReplicatedStorage:WaitForChild("RobloxStateMachine"))

local ToIdle = RobloxStateMachine.Transition.new("Idle")

function ToIdle:OnEnter(data)
	print("Falling -> Idle")
end

function ToIdle:OnDataChanged(data)
	return not data.JumpingState.Falling
end

return ToIdle

And the way I set up my parameters, found in Animate:
local Character = script.Parent
local Humanoid: Humanoid = Character:WaitForChild("Humanoid")
local Animator: Animator = Humanoid:WaitForChild("Animator")

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local RobloxStateMachine = require(ReplicatedStorage.RobloxStateMachine)

local StateMachine = RobloxStateMachine.new(
	"Idle",
	RobloxStateMachine:LoadDirectory(ReplicatedStorage.Player.States),
	{
		Animator = Animator,
		Running = false,
		JumpingState = {
			Jumping = false,
			Falling = false
		}
	}
)

Humanoid.Jumping:Connect(function(active)
	if (active) then
		StateMachine:ChangeData("JumpingState", {
			Jumping = true,
			Falling = false
		})
	end
end)

Humanoid.FreeFalling:Connect(function(active)
	if (active) then
		StateMachine:ChangeData("JumpingState", {
			Jumping = false,
			Falling = true
		})
	end
end)

Humanoid.StateChanged:Connect(function(old, new)
	if (old == Enum.HumanoidStateType.Freefall) then
		StateMachine:ChangeData("JumpingState", {
			Jumping = false,
			Falling = false
		})
	end
end)

Humanoid.Running:Connect(function(speed)
	if (Humanoid.MoveDirection.Magnitude > 0) then
		StateMachine:ChangeData("Running", true)
	else
		StateMachine:ChangeData("Running", false)
	end
end)

What is the issue with my current architecture and how can I improve it?
Also huge thank you for creating this library as it is the closest thing I have to simulating Unity's Animation Controller.

The Module works just fine, it was a problem with Roblox and the way it kinda instantly from Jumping to Falling, in which case you need to add an artificial delay before switching to the next state.


[WIP] Fixed #24064 - Prevented database access in compile time in spatialite models

Here is the patch that can fix problem.
Ideas about improvements are welcome.

@charettes, well, it works, but I don't understand the reason to check if connection_created.disconnect inside the receiver function.

@charettes, well, it works, but I don't understand the reason to check if connection_created.disconnect inside the receiver function.

buildbot, test this please

buildbot, test this please

buildbot, test this please.

buildbot, test this please.

buildbot, test on trusty.

buildbot, test on trusty.

@coldmind, it's to prevent two concurrent threads from creating a race condition where the signal is dispatched twice.

@coldmind, it's to prevent two concurrent threads from creating a race condition where the signal is dispatched twice.

buildbot, test on trusty.

buildbot, test on trusty.

@charettes, @timgraham, due to tests, disconnection is called once, so seems no need to have check if field already added to model (see diff above). But I'm afraid there can be situation where it could be. What do you think?

@charettes, @timgraham, due to tests, disconnection is called once, so seems no need to have check if field already added to model (see diff above). But I'm afraid there can be situation where it could be. What do you think?

Simon, is this a different problem from what dispatch_uid attempts to solve?

Simon, is this a different problem from what dispatch_uid attempts to solve?

due to tests, disconnection is called once, so seems no need to have check if field already added to model (see diff above). But I'm afraid there can be situation where it could be. What do you think?

Simon, is this a different problem from what dispatch_uid attempts to solve?

Yes, dispatch_uid is used to prevent multiple registration of the same receiver to a signal. This was handy when your project could be accessible from multiple locations on your PYTHONPATH. It's a feature similar to the one use in ModelBase.__new__ to prevent multiple registrations of the same model given the module containing them is imported multiple times due to PYTHONPATH misconfiguration.
The is trying to prevent a race condition in a multi-threaded environment (not reproducible during tests) such as runserver where n connections are created and dispatch the connection_created signal twice before it's disconnected. In this case you would end up with n times the fields you wanted to add once.

due to tests, disconnection is called once, so seems no need to have check if field already added to model (see diff above). But I'm afraid there can be situation where it could be. What do you think?

Simon, is this a different problem from what dispatch_uid attempts to solve?

Yes, dispatch_uid is used to prevent multiple registration of the same receiver to a signal. This was handy when your project could be accessible from multiple locations on your PYTHONPATH. It's a feature similar to the one use in ModelBase.__new__ to prevent multiple registrations of the same model given the module containing them is imported multiple times due to PYTHONPATH misconfiguration.
The is trying to prevent a race condition in a multi-threaded environment (not reproducible during tests) such as runserver where n connections are created and dispatch the connection_created signal twice before it's disconnected. In this case you would end up with n times the fields you wanted to add once.

buildbot, test on trusty.

buildbot, test on trusty.

I re-retriggered the build since the failures seems unrelated.

I re-retriggered the build since the failures seems unrelated.

Could you move the django/dispatch/dispatcher.py changes to a separate commit that precedes the other and add some tests for it? Otherwise, I think this is good to go.

@timgraham, sure, going to add some tests for dispatcher.

buildbot, test on trusty.

buildbot, test this please.

Note that disconnect is documented https://docs.djangoproject.com/en/dev/topics/signals/#disconnecting-signals, an update is needed there too.

buildbot, test this please.

jenkins failed again with stderr: fatal: reference is not a tree

No worries, this is likely fine. Will commit shortly.

Merged in 23f1a8dad223ee79cd206c9032c871c874f7e7af and 839f431ef5b927c8b07ce33483b3a7b0dd17b761. Thanks very much for investigating the issue!


Update pom to Major Development Version

Get latest changes from master and update pom to 2.0.0 major version for IPK.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: Avarjana:white_check_mark: inthirakumaaran:white_check_mark: ImalshaG:x: wso2-jenkins-botYou have signed the CLA already but the status is still pending? Let us recheck it.


[$1000] Only "mark as unread" present in deleted message in main but it's not the case with staging

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to any chat and send image
Click on reply thread option
On a new thread page, delete the attachment and refresh the page
After deleted message appears, hover on it and it just shows mark as unread. However on staging, all the options are available.

Expected Result:
Either mark as unread should not be present for deleted message or emoji option should also be present
Actual Result:
Only mark as unread present in deleted message in main but it's not the case with staging
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: main
Reproducible in staging?: N
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686831763770099
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01434e6d5b981d683c
Upwork Job ID:<PHONE_NUMBER>854871552
Last Price Increase: 2023-06-15

@dhairyasenjaliya @priya-zha has this really not been repro in staging/ production. I feel like this is intentional and this is not a bug as the comment deleted is a parent of a thread, hence we do not remove it from the history.

@mountiny This issue today is repro on staging as well. Though, it wasn't present on staging when the issue was posted on Slack. According to #20074 ,it seems like it's intended, therefore, we can close this issue if it's not a bug. Thanks.

Thanks for confirming I will go ahead and close this issue as a feature not a bug


Pex crashes after swapping single player world.

Exception:
[03:15:26] [Server thread/INFO]: Player37[local:E:f5a6bf51] logged in with entity id 17 in DisableSkeletonHorses(0) at (-815.5, 55.0, -782.5)
[03:15:26] [Server thread/INFO]: Player37 joined the game
[03:15:27] [Server thread/INFO]: Saving and pausing game...
[03:15:27] [Client thread/INFO]: [CHAT] Player37 joined the game
[03:15:27] [Server thread/INFO]: Saving chunks for level 'DisableSkeletonHorses'/Overworld
[03:15:28] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[03:15:28] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[03:15:29] [Server thread/INFO]: Saving and pausing game...
[03:15:29] [Server thread/INFO]: Saving chunks for level 'DisableSkeletonHorses'/Overworld
[03:15:29] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[03:15:29] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[03:15:37] [Server thread/FATAL]: Error executing task
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Manager has already been closed!
    at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_92]
    at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_92]
    at net.minecraft.util.Util.runTask(Util.java:26) [Util.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [IntegratedServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
Caused by: java.lang.IllegalStateException: Manager has already been closed!
    at ninja.leaping.permissionsex.PermissionsEx.getState(PermissionsEx.java:110) ~[PermissionsEx.class:?]
    at ninja.leaping.permissionsex.PermissionsEx.getContextInheritance(PermissionsEx.java:371) ~[PermissionsEx.class:?]
    at ninja.leaping.permissionsex.subject.InheritanceSubjectDataBaker.processContexts(InheritanceSubjectDataBaker.java:76) ~[InheritanceSubjectDataBaker.class:?]
    at ninja.leaping.permissionsex.subject.InheritanceSubjectDataBaker.bake(InheritanceSubjectDataBaker.java:93) ~[InheritanceSubjectDataBaker.class:?]
    at ninja.leaping.permissionsex.subject.CalculatedSubject.lambda$new$0(CalculatedSubject.java:55) ~[CalculatedSubject.class:?]
    at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache.lambda$get$2(LocalAsyncLoadingCache.java:121) ~[LocalAsyncLoadingCache.class:?]
    at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$15(BoundedLocalCache.java:1807) ~[BoundedLocalCache.class:?]
    at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) ~[?:1.8.0_92]
    at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:1805) ~[BoundedLocalCache.class:?]
    at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:1788) ~[BoundedLocalCache.class:?]
    at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache.get(LocalAsyncLoadingCache.java:120) ~[LocalAsyncLoadingCache.class:?]
    at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache.get(LocalAsyncLoadingCache.java:150) ~[LocalAsyncLoadingCache.class:?]
    at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache$LoadingCacheView.get(LocalAsyncLoadingCache.java:371) ~[LocalAsyncLoadingCache$LoadingCacheView.class:?]
    at ninja.leaping.permissionsex.subject.CalculatedSubject.getData(CalculatedSubject.java:73) ~[CalculatedSubject.class:?]
    at ninja.leaping.permissionsex.subject.CalculatedSubject.getPermissions(CalculatedSubject.java:77) ~[CalculatedSubject.class:?]
    at ninja.leaping.permissionsex.subject.CalculatedSubject.getPermission(CalculatedSubject.java:95) ~[CalculatedSubject.class:?]
    at ninja.leaping.permissionsex.sponge.PEXSubject.getPermissionValue(PEXSubject.java:140) ~[PEXSubject.class:?]
    at net.minecraft.entity.player.EntityPlayerMP.getPermissionValue(EntityPlayerMP.java:147) ~[EntityPlayerMP.class:?]
    at net.minecraft.entity.player.EntityPlayerMP.hasPermission(EntityPlayerMP.java:129) ~[EntityPlayerMP.class:?]
    at net.minecraft.entity.player.EntityPlayerMP.hasPermission(EntityPlayerMP.java:141) ~[EntityPlayerMP.class:?]
    at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:328) ~[SpongeCommandManager.class:?]
    at net.minecraft.command.ServerCommandManager.executeCommand(ServerCommandManager.java:82) ~[ServerCommandManager.class:?]
    at net.minecraft.network.NetHandlerPlayServer.handleSlashCommand(NetHandlerPlayServer.java:955) ~[NetHandlerPlayServer.class:?]
    at net.minecraft.network.NetHandlerPlayServer.processChatMessage(NetHandlerPlayServer.java:931) ~[NetHandlerPlayServer.class:?]
    at net.minecraft.network.play.client.CPacketChatMessage.processPacket(CPacketChatMessage.java:47) ~[CPacketChatMessage.class:?]
    at net.minecraft.network.play.client.CPacketChatMessage.processPacket(CPacketChatMessage.java:8) ~[CPacketChatMessage.class:?]
    at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:123) ~[PacketUtil.class:?]
    at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjc000(PacketThreadUtil.java:39) ~[PacketThreadUtil$1.class:?]
    at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[PacketThreadUtil$1.class:?]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_92]
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_92]
    at net.minecraft.util.Util.runTask(Util.java:25) ~[Util.class:?]
    ... 5 more

Full log:
"C:\Program Files\Java\jdk1.8.0_92\bin\java" -agentlib:jdwp=transport=dt_shmem,address=javadebug,suspend=y,server=n -Dfml.coreMods.load=org.spongepowered.mod.SpongeCoremod -Dmixin.debug.export=true -javaagent:C:\Users\Ryan\.IntelliJIdea2016.2\system\groovyHotSwap\gragent.jar -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_92\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_92\jre\lib\rt.jar;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\SpongeForge_java6;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\SpongeCommon_java6;C:\c\Sponge\SpongeForge-bleeding\SpongeCommon\SpongeAPI\build\classes\main;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.21\139535a69a4239db087de9bab0bee568bf8e0b70\slf4j-api-1.7.21.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.google.guava\guava\17.0\9c6ef172e8de35fd8d4d8783e4821e57cdef7445\guava-17.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.google.code.gson\gson\2.2.4\a60a5e993c98c864010053cb901b7eab25306568\gson-2.2.4.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-lang3\3.3.2\90a3822c38ec8c996e84c16a3477ef632cbc87a3\commons-lang3-3.3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\1.3.9\40719ea6961c0cb6afaeb6a921eaa1f6afd4cfdf\jsr305-1.3.9.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.google.inject\guice\4.0\f990a43d3725781b6db7cd0acf0a8b62dfd1649\guice-4.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.github.ben-manes.caffeine\caffeine\2.3.2\6f9664767932063367a611dcfc239c4efdba9b05\caffeine-2.3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.github.ben-manes.caffeine\guava\2.3.2\f6419041c6d5e7a422bffd0ea57670eb4290fd8f\guava-2.3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.spongepowered\plugin-meta\0.2.1-SNAPSHOT\b8c22d921c089156256818b4a6471a2846ba5bca\plugin-meta-0.2.1-SNAPSHOT.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\ninja.leaping.configurate\configurate-hocon\3.2\9dd0eabf3b1f24a439f28ceba53cb75ab2ac17c5\configurate-hocon-3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\ninja.leaping.configurate\configurate-gson\3.2\ace93d4dff2cab93aad3d0544bd08055b3be376e\configurate-gson-3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\ninja.leaping.configurate\configurate-yaml\3.2\66baeded1dc8e86847dd876c7c7292b96b91ec26\configurate-yaml-3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.flowpowered\flow-math\1.0.3\d98020239e5015091ad3be927cef9dea0d61a234\flow-math-1.0.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.flowpowered\flow-noise\1.0.1-SNAPSHOT\bfddff85287441521fb66ec22b59a463190966e1\flow-noise-1.0.1-SNAPSHOT.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm\5.0.3\dcc2193db20e19e1feca8b1240dbbc4e190824fa\asm-5.0.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.spongepowered\event-gen-core\2.1.0-SNAPSHOT\89dfb6ea40c40bf75fb803ec1e4ce36dde2edcef\event-gen-core-2.1.0-SNAPSHOT.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\javax.inject\javax.inject\1\6975da39a7040257bd51d21a231b76c915872d38\javax.inject-1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\aopalliance\aopalliance\1.0\235ba8b489512805ac13a8f9ea77a1ca5ebe3e8\aopalliance-1.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.typesafe\config\1.3.0\f533aa6ea13e443b50e639d070986c42d03efc35\config-1.3.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\ninja.leaping.configurate\configurate-core\3.2\166fb82311704208782b4e1faf99dbeac9c84d00\configurate-core-3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.16\d64fb662c9e42789149f5078a62a22edda786c6a\snakeyaml-1.16.jar;C:\Users\Ryan\.gradle\caches\minecraft\deobfedDeps\compileDummy.jar;C:\Users\Ryan\.gradle\caches\minecraft\deobfedDeps\providedDummy.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.spongepowered\mixin\0.5.17-SNAPSHOT\b0bd746034c6530282b5145c432ac03b23776ff2\mixin-0.5.17-SNAPSHOT.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.zaxxer\HikariCP\2.5.1\b896b711e2d98fedf403de590559a123b5fbf1a6\HikariCP-2.5.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.h2database\h2\1.4.192\1106492605db135523d2817881cdf029d9292afa\h2-1.4.192.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\it.unimi.dsi\fastutil\7.0.12\9d9b3cfcf42706f3300e96c47c8df99194bf8d73\fastutil-7.0.12.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-commons\5.0.3\a7111830132c7f87d08fe48cb0ca07630f8cb91c\asm-commons-5.0.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.googlecode.jarjar\jarjar\1.1\88085e95e0c9cf49e29116bd467a5dccd07d40a0\jarjar-1.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-tree\5.0.3\287749b48ba7162fb67c93a026d690b29f410bed\asm-tree-5.0.3.jar;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\SpongeCommon_main;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-slf4j-impl\2.0-beta9\e970fc3c10144a521d691db4ac38027cc1935b74\log4j-slf4j-impl-2.0-beta9.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.mariadb.jdbc\mariadb-java-client\1.5.2\1e7a22bb51e7a90a5b42217af6badc42ac0a3026\mariadb-java-client-1.5.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.xerial\sqlite-jdbc\<IP_ADDRESS>\66b8075784131f578ef893fd7674273f709b9a4c\sqlite-jdbc-<IP_ADDRESS>.jar;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\SpongeForge_main;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\commons-codec\commons-codec\1.9\9ce04e34240f674bc72680f8b843b1457383161a\commons-codec-1.9.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\commons-io\commons-io\2.4\b1b6ea3b7e4aa4f492509a4952029cd8e48019ad\commons-io-2.4.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.0-beta9\1dd66e68cccd907880229f9e2de1314bd13ff785\log4j-api-2.0-beta9.jar;C:\c\Sponge\SpongeForge-bleeding\.gradle\minecraft\forgeSrc-1.10.2-<IP_ADDRESS>8-PROJECT(SpongeForge).jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.google.code.findbugs\jsr305\3.0.1\f7be08ec23c21485b9b5a1cf1654c2ec8c58168d\jsr305-3.0.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.mojang\netty\1.6\4b75825a06139752bd800d9e29c5fd55b8b1b1e4\netty-1.6.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\oshi-project\oshi-core\1.1\9ddf7b048a8d701be231c0f4f95fd986198fd2d8\oshi-core-1.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\jna\3.4.0\803ff252fedbd395baffd43b37341dc4a150a554\jna-3.4.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.java.dev.jna\platform\3.4.0\e3f70017be8100d3d6923f50b3d2ee17714e9c13\platform-3.4.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.ibm.icu\icu4j-core-mojang\51.2\63d216a9311cca6be337c1e458e587f99d382b84\icu4j-core-mojang-51.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.sf.jopt-simple\jopt-simple\4.6\306816fb57cf94f108a43c95731b08934dcae15c\jopt-simple-4.6.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\io.netty\netty-all\4.0.23.Final\294104aaf1781d6a56a07d561e792c5d0c95f45\netty-all-4.0.23.Final.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.java.jutils\jutils\1.0.0\e12fe1fda814bd348c1579329c86943d2cd3c6a6\jutils-1.0.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.mojang\authlib\1.5.22\afaa8f6df976fcb5520e76ef1d5798c9e6b5c0b2\authlib-1.5.22.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.mojang\realms\1.9.8\c9609760e050cd7c369292252552c0cc81c54331\realms-1.9.8.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.apache.commons\commons-compress\1.8.1\a698750c16740fd5b3871425f4cb3bbaa87f529d\commons-compress-1.8.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpclient\4.3.3\18f4247ff4572a074444572cee34647c43e7c9c7\httpclient-4.3.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.1.3\f6f66e966c70a83ffbdb6f17a0919eaf7c8aca7f\commons-logging-1.1.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.apache.httpcomponents\httpcore\4.3.2\31fbbff1ddbf98f3aa7377c94d33b0447c646b6e\httpcore-4.3.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\it.unimi.dsi\fastutil\7.0.12_mojang\ba787e741efdc425fc5d2ea654b57c15fba27efa\fastutil-7.0.12_mojang.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-core\2.0-beta9\678861ba1b2e1fccb594bb0ca03114bb05da9695\log4j-core-2.0-beta9.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.minecraft\launchwrapper\1.12\111e7bea9c968cdb3d06ef4632bf7ff0824d0f36\launchwrapper-1.12.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\jline\jline\2.13\2d9530d0a25daffaffda7c35037b046b627bb171\jline-2.13.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.ow2.asm\asm-debug-all\5.0.3\f9e364ae2a66ce2a543012a4668856e84e5dab74\asm-debug-all-5.0.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.typesafe.akka\akka-actor_2.11\2.3.3\ed62e9fc709ca0f2ff1a3220daa8b70a2870078e\akka-actor_2.11-2.3.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.typesafe\config\1.2.1\f771f71fdae3df231bcd54d5ca2d57f0bf93f467\config-1.2.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-actors-migration_2.11\1.1.0\dfa8bc42b181d5b9f1a5dd147f8ae308b893eb6f\scala-actors-migration_2.11-1.1.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-compiler\2.11.1\56ea2e6c025e0821f28d73ca271218b8dd04926a\scala-compiler-2.11.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang.plugins\scala-continuations-library_2.11\1.0.2\e517c53a7e9acd6b1668c5a35eccbaa3bab9aac\scala-continuations-library_2.11-1.0.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang.plugins\scala-continuations-plugin_2.11.1\1.0.2\f361a3283452c57fa30c1ee69448995de23c60f7\scala-continuations-plugin_2.11.1-1.0.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-library\2.11.1\e11da23da3eabab9f4777b9220e60d44c1aab6a\scala-library-2.11.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang.modules\scala-parser-combinators_2.11\1.0.1\f05d7345bf5a58924f2837c6c1f4d73a938e1ff0\scala-parser-combinators_2.11-1.0.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-reflect\2.11.1\6580347e61cc7f8e802941e7fde40fa83b8badeb\scala-reflect-2.11.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang.modules\scala-swing_2.11\1.0.1\b1cdd92bd47b1e1837139c1c53020e86bb9112ae\scala-swing_2.11-1.0.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang.modules\scala-xml_2.11\1.0.2\820fbca7e524b530fdadc594c39d49a21ea0337e\scala-xml_2.11-1.0.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\lzma\lzma\0.0.1\521616dc7487b42bef0e803bd2fa3faf668101d7\lzma-0.0.1.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.sf.trove4j\trove4j\3.0.3\42ccaf4761f0dfdfa805c9e340d99a755907e2dd\trove4j-3.0.3.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.paulscode\codecjorbis\20101023\c73b5636faf089d9f00e8732a829577de25237ee\codecjorbis-20101023.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.paulscode\codecwav\20101023\12f031cfe88fef5c1dd36c563c0a3a69bd7261da\codecwav-20101023.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.paulscode\libraryjavasound\20101123\5c5e304366f75f9eaa2e8cca546a1fb6109348b3\libraryjavasound-20101123.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.paulscode\librarylwjglopenal\20100824\73e80d0794c39665aec3f62eee88ca91676674ef\librarylwjglopenal-20100824.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\com.paulscode\soundsystem\20120107\419c05fe9be71f792b2d76cfc9b67f1ed0fec7f6\soundsystem-20120107.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput\2.0.5\39c7796b469a600f72380316f6b1f11db6c2c7c4\jinput-2.0.5.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl\2.9.4-nightly-20150209\697517568c68e78ae0b4544145af031c81082dfe\lwjgl-2.9.4-nightly-20150209.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl_util\2.9.4-nightly-20150209\d51a7c040a721d13efdfbd34f8b257b2df882ad0\lwjgl_util-2.9.4-nightly-20150209.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\java3d\vecmath\1.5.2\79846ba34cbd89e2422d74d53752f993dcc2ccaf\vecmath-1.5.2.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.fusesource.jansi\jansi\1.11\655c643309c2f45a56a747fda70e3fadf57e9f11\jansi-1.11.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.scala-lang\scala-actors\2.11.0\8ccfb6541de179bb1c4d45cf414acee069b7f78b\scala-actors-2.11.0.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\7ff832a6eb9ab6a767f1ade2b548092d0fa64795\jinput-platform-2.0.5-natives-linux.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\385ee093e01f587f30ee1c8a2ee7d408fd732e16\jinput-platform-2.0.5-natives-windows.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\net.java.jinput\jinput-platform\2.0.5\53f9c919f34d2ca9de8c51fc4e1e8282029a9232\jinput-platform-2.0.5-natives-osx.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.4-nightly-20150209\b84d5102b9dbfabfeb5e43c7e2828d98a7fc80e0\lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.4-nightly-20150209\931074f46c795d2f7b30ed6395df5715cfd7675b\lwjgl-platform-2.9.4-nightly-20150209-natives-linux.jar;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.lwjgl.lwjgl\lwjgl-platform\2.9.4-nightly-20150209\bcab850f8f487c3f4c4dbabde778bb82bd1a40ed\lwjgl-platform-2.9.4-nightly-20150209-natives-osx.jar;C:\Users\Ryan\.gradle\caches\minecraft\net\minecraftforge\forge\1.10.2-<IP_ADDRESS>8\start;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\disableskeletonhorse_main;C:\Users\Ryan\.gradle\caches\modules-2\files-2.1\org.spongepowered\spongeapi\5.0.0\f80fc40fc17e2f8bc97ceeac71d93277715148ad\spongeapi-5.0.0.jar;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\easyprefix_main;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\chatclear_main;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\EasySpawn_main;C:\c\Sponge\SpongeForge-bleeding\build\classes\production\teleportonlogout_main;C:\Program Files (x86)\JetBrains\IntelliJ IDEA 2016.2.4\lib\idea_rt.jar" GradleStart
Connected to the target VM, address: 'javadebug', transport: 'shared memory'
2016-10-24 03:09:45,519 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2016-10-24 03:09:45,521 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[03:09:45] [main/INFO] [GradleStart]: Extra: []
[03:09:45] [main/INFO] [GradleStart]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/Ryan/.gradle/caches/minecraft/assets, --assetIndex, 1.10, --accessToken{REDACTED}, --version, 1.10.2, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[03:09:45] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[03:09:45] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[03:09:45] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[03:09:45] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[03:09:46] [main/INFO] [FML]: Forge Mod Loader version <IP_ADDRESS>8 for Minecraft 1.10.2 loading
[03:09:46] [main/INFO] [FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_92, running on Windows 10:amd64:10.0, installed at C:\Program Files\Java\jdk1.8.0_92\jre
[03:09:46] [main/INFO] [FML]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[03:09:46] [main/INFO] [FML]: Found a command line coremod : org.spongepowered.mod.SpongeCoremod
2016-10-24 03:09:46,173 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2016-10-24 03:09:46,312 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
2016-10-24 03:09:46,314 WARN Unable to instantiate org.fusesource.jansi.WindowsAnsiOutputStream
[03:09:46] [main/INFO] [mixin]: SpongePowered MIXIN Subsystem Version=0.5.17 Source=file:/C:/Users/Ryan/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.5.17-SNAPSHOT/b0bd746034c6530282b5145c432ac03b23776ff2/mixin-0.5.17-SNAPSHOT.jar Env=CLIENT
[03:09:46] [main/INFO] [mixin]: Attempting to load Fernflower decompiler (Threaded mode)
[03:09:46] [main/INFO] [mixin]: Fernflower could not be loaded, exported classes will not be decompiled. NoClassDefFoundError: org/jetbrains/java/decompiler/main/extern/IResultSaver
[03:09:47] [main/INFO] [mixin]: Compatibility level set to JAVA_8
[03:09:47] [main/INFO] [mixin]: Adding new token provider org.spongepowered.mod.SpongeCoremod$TokenProvider to MixinEnvironment[DEFAULT]
[03:09:47] [main/INFO] [mixin]: Adding new token provider org.spongepowered.mod.SpongeCoremod$TokenProvider to MixinEnvironment[PREINIT]
[03:09:47] [main/INFO] [mixin]: Adding new token provider org.spongepowered.mod.SpongeCoremod$TokenProvider to MixinEnvironment[INIT]
[03:09:47] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[03:09:47] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[03:09:47] [main/INFO] [GradleStart]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[03:09:47] [main/INFO] [GradleStart]: Injecting location in coremod org.spongepowered.mod.SpongeCoremod
[03:09:47] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[03:09:47] [main/INFO] [LaunchWrapper]: Loading tweak class name org.spongepowered.asm.mixin.MixinEnvironment$EnvironmentStateTweaker
[03:09:47] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[03:09:47] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[03:09:47] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[03:09:47] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[03:09:47] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[03:09:48] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[03:09:53] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing
[03:09:53] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[03:09:53] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[03:09:53] [main/INFO] [LaunchWrapper]: Calling tweak class org.spongepowered.asm.mixin.MixinEnvironment$EnvironmentStateTweaker
[03:09:53] [main/INFO] [mixin]: Initialised Mixin FML Remapper Adapter with net.minecraftforge.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper@20411320
[03:09:53] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[03:09:54] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[03:09:54] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[03:09:54] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[03:10:04] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[03:10:08] [Client thread/INFO]: Setting user: Player37
[03:10:11] [Client thread/WARN] [mixin]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:tileentity.MixinTileEntityHopper, previously written by org.spongepowered.common.mixin.core.item.inventory.TraitInventoryAdapter. Skipping method.
[03:10:12] [Client thread/WARN] [mixin]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:tileentity.MixinTileEntityChest, previously written by org.spongepowered.common.mixin.core.item.inventory.TraitInventoryAdapter. Skipping method.
[03:10:12] [Client thread/WARN] [mixin]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:tileentity.MixinTileEntityFurnace, previously written by org.spongepowered.common.mixin.core.item.inventory.TraitInventoryAdapter. Skipping method.
[03:10:17] [Client thread/WARN] [mixin]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:item.inventory.TraitInventoryAdapter, previously written by org.spongepowered.common.mixin.core.entity.passive.MixinEntityVillager. Skipping method.
[03:10:18] [Client thread/WARN] [mixin]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:item.inventory.TraitInventoryAdapter, previously written by org.spongepowered.common.mixin.core.item.inventory.MixinContainer. Skipping method.
[03:10:19] [Client thread/WARN] [mixin]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:item.inventory.TraitInventoryAdapter, previously written by org.spongepowered.common.mixin.core.entity.player.MixinInventoryPlayer. Skipping method.
[03:10:19] [Client thread/WARN]: Skipping bad option: lastServer:
[03:10:19] [Client thread/INFO]: LWJGL Version: 2.9.4
[03:10:22] [Client thread/INFO] [STDOUT]: [net.minecraftforge.fml.client.SplashProgress:start:221]: ---- Minecraft Crash Report ----
// Would you like a cupcake?

Time: 24/10/16 3:10 AM
Description: Loading screen debug info

This is just a prompt for computer specs to be printed. THIS IS NOT A ERROR

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- System Details --
Details:
	Minecraft Version: 1.10.2
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_92, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory:<PHONE_NUMBER> bytes (1050 MB) /<PHONE_NUMBER> bytes (1560 MB) up to<PHONE_NUMBER> bytes (7259 MB)
	JVM Flags: 0 total;
	IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
	FML:
	Loaded coremods (and transformers):
SpongeCoremod (unknown)
  org.spongepowered.common.launch.transformer.SpongeSuperclassTransformer
	GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 375.57' Renderer: 'GeForce GTX 1060 6GB/PCIe/SSE2'
[03:10:22] [Client thread/INFO] [FML]: MinecraftForge v<IP_ADDRESS>8 Initialized
[03:10:22] [Client thread/INFO] [FML]: Replaced 232 ore recipes
[03:10:26] [Client thread/DEBUG] [Sponge]: Sponge Timings: true - Verbose: true - Interval: 1m - Length: 3m
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.item.inventory.InventoryArchetypes.MENU_COLUMN
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.item.inventory.InventoryArchetypes.MENU_BUTTON
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.item.inventory.InventoryArchetypes.MENU_ICON
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.item.inventory.InventoryArchetypes.MENU_CHECKBOX
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.item.inventory.InventoryArchetypes.MENU_SPINNER
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.ACHIEVEMENTS
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.AGE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.ATTACK_DAMAGE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.BASE_SIZE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.DAMAGE_ENTITY_MAP
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.DOMINANT_HAND
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.FILLED
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.FLUID_LEVEL
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.HEALTH_SCALE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.HEIGHT
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.HELD_EXPERIENCE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.IS_SLEEPING
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.LAST_ATTACKER
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.LAST_DAMAGE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.LEASH_HOLDER
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.PASSENGERS
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SCALE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SPAWNER_ENTITIES
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SPAWNER_MAXIMUM_DELAY
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SPAWNER_MAXIMUM_NEARBY_ENTITIES
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SPAWNER_NEXT_ENTITY_TO_SPAWN
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SPAWNER_REQUIRED_PLAYER_RANGE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SPAWNER_SPAWN_COUNT
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.SPAWNER_SPAWN_RANGE
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.STATISTICS
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.WILL_SHATTER
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.WIRE_ATTACHMENTS
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.WIRE_ATTACHMENT_EAST
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.WIRE_ATTACHMENT_NORTH
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.WIRE_ATTACHMENT_SOUTH
[03:10:30] [Client thread/WARN] [Sponge]: Skipping org.spongepowered.api.data.key.Keys.WIRE_ATTACHMENT_WEST
[03:10:34] [Client thread/INFO] [FML]: Found 0 mods from the command line. Injecting into mod discoverer
[03:10:34] [Client thread/INFO] [FML]: Searching C:\c\Sponge\SpongeForge-bleeding\run\mods for mods
[03:10:38] [Client thread/WARN] [Sponge]: Plugin 'disableskeletonhorse' seems to be missing a valid mcmod.info metadata file. This is not a problem when testing plugins, however it is recommended to include one in public plugins.
Please see https://docs.spongepowered.org/master/en/plugin/plugin-meta.html for details.
[03:10:39] [Client thread/WARN] [Sponge]: Plugin 'easyprefix' seems to be missing a valid mcmod.info metadata file. This is not a problem when testing plugins, however it is recommended to include one in public plugins.
Please see https://docs.spongepowered.org/master/en/plugin/plugin-meta.html for details.
[03:10:39] [Client thread/WARN] [Sponge]: Plugin 'chatclear' seems to be missing a valid mcmod.info metadata file. This is not a problem when testing plugins, however it is recommended to include one in public plugins.
Please see https://docs.spongepowered.org/master/en/plugin/plugin-meta.html for details.
[03:10:39] [Client thread/WARN] [Sponge]: Plugin 'easyspawn' seems to be missing a valid mcmod.info metadata file. This is not a problem when testing plugins, however it is recommended to include one in public plugins.
Please see https://docs.spongepowered.org/master/en/plugin/plugin-meta.html for details.
[03:10:39] [Client thread/WARN] [Sponge]: Plugin 'teleportonlogout' seems to be missing a valid mcmod.info metadata file. This is not a problem when testing plugins, however it is recommended to include one in public plugins.
Please see https://docs.spongepowered.org/master/en/plugin/plugin-meta.html for details.
[03:10:39] [Client thread/WARN] [Sponge]: Detected plugin with invalid plugin ID 'ninja.leaping.permissionsex'. Plugin IDs should be lowercase, and only contain characters from a-z, dashes or underscores, start with a lowercase letter, and not exceed 64 characters.
[03:10:39] [Client thread/INFO] [FML]: Forge Mod Loader has identified 12 mods to load
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.logging.InternalLoggerFactory]: Using SLF4J as the default logging framework
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent0]: java.nio.Buffer.address: available
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent0]: sun.misc.Unsafe.theUnsafe: available
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent0]: sun.misc.Unsafe.copyMemory: available
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent0]: java.nio.Bits.unaligned: true
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent]: Platform: Windows
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent]: Java version: 8
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent]: -Dio.netty.noUnsafe: false
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent]: sun.misc.Unsafe: available
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent]: -Dio.netty.noJavassist: false
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent]: Javassist: unavailable
[03:10:39] [Client thread/DEBUG] [io.netty.util.internal.PlatformDependent]: You don't have Javassist in your class path or you don't have enough permission to load dynamically generated classes.    For more information, see http://www.lwjgl.org)
[03:10:59] [Thread-9/INFO]: OpenAL initialized.
[03:11:00] [Sound Library Loader/INFO]: Sound engine started
[03:11:13] [Client thread/INFO] [FML]: Max texture size: 16384
[03:11:13] [Client thread/INFO]: Created: 16x16 textures-atlas
[03:11:15] [Client thread/INFO] [FML]: Injecting itemstacks
[03:11:15] [Client thread/INFO] [FML]: Itemstack injection complete
[03:11:15] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 12 mods
[03:11:15] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:SpongeForge, FMLFileResourcePack:DisableSkeletonHorse, FMLFileResourcePack:EasyPrefix, FMLFileResourcePack:chatclear, FMLFileResourcePack:EasySpawn, FMLFileResourcePack:TeleportOnLogout, FMLFileResourcePack:PermissionsEx, FMLFileResourcePack:Total Economy
[03:11:24] [Client thread/INFO]: SoundSystem shutting down...
[03:11:24] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[03:11:24] [Sound Library Loader/INFO]: Starting up SoundSystem...
[03:11:24] [Thread-11/INFO]: Initializing LWJGL OpenAL
[03:11:24] [Thread-11/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[03:11:24] [Thread-11/INFO]: OpenAL initialized.
[03:11:25] [Sound Library Loader/INFO]: Sound engine started
[03:11:36] [Client thread/INFO] [FML]: Max texture size: 16384
[03:11:36] [Client thread/INFO]: Created: 1024x512 textures-atlas
[03:11:37] [Client thread/DEBUG] [Forge Mod Loader]: Mod Forge Mod Loader is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [Minecraft Forge]: Mod Minecraft Forge is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [SpongeForge]: Mod SpongeForge is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [DisableSkeletonHorse]: Mod DisableSkeletonHorse is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [EasyPrefix]: Mod EasyPrefix is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [chatclear]: Mod chatclear is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [EasySpawn]: Mod EasySpawn is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [TeleportOnLogout]: Mod TeleportOnLogout is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [PermissionsEx]: Mod PermissionsEx is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/DEBUG] [Total Economy]: Mod Total Economy is missing a pack.mcmeta file, substituting a dummy one
[03:11:37] [Client thread/WARN]: Skipping bad option: lastServer:
[03:11:37] [Realms Notification Availability checker #1/DEBUG] [io.netty.util.ResourceLeakDetector]: -Dio.netty.leakDetectionLevel: simple
[03:11:39] [Realms Notification Availability checker #1/INFO]: Could not authorize you against Realms server: Invalid session id
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is searching for an injection point in method with descriptor (Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumFacing;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/server/management/PlayerInteractionManager;getBlockReachDistance()D
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraftforge/common/ForgeHooks;rayTraceEyeHitVec(Lnet/minecraft/entity/EntityLivingBase;D)Lnet/minecraft/util/math/Vec3d;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraftforge/common/ForgeHooks;onLeftClickBlock(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumFacing;Lnet/minecraft/util/math/Vec3d;)Lnet/minecraftforge/event/entity/player/PlayerInteractEvent$LeftClickBlock;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke > found a matching insn, checking preconditions...
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke > > comparing target ordinal -1 with current ordinal 0
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke > > > found a matching insn at ordinal 0
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraftforge/event/entity/player/PlayerInteractEvent$LeftClickBlock;isCanceled()Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/network/play/server/SPacketBlockChange;<init>(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/network/NetHandlerPlayServer;sendPacket(Lnet/minecraft/network/Packet;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/state/IBlockState;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/state/IBlockState;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;notifyBlockUpdate(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;I)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/server/management/PlayerInteractionManager;isCreative()Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;extinguishFire(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumFacing;)Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/server/management/PlayerInteractionManager;tryHarvestBlock(Lnet/minecraft/util/math/BlockPos;)Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/state/IBlockState;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/block/state/IBlockState;getBlock()Lnet/minecraft/block/Block;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/GameType;isAdventure()Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/entity/player/EntityPlayerMP;isAllowEdit()Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/entity/player/EntityPlayerMP;getHeldItemMainhand()Lnet/minecraft/item/ItemStack;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/item/ItemStack;canDestroy(Lnet/minecraft/block/Block;)Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/block/state/IBlockState;getBlock()Lnet/minecraft/block/Block;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/block/Block;isAir(Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/math/BlockPos;)Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraftforge/event/entity/player/PlayerInteractEvent$LeftClickBlock;getUseBlock()Lnet/minecraftforge/fml/common/eventhandler/Event$Result;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/block/Block;onBlockClicked(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/EntityPlayer;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;extinguishFire(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/EnumFacing;)Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/network/play/server/SPacketBlockChange;<init>(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/network/NetHandlerPlayServer;sendPacket(Lnet/minecraft/network/Packet;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/state/IBlockState;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/state/IBlockState;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;notifyBlockUpdate(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;I)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/block/state/IBlockState;getPlayerRelativeBlockHardness(Lnet/minecraft/entity/player/EntityPlayer;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)F
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraftforge/event/entity/player/PlayerInteractEvent$LeftClickBlock;getUseItem()Lnet/minecraftforge/fml/common/eventhandler/Event$Result;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/network/play/server/SPacketBlockChange;<init>(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/network/NetHandlerPlayServer;sendPacket(Lnet/minecraft/network/Packet;)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/state/IBlockState;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;getBlockState(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/state/IBlockState;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;notifyBlockUpdate(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/block/state/IBlockState;I)V
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/block/state/IBlockState;getBlock()Lnet/minecraft/block/Block;
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/block/Block;isAir(Lnet/minecraft/block/state/IBlockState;Lnet/minecraft/world/IBlockAccess;Lnet/minecraft/util/math/BlockPos;)Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/server/management/PlayerInteractionManager;tryHarvestBlock(Lnet/minecraft/util/math/BlockPos;)Z
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/entity/player/EntityPlayerMP;getEntityId()I
[03:14:31] [Client thread/INFO] [mixin]: BeforeInvoke is considering insn Lnet/minecraft/world/World;sendBlockBreakProgress(ILnet/minecraft/util/math/BlockPos;I)V
[03:14:31] [Server thread/INFO]: Starting integrated minecraft server version 1.10.2
[03:14:31] [Server thread/INFO]: Generating keypair
[03:14:31] [Server thread/INFO] [Sponge]: Checking for worlds that need to be migrated...
[03:14:31] [Server thread/INFO] [Sponge]: No worlds were found in need of migration.
[03:14:31] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
[03:14:31] [Server thread/INFO] [FML]: Applying holder lookups
[03:14:31] [Server thread/INFO] [FML]: Holder lookups applied
[03:14:32] [Server thread/INFO] [FML]: Loading dimension 0 (DisableSkeletonHorses) (IntegratedServer)
[03:14:33] [Server thread/INFO]: Preparing start region for level 0 (DisableSkeletonHorses)
[03:14:33] [Server thread/INFO] [Sponge]: Loading world [DisableSkeletonHorses] (Overworld)
[03:14:34] [Server thread/INFO] [FML]: Loading dimension -1 (DIM-1) (IntegratedServer)
[03:14:34] [Server thread/INFO] [Sponge]: Loading world [DIM-1] (Nether)
[03:14:34] [Server thread/INFO] [FML]: Loading dimension 1 (DIM1) (IntegratedServer)
[03:14:34] [Server thread/INFO] [Sponge]: Loading world [DIM1] (The End)
[03:14:34] [Server thread/INFO]: Preparing start region for level 0 (DisableSkeletonHorses)
[03:14:34] [Server thread/INFO] [totaleconomy]: Total Economy Started
[03:14:34] [Server thread/DEBUG] [io.netty.util.internal.Cleaner0]: java.nio.ByteBuffer.cleaner(): available
[03:14:34] [Server thread/INFO]: Changing view distance to 12, from 10
[03:14:34] [Client thread/DEBUG] [io.netty.channel.MultithreadEventLoopGroup]: -Dio.netty.eventLoopThreads: 8
[03:14:34] [Client thread/DEBUG] [io.netty.channel.nio.NioEventLoop]: -Dio.netty.noKeySetOptimization: false
[03:14:34] [Client thread/DEBUG] [io.netty.channel.nio.NioEventLoop]: -Dio.netty.selectorAutoRebuildThreshold: 512
[03:14:36] [Netty Local Client IO #0/DEBUG] [io.netty.util.Recycler]: -Dio.netty.recycler.maxCapacity.default: 262144
[03:14:37] [Server thread/WARN] [mixin]: Method overwrite conflict for getSlotProvider in mixins.common.core.json:item.inventory.TraitInventoryAdapter, previously written by org.spongepowered.common.mixin.core.inventory.MixinInventoryEnderChest. Skipping method.
[03:14:37] [Netty Local Client IO #0/INFO] [FML]: Server protocol version 2
[03:14:37] [Netty Server IO #1/INFO] [FML]: Client protocol version 2
[03:14:37] [Netty Server IO #1/INFO] [FML]: Client attempting to join with 12 mods : disableskeletonhorse@1.0.0,chatclear@1.1.0,sponge@DEV,easyprefix@1.0.0,FML@<IP_ADDRESS>,spongeapi@,easyspawn@1.0.0,teleportonlogout@1.0.0,ninja.leaping.permissionsex@2.0-SNAPSHOT-b141,Forge@<IP_ADDRESS>8,mcp<EMAIL_ADDRESS>[03:14:37] [Netty Local Client IO #0/INFO] [FML]: [Netty Local Client IO #0] Client side modded connection established
[03:14:37] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
[03:14:37] [Server thread/INFO]: Player37[local:E:8721bcf1] logged in with entity id 5 in DisableSkeletonHorses(0) at (-815.5, 55.0, -782.5)
[03:14:38] [Server thread/INFO]: Player37 joined the game
[03:14:38] [Client thread/ERROR] [Sponge]: No entity type is registered for class net.minecraft.client.entity.EntityPlayerSP
[03:14:39] [Server thread/INFO]: Saving and pausing game...
[03:14:39] [Server thread/INFO]: Saving chunks for level 'DisableSkeletonHorses'/Overworld
[03:14:39] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[03:14:39] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[03:14:39] [Client thread/INFO]: [CHAT] Player37 joined the game
[03:14:39] [pool-3-thread-1/WARN]: Couldn't look up profile properties for com.mojang.authlib.GameProfile@46fe2f65[id=dbef6173-b792-3041-821b-b11445f44ee8,name=Player37,properties={},legacy=false]
com.mojang.authlib.exceptions.AuthenticationException: The client has sent too many requests within a certain amount of time
	at com.mojang.authlib.yggdrasil.YggdrasilAuthenticationService.makeRequest(YggdrasilAuthenticationService.java:65) ~[YggdrasilAuthenticationService.class:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillGameProfile(YggdrasilMinecraftSessionService.java:175) [YggdrasilMinecraftSessionService.class:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:59) [YggdrasilMinecraftSessionService$1.class:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService$1.load(YggdrasilMinecraftSessionService.java:56) [YggdrasilMinecraftSessionService$1.class:?]
	at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache.get(LocalCache.java:3934) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) [guava-17.0.jar:?]
	at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827) [guava-17.0.jar:?]
	at com.mojang.authlib.yggdrasil.YggdrasilMinecraftSessionService.fillProfileProperties(YggdrasilMinecraftSessionService.java:165) [YggdrasilMinecraftSessionService.class:?]
	at net.minecraft.client.Minecraft.getProfileProperties(Minecraft.java:3060) [Minecraft.class:?]
	at net.minecraft.client.resources.SkinManager$3.run(SkinManager.java:131) [SkinManager$3.class:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_92]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_92]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_92]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_92]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
[03:14:44] [Server thread/INFO]: Saving and pausing game...
[03:14:44] [Server thread/INFO]: Saving chunks for level 'DisableSkeletonHorses'/Overworld
[03:14:44] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[03:14:44] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[03:14:48] [Server thread/INFO]: Stopping server
[03:14:48] [Server thread/INFO]: Saving players
[03:14:48] [Server thread/INFO]: Saving worlds
[03:14:48] [Server thread/INFO]: Saving chunks for level 'DisableSkeletonHorses'/Overworld
[03:14:48] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[03:14:48] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[03:14:48] [Server thread/INFO] [Sponge]: Unloading world [DisableSkeletonHorses] (DIM0)
[03:14:48] [Server thread/INFO] [Sponge]: Unloading world [DIM-1] (DIM-1)
[03:14:48] [Server thread/INFO] [Sponge]: Unloading world [DIM1] (DIM1)
[03:14:49] [Server thread/INFO] [FML]: Applying holder lookups
[03:14:49] [Server thread/INFO] [FML]: Holder lookups applied
[03:14:49] [Server thread/INFO] [totaleconomy]: Total Economy Stopped
[03:14:49] [Server thread/DEBUG] [ninja.leaping.permissionsex]: Disabling PermissionsEx
[03:15:25] [Server thread/INFO]: Starting integrated minecraft server version 1.10.2
[03:15:25] [Server thread/INFO]: Generating keypair
[03:15:25] [Server thread/INFO] [Sponge]: Checking for worlds that need to be migrated...
[03:15:25] [Server thread/INFO] [Sponge]: No worlds were found in need of migration.
[03:15:25] [Server thread/INFO] [FML]: Injecting existing block and item data into this server instance
[03:15:25] [Server thread/INFO] [FML]: Applying holder lookups
[03:15:25] [Server thread/INFO] [FML]: Holder lookups applied
[03:15:25] [Server thread/INFO] [FML]: Loading dimension 0 (DisableSkeletonHorses) (IntegratedServer)
[03:15:25] [Server thread/INFO]: Preparing start region for level 0 (DisableSkeletonHorses)
[03:15:26] [Server thread/INFO] [Sponge]: Loading world [DisableSkeletonHorses] (Overworld)
[03:15:26] [Server thread/INFO] [FML]: Loading dimension -1 (DIM-1) (IntegratedServer)
[03:15:26] [Server thread/INFO] [Sponge]: Loading world [DIM-1] (Nether)
[03:15:26] [Server thread/INFO] [FML]: Loading dimension 1 (DIM1) (IntegratedServer)
[03:15:26] [Server thread/INFO] [Sponge]: Loading world [DIM1] (The End)
[03:15:26] [Server thread/INFO]: Preparing start region for level 0 (DisableSkeletonHorses)
[03:15:26] [Server thread/INFO] [totaleconomy]: Total Economy Started
[03:15:26] [Server thread/INFO]: Changing view distance to 12, from 10
[03:15:26] [Netty Local Client IO #1/INFO] [FML]: Server protocol version 2
[03:15:26] [Netty Server IO #3/INFO] [FML]: Client protocol version 2
[03:15:26] [Netty Server IO #3/INFO] [FML]: Client attempting to join with 12 mods : disableskeletonhorse@1.0.0,chatclear@1.1.0,sponge@DEV,easyprefix@1.0.0,FML@<IP_ADDRESS>,spongeapi@,easyspawn@1.0.0,teleportonlogout@1.0.0,ninja.leaping.permissionsex@2.0-SNAPSHOT-b141,Forge@<IP_ADDRESS>8,mcp<EMAIL_ADDRESS>[03:15:26] [Netty Local Client IO #1/INFO] [FML]: [Netty Local Client IO #1] Client side modded connection established
[03:15:26] [Server thread/INFO] [FML]: [Server thread] Server side modded connection established
[03:15:26] [Server thread/INFO]: Player37[local:E:f5a6bf51] logged in with entity id 17 in DisableSkeletonHorses(0) at (-815.5, 55.0, -782.5)
[03:15:26] [Server thread/INFO]: Player37 joined the game
[03:15:27] [Server thread/INFO]: Saving and pausing game...
[03:15:27] [Client thread/INFO]: [CHAT] Player37 joined the game
[03:15:27] [Server thread/INFO]: Saving chunks for level 'DisableSkeletonHorses'/Overworld
[03:15:28] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[03:15:28] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[03:15:29] [Server thread/INFO]: Saving and pausing game...
[03:15:29] [Server thread/INFO]: Saving chunks for level 'DisableSkeletonHorses'/Overworld
[03:15:29] [Server thread/INFO]: Saving chunks for level 'DIM-1'/Nether
[03:15:29] [Server thread/INFO]: Saving chunks for level 'DIM1'/The End
[03:15:37] [Server thread/FATAL]: Error executing task
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Manager has already been closed!
	at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_92]
	at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_92]
	at net.minecraft.util.Util.runTask(Util.java:26) [Util.class:?]
	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:742) [MinecraftServer.class:?]
	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:156) [IntegratedServer.class:?]
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
Caused by: java.lang.IllegalStateException: Manager has already been closed!
	at ninja.leaping.permissionsex.PermissionsEx.getState(PermissionsEx.java:110) ~[PermissionsEx.class:?]
	at ninja.leaping.permissionsex.PermissionsEx.getContextInheritance(PermissionsEx.java:371) ~[PermissionsEx.class:?]
	at ninja.leaping.permissionsex.subject.InheritanceSubjectDataBaker.processContexts(InheritanceSubjectDataBaker.java:76) ~[InheritanceSubjectDataBaker.class:?]
	at ninja.leaping.permissionsex.subject.InheritanceSubjectDataBaker.bake(InheritanceSubjectDataBaker.java:93) ~[InheritanceSubjectDataBaker.class:?]
	at ninja.leaping.permissionsex.subject.CalculatedSubject.lambda$new$0(CalculatedSubject.java:55) ~[CalculatedSubject.class:?]
	at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache.lambda$get$2(LocalAsyncLoadingCache.java:121) ~[LocalAsyncLoadingCache.class:?]
	at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$15(BoundedLocalCache.java:1807) ~[BoundedLocalCache.class:?]
	at java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853) ~[?:1.8.0_92]
	at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:1805) ~[BoundedLocalCache.class:?]
	at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:1788) ~[BoundedLocalCache.class:?]
	at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache.get(LocalAsyncLoadingCache.java:120) ~[LocalAsyncLoadingCache.class:?]
	at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache.get(LocalAsyncLoadingCache.java:150) ~[LocalAsyncLoadingCache.class:?]
	at ninja.leaping.permissionsex.libs.com-github-benmanes-caffeine.cache.LocalAsyncLoadingCache$LoadingCacheView.get(LocalAsyncLoadingCache.java:371) ~[LocalAsyncLoadingCache$LoadingCacheView.class:?]
	at ninja.leaping.permissionsex.subject.CalculatedSubject.getData(CalculatedSubject.java:73) ~[CalculatedSubject.class:?]
	at ninja.leaping.permissionsex.subject.CalculatedSubject.getPermissions(CalculatedSubject.java:77) ~[CalculatedSubject.class:?]
	at ninja.leaping.permissionsex.subject.CalculatedSubject.getPermission(CalculatedSubject.java:95) ~[CalculatedSubject.class:?]
	at ninja.leaping.permissionsex.sponge.PEXSubject.getPermissionValue(PEXSubject.java:140) ~[PEXSubject.class:?]
	at net.minecraft.entity.player.EntityPlayerMP.getPermissionValue(EntityPlayerMP.java:147) ~[EntityPlayerMP.class:?]
	at net.minecraft.entity.player.EntityPlayerMP.hasPermission(EntityPlayerMP.java:129) ~[EntityPlayerMP.class:?]
	at net.minecraft.entity.player.EntityPlayerMP.hasPermission(EntityPlayerMP.java:141) ~[EntityPlayerMP.class:?]
	at org.spongepowered.common.command.SpongeCommandManager.process(SpongeCommandManager.java:328) ~[SpongeCommandManager.class:?]
	at net.minecraft.command.ServerCommandManager.executeCommand(ServerCommandManager.java:82) ~[ServerCommandManager.class:?]
	at net.minecraft.network.NetHandlerPlayServer.handleSlashCommand(NetHandlerPlayServer.java:955) ~[NetHandlerPlayServer.class:?]
	at net.minecraft.network.NetHandlerPlayServer.processChatMessage(NetHandlerPlayServer.java:931) ~[NetHandlerPlayServer.class:?]
	at net.minecraft.network.play.client.CPacketChatMessage.processPacket(CPacketChatMessage.java:47) ~[CPacketChatMessage.class:?]
	at net.minecraft.network.play.client.CPacketChatMessage.processPacket(CPacketChatMessage.java:8) ~[CPacketChatMessage.class:?]
	at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:123) ~[PacketUtil.class:?]
	at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$zjc000(PacketThreadUtil.java:39) ~[PacketThreadUtil$1.class:?]
	at net.minecraft.network.PacketThreadUtil$1.run(PacketThreadUtil.java:15) ~[PacketThreadUtil$1.class:?]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_92]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_92]
	at net.minecraft.util.Util.runTask(Util.java:25) ~[Util.class:?]
	... 5 more
[03:15:50] [Client thread/INFO]: [CHAT] Your salary of $20 has just been paid.

Looks like an issue with the different lifecycles -- PEX was enabling on preinit, which is only run once, but disabling on  server stop, which is run every time a player exits a SP world. I'll change to GameStoppingEvent which I think will only run once.


[ARROW] Assign a new execution id for arrow-based result

Why are the changes needed?

assign a new execution id for arrow-based result, so that we can track the arrow-based queries on the UI tab.
set kyuubi.operation.result.format=arrow;
select 1;

Before this PR:

After this PR:

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Thanks, merged to master/1.7


Build tcl scripts which make a model transformation for easier force extraction

I was thinking about a tcl code which would make it far easier to extract the mpc forces (and with that making the tool obsolete).
Whet I have the connected groups I could split each mpc into multiple mpcs and combine (not merge) the master nodes with another mpc.
If that is easily done, the run could have easy force extraction in hyperview as the master nodes of every splitted mpc now only contains the slave nodes of one part.
Things unclear right now:

what about moments? Do I have to move the master node to the center of each new slave node to avoid the moments being inaccurate?!

This is not yet clear to me yet but I think it could be very useful if we could bulid a tcl code which transforrms a fem model into such a model that I could easy force extract after the run with Hyperview

push this to someday - not a prio rn


[Addition]: Picses selfwitnessing cluster (20 HS)

Hotspot b58 Addresses
1124HWzDJXPP8EQ3NDUtZZCwjJvbst3m9LeZbCvHGKeT3HrwXn7u
112844TDB4PPK37oUT9M5vgpkKuHWAmT5TuArC1jutjGT7TZAXHa
112A2Z7u8stfmqMq1phGW625wmTbvEwqG7p9AWDF5JQyPLuaQAY9
112A8JKHSiLiNoww4xy3Djtm4SVrvtGr3RcwhvEMRbf5xo67ccPq
112fVAQ4QTT1fd49q6sr5izerxYG76U8LSKEE4XDBbjnpdH5L3NG
112KUwnyXX8ANAs5uaDfm173qsRJRQMb4Ddmgknn8UXN8f7GuErf
112Pq9UWrureUC94JjLXrxC6VsctmpetEh271oSAaFbP5GKrNJHA
112Qi515Xcz1njSXDYyGDCyG2VSpraWacC87szSNmTMnDdB9We9u
112V2bFMcHsis4Nx5jwF92eMmJRd826zYfP3icxqKJ5jg4iopMcW
112VC3K4fa95QRGLCTouH3Nd1eshfNS7x3p51pUj3zAr8i2uf62C
112Wsmi5oVWRpDoK9Fv6KofmziPXZLSQgx77H4CPfBkfRbkAFp4c
11AGDght9f2MeMCnKe84YD2XV86CgcCuyh3wXZ7p1LMVn7HzAaf
11FbTWixrxHV1zrXyLrMTRJj2RWYYmMW3A9BZWZyrt8ciVoCEHA
11G1xpoaPoUhRPabXHvDqmG8JQB74oyRMtsdXoKqoCA7fTSzhkG
11MP8MeKCwHe6TB8HKfo8J6BWMZ2X8Yx4wauYLQP5GYDiFCrufn
11nQoay9mZjZwUnjNJMYqY6aE3VuBGajA7VmM1Dz5687fpobTnW
11PUaHRwmPvjZ3PMEvGZSnBVKtRPpEZLiEQTPHQYP9CgcF5e7LX
11VrZt2NkpwF4N47V88miVSkZiYmztqbUf36mfL1oh9CiU54g4p
11xchUTSXhsPxvPvVw6qCtQ8cAKeaB6VywbSK69xW9gKxms5JXd
11ytS76bGXakWWDHZqcHfYmjHkpegSmqy2PommP2Ao4rcoAuhMJ
Discord Handle
No response
Reason(s)
These Hotspots are only witnessing their own brand, have very often a unlikely (perfect) placement, same assertion date-range(s) and usually there are enough real hotspots arround but these do not get witnessed at all.
High Clustering Coefficient and/or Clique size above the thresholds which are considered normal on the network.
Below some proof of the cluster(s):

Sorry my son is mentally ill! Sorry for the inconvenience everyone!