There is a bug with fill when using /execute to change ice to water, if you use any scoreboard values with the selector it doesn't work. without selectors it works just fine.
/execute @p ~ ~ ~ fill ~3 ~ ~3 ~-3 ~-2 ~-3 ice 0 replace water: WORKS
/execute @p[score_test_min=1] ~ ~ ~ fill ~3 ~ ~3 ~-3 ~-2 ~3 ice 0 replace water: DOESN'T WORK
What I expected to happen was...:
The command would run normally
What actually happened was...:
the command would not work.
Steps to Reproduce:
1. place down a command block that is on a clock
2. type in the command: /execute @p[score_test_min=1] ~ ~ ~ fill ~3 ~ ~3 ~-3 ~-2 ~3 ice 0 replace water
3. walk over to some water and it WILL NOT turn into ice
There is a mistake in what you wrote I guess, I think you meant:
You forgot a "-" in front of the last 3
Is working