Found a compile error PLS-00753 when we compiled trigger CAT_ROLLBACK_TRIGGER owned by GSMADMIN_INTERNAL.
PLS-00753: malformed or corrupted wrapped unit
Finally, we found that some common packages are not accessible by PUBLIC, especially the package UTL_FILE.
So the solution is to grant those package to public again.
GRANT EXECUTE ON SYS.UTL_FILE TO PUBLIC;
For safety, we should additionally re-grant the required privileges to PUBLIC, too.
GRANT EXECUTE ON SYS.DBMS_RANDOM TO PUBLIC;
GRANT EXECUTE ON SYS.UTL_HTTP TO PUBLIC;
GRANT EXECUTE ON SYS.UTL_SMTP TO PUBLIC;
GRANT EXECUTE ON SYS.UTL_TCP TO PUBLIC;
They should be enough to pass the compilation.
There're more packages owned by SYS should be granted to PUBLIC to execute.