I cannot find any apparent mistake. Just compare with the entry in my EDB file:
wall_tech requires factions { barbarian, eastern, thrace, numidia, } and hidden_resource muralla
"muralla" is the dummy hidden resource, placed in the first line of the file
hidden_resources sparta rome italy romans gauls celts iberians greeks africans italians raros muralla
and not present in any region of descr_regions.txt

As possible tests I would suggest:
- Put the names of factions or cultures in the requirement
- Is there one or two blank spaces after }? (I don't know if this is important)
- Try to rename the hidden resource

I'd like to be of more help, but...