Troubleshooting Guides
GraphQL Plugin Errors
Meshmap is a plugin to meshery, thus it is strictly attached to it but loosly coupled. The packages that are common to both Meshery and MeshMap should have the same version otherwise the package conflict will arise.
1. Realpath Error: Plugin Not Found at the desired location
You have to build Graphql plugin for Meshery to run MeshMap. The error arises because you don’t have meshmap plugin initialised.
To resolve the error:
1. make run-graphql # build the grapghql plugin and exports it
2. make run-meshmap
2. Difference in package error
- Showing the message as such:
“plugin.Open(”/home/abhishek/.meshery/provider/Meshery/v0.6.0-rc-2/provider/navigator/meshmap/graphql/plugin.so"): plugin was built with a different version of package github.com/layer5io/meshsync/internal/config (previous failure)
"
To being particular, meshsync is throwing the version error here.
The solution is to check the version of meshsync in server, i.e, in meshery/go.mod
and check version of meshsync in plugin(here meshmap) in meshery-extensions/graphql/go.mod
If both are having different versions that is the reason of the error.
Fix: Either updating both the repos to their latest helps because someone may have already updated it after seeing same problem or you can go with creating a pull-request to update the package to the latest fixing your issue as well as for others. discuss more
3. Sometimes running make run-graphql
save package in different directory.
Inspecting your server log is the good take here.
- make run-graphql output:
cd graphql;go mod tidy; go build -mod=mod -buildmode=plugin -ldflags="-w -s -X main.extensionVersion=v0.5.47 -X main.extensionCommitSHA=e76b310df6d26cecd77f46ae851afa12ea783478" -o plugin.so main.go;
mkdir -p /home/abhishhek/.meshery/provider/Meshery/v0.6.0-rc-2/provider/navigator/meshmap/graphql;
cp -R graphql/plugin.so /home/abhishhek/.meshery/provider/Meshery/v0.6.0-rc-2/provider/navigator/meshmap/graphql/plugin.so; cd ..
- Error from server:
"plugin.Open("/home/abhishek/.meshery/provider/Meshery/v0.6.0-rc-2-1/provider/navigator/meshmap/graphql/plugin.so"): plugin was built with a different version of package github.com/layer5io/xxx/yyy/zzz (previous failure)
Your server and meshmap should be synced with each other, and that’s why the updating both to the latest changes might work.
- Running
make-graphql
build the meshmap plugin with the latest packages and your issue may be fixed. - If you take a closer look to the logs from server and meshmap you will find that graphql-plugin is saved to different directory than what meshery-server expects. (see the outputs/logs from the two commands above, server expects plugin in
.meshery/provider/Meshery/v0.6.0-rc-2-1
but meshmap saves plugin in.meshery/provider/Meshery/v0.6.0-rc-2
). Temporary fix for it is move the plugin files to the folder that meshery expects, e.g. here, move the files ofv0.6.0-rc-2
tov0.6.0-rc-2-1