[SPIGOT-2134] Double /execute fails 3rd command if player in 2nd selector does not have perms for it. Created: 05/Apr/16  Updated: 01/May/16  Resolved: 20/Apr/16

Status: Closed
Project: Spigot
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: Zedadias Wick Assignee: Thinkofname
Resolution: Fixed Votes: 0
Labels: Spigot, bug, command, commandblock, permissions


 Description   

When running a double /execute command to run any vanilla command, if the player targeted by the second selector does not have permission to run that command then it will fail and the player will receive the "I'm sorry, but you do not have permission" message.

Adding the following command to a command block will succeed when powered:

/execute @p ~ ~ ~ say Hi

But the next command will fail as described above, with the no permission message being displayed to the player in the second selector.

/execute @p ~ ~ ~ /execute @p ~ ~ ~ say Hi

I do not believe this is expected, and will break any command block oriented world which relies on double /execute.



 Comments   
Comment by Thinkofname [ 01/May/16 ]

Fixed in latest. Had to get you check on Spigot as I have no idea of the changes Paper makes to their fork (we have no control or connection to it)

Comment by SpiderRobotMan [ 01/May/16 ]

@Thinkofname Just tested in latest Spigot build (git-Spigot-e6f93f4-935f18b), same result. As you can see in the log each execute up to the one with 2 nested commands works just as expected then when it reaches this it locks up:

/execute @p ~ ~ ~ execute @p ~ ~ ~ execute @p ~ ~ ~ say hi

Log - http://hastebin.com/agiponugos.avrasm

Comment by SpiderRobotMan [ 01/May/16 ]

I'll test on plain Spigot but i'd imagine it will be the exact same issue.

Comment by Thinkofname [ 01/May/16 ]

SpiderRobotMan PaperSpigot isn't supported here

Comment by SpiderRobotMan [ 01/May/16 ]

The resolution to this issue has introduced another large problem. If you try to run an execute with 2 nested executes inside the main thread completely locks up no matter what the selectors are or how many players are online (could be exact player names, @e, @p, @a). an example of a command that will crash a server is

 /execute @p ~ ~ ~ execute @p ~ ~ ~ execute @p ~ ~ ~ say hi

the log output is (running PaperSpigot) http://hastebin.com/ibakitihoj.avrasm

Comment by Zedadias Wick [ 05/Apr/16 ]

It wouldn't be, was just a simple example to show the bug. The problem is just that for some reason the second /execute will not ignore a player's permissions.

/execute @a[team=Red] ~ ~ ~ /execute @a[team=Blue] ~ ~ ~ /say I am Blue

The above would fail in just the same way, where

/execute @a[team=Blue] ~ ~ ~ say I am Blue

Would run perfectly fine.

Comment by md_5 [ 05/Apr/16 ]

I don't get it, how can @p be different?

Generated at Tue Apr 22 06:49:49 UTC 2025 using Jira 10.3.5#10030005-sha1:190c783f2bd6c69cd5accdb70f97e48812a78d14.