Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

Unable to resolve service by invoking protoc on M1 Mac #133

Closed
steverawlins-zebra opened this issue Jul 13, 2022 · 2 comments
Closed

Unable to resolve service by invoking protoc on M1 Mac #133

steverawlins-zebra opened this issue Jul 13, 2022 · 2 comments

Comments

@steverawlins-zebra
Copy link

steverawlins-zebra commented Jul 13, 2022

When I try "Listing" (to see all those methods available), the Full Method: dropdown remains empty and the log shows a problem trying to invoke protoc:

2022-07-13 13:56:36,293 DEBUG o.a.j.g.GuiPackage: Gui retrieved = org.apache.jmeter.visualizers.StatVisualizer[Aggregate Report,0,0,877x717,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
2022-07-13 13:56:36,293 DEBUG o.a.j.g.GuiPackage: Gui retrieved = org.apache.jmeter.visualizers.ViewResultsFullVisualizer[View Results Tree,0,0,877x717,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EmptyBorder@3b0a2cb7,flags=9,maximumSize=,minimumSize=,preferredSize=]
2022-07-13 13:56:37,867 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: vn.zalopay.benchmark.GRPCSamplerGui
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: vn.zalopay.benchmark.GRPCSampler
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ListAllProperties
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: ListAllProperties
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.BooleanProperty: true
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Won't replace true
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ${protoFiles}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: /Users/srawlins/Projects/phoenix-services/libs/protobuf/src/main/proto
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ${protoLib}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: /Users/srawlins/Projects/phoenix-services/libs/protobuf/src/google
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ${authToken}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: Authorization:Bearer bb6eb4c3-d365-3e23-8acb-a452170e3148
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ${env}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: uat-ssppcores.pp.zebra.com
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ${port}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: 443
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: property.PropertyService/ListProperties
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: property.PropertyService/ListProperties
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: ${gRPCDeadline}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: 3000
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.BooleanProperty: true
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Won't replace true
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: {}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: {}
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.BooleanProperty: false
2022-07-13 13:56:37,868 DEBUG o.a.j.e.u.ValueReplacer: Won't replace false
2022-07-13 13:56:37,869 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: 1000
2022-07-13 13:56:37,869 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: 1000
2022-07-13 13:56:37,869 DEBUG o.a.j.e.u.ValueReplacer: About to replace in property of type: class org.apache.jmeter.testelement.property.StringProperty: 
2022-07-13 13:56:37,869 DEBUG o.a.j.e.u.ValueReplacer: Replacement result: 
2022-07-13 13:56:37,930 ERROR o.a.j.JMeter: Uncaught exception in thread Thread[AWT-EventQueue-0,6,main]
java.lang.RuntimeException: Unable to resolve service by invoking protoc
	at vn.zalopay.benchmark.core.ClientList.getServiceResolver(ClientList.java:51) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.GRPCSamplerGui.getMethods(GRPCSamplerGui.java:315) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.GRPCSamplerGui.access$100(GRPCSamplerGui.java:40) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.GRPCSamplerGui$1.actionPerformed(GRPCSamplerGui.java:276) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972) ~[?:?]
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313) ~[?:?]
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) ~[?:?]
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) ~[?:?]
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279) ~[?:?]
	at java.awt.Component.processMouseEvent(Component.java:6616) ~[?:?]
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3398) ~[?:?]
	at java.awt.Component.processEvent(Component.java:6381) ~[?:?]
	at java.awt.Container.processEvent(Container.java:2266) ~[?:?]
	at java.awt.Component.dispatchEventImpl(Component.java:4991) ~[?:?]
	at java.awt.Container.dispatchEventImpl(Container.java:2324) ~[?:?]
	at java.awt.Component.dispatchEvent(Component.java:4823) ~[?:?]
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948) ~[?:?]
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575) ~[?:?]
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516) ~[?:?]
	at java.awt.Container.dispatchEventImpl(Container.java:2310) ~[?:?]
	at java.awt.Window.dispatchEventImpl(Window.java:2780) ~[?:?]
	at java.awt.Component.dispatchEvent(Component.java:4823) ~[?:?]
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775) ~[?:?]
	at java.awt.EventQueue$4.run(EventQueue.java:720) ~[?:?]
	at java.awt.EventQueue$4.run(EventQueue.java:714) ~[?:?]
	at java.security.AccessController.doPrivileged(AccessController.java:399) ~[?:?]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97) ~[?:?]
	at java.awt.EventQueue$5.run(EventQueue.java:747) ~[?:?]
	at java.awt.EventQueue$5.run(EventQueue.java:745) ~[?:?]
	at java.security.AccessController.doPrivileged(AccessController.java:399) ~[?:?]
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) ~[?:?]
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:744) ~[?:?]
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203) ~[?:?]
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) ~[?:?]
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) ~[?:?]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) ~[?:?]
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) ~[?:?]
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) ~[?:?]
Caused by: vn.zalopay.benchmark.core.protobuf.ProtocInvoker$ProtocInvocationException: Unable to execute protoc binary
	at vn.zalopay.benchmark.core.protobuf.ProtocInvoker.invokeBinary(ProtocInvoker.java:137) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.core.protobuf.ProtocInvoker.invoke(ProtocInvoker.java:115) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.core.ClientList.getServiceResolver(ClientList.java:44) ~[jmeter-grpc-request-v1.2.1.jar:?]
	... 38 more
Caused by: java.io.FileNotFoundException: Unsupported platform: protoc-3.11.4-osx-aarch_64.exe
	at com.github.os72.protocjar.Protoc.extractProtoc(Protoc.java:223) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at com.github.os72.protocjar.Protoc.extractProtoc(Protoc.java:184) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at com.github.os72.protocjar.Protoc.runProtoc(Protoc.java:68) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at com.github.os72.protocjar.Protoc.runProtoc(Protoc.java:55) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.core.protobuf.ProtocInvoker.invokeBinary(ProtocInvoker.java:134) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.core.protobuf.ProtocInvoker.invoke(ProtocInvoker.java:115) ~[jmeter-grpc-request-v1.2.1.jar:?]
	at vn.zalopay.benchmark.core.ClientList.getServiceResolver(ClientList.java:44) ~[jmeter-grpc-request-v1.2.1.jar:?]
	... 38 more

And when I try executing the test, I get:

2022-07-13 13:55:08,856 ERROR o.a.j.s.SampleResult: setEndTime must be called after setStartTime

@minhhoangvn
Copy link
Contributor

minhhoangvn commented Jul 16, 2022

@steverawlins-zebra, you can work around it by inputting the java properties "-Dos.arch=x86_64" since the library of protoc did not have an executable for M1 with arm chipset.

They still open the PR os72/protoc-jar#94

@steverawlins-zebra
Copy link
Author

Thank you! That worked.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants