Skip to content

x/mobile/cmd/gobind: failing on linux-amd64-longtest builder due to missing module checksums #46418

@bcmills

Description

@bcmills
2021-02-20T03:30:13-bdb1ca9/linux-amd64-longtest
--- FAIL: TestDocs (0.38s)
    --- FAIL: TestDocs/Modules (0.29s)
        gobind_test.go:173: gobind -lang java failed: exit status 1: // Code generated by gobind. DO NOT EDIT.
            
            // Java class doctest.Doctest is a proxy for talking to a Go program.
            //
            //   autogenerated by gobind -lang=java example.com/doctest
            package doctest;
            
            import go.Seq;
            
            public abstract class Doctest {
            	static {
            		Seq.touch(); // for loading the native library
            		_init();
            	}
            	
            	private Doctest() {} // uninstantiable
            	
            	// touch is called from other bound packages to initialize this package
            	public static void touch() {}
            	
            	private static native void _init();
            	
            	
            	
            }
            // Code generated by gobind. DO NOT EDIT.
            
            // Java class doctest.Struct is a proxy for talking to a Go program.
            //
            //   autogenerated by gobind -lang=java example.com/doctest
            package doctest;
            
            import go.Seq;
            
            /**
             * This is a comment.
             */
            public final class Struct implements Seq.Proxy {
            	static { Doctest.touch(); }
            	
            	private final int refnum;
            	
            	@Override public final int incRefnum() {
            	      Seq.incGoRef(refnum, this);
            	      return refnum;
            	}
            	
            	Struct(int refnum) { this.refnum = refnum; Seq.trackGoRef(refnum, this); }
            	
            	public Struct() { this.refnum = __New(); Seq.trackGoRef(refnum, this); }
            	
            	private static native int __New();
            	
            	@Override public boolean equals(Object o) {
            		if (o == null || !(o instanceof Struct)) {
            		    return false;
            		}
            		Struct that = (Struct)o;
            		return true;
            	}
            	
            	@Override public int hashCode() {
            	    return java.util.Arrays.hashCode(new Object[] {});
            	}
            	
            	@Override public String toString() {
            		StringBuilder b = new StringBuilder();
            		b.append("Struct").append("{");
            		return b.append("}").toString();
            	}
            }
            
            // Code generated by gobind. DO NOT EDIT.
            
            // JNI functions for the Go <=> Java bridge.
            //
            //   autogenerated by gobind -lang=java example.com/doctest
            
            #include <android/log.h>
            #include <stdint.h>
            #include "seq.h"
            #include "_cgo_export.h"
            #include "doctest.h"
            
            jclass proxy_class_doctest_Struct;
            jmethodID proxy_class_doctest_Struct_cons;
            
            JNIEXPORT void JNICALL
            Java_doctest_Doctest__1init(JNIEnv *env, jclass _unused) {
            	jclass clazz;
            	clazz = (*env)->FindClass(env, "doctest/Struct");
            	proxy_class_doctest_Struct = (*env)->NewGlobalRef(env, clazz);
            	proxy_class_doctest_Struct_cons = (*env)->GetMethodID(env, clazz, "<init>", "(I)V");
            }
            
            JNIEXPORT jint JNICALL
            Java_doctest_Struct__1_1New(JNIEnv *env, jclass clazz) {
            	return new_doctest_Struct();
            }
            
            // Code generated by gobind. DO NOT EDIT.
            
            // JNI function headers for the Go <=> Java bridge.
            //
            //   autogenerated by gobind -lang=java example.com/doctest
            
            #ifndef __Doctest_H__
            #define __Doctest_H__
            
            #include <jni.h>
            
            extern jclass proxy_class_doctest_Struct;
            extern jmethodID proxy_class_doctest_Struct_cons;
            #endif
            // Code generated by gobind. DO NOT EDIT.
            
            // Java class go.Universe is a proxy for talking to a Go program.
            //
            //   autogenerated by gobind -lang=java 
            package go;
            
            import go.Seq;
            
            public abstract class Universe {
            	static {
            		Seq.touch(); // for loading the native library
            		_init();
            	}
            	
            	private Universe() {} // uninstantiable
            	
            	// touch is called from other bound packages to initialize this package
            	public static void touch() {}
            	
            	private static native void _init();
            	
            	private static final class proxyerror extends Exception implements Seq.Proxy, error {
            		private final int refnum;
            		
            		@Override public final int incRefnum() {
            		      Seq.incGoRef(refnum, this);
            		      return refnum;
            		}
            		
            		proxyerror(int refnum) { this.refnum = refnum; Seq.trackGoRef(refnum, this); }
            		
            		@Override public String getMessage() { return error(); }
            		
            		public native String error();
            	}
            	
            	
            }
            // Code generated by gobind. DO NOT EDIT.
            
            // Java class go.error is a proxy for talking to a Go program.
            //
            //   autogenerated by gobind -lang=java 
            package go;
            
            import go.Seq;
            
            public interface error {
            	public String error();
            	
            }
            
            // Code generated by gobind. DO NOT EDIT.
            
            // JNI functions for the Go <=> Java bridge.
            //
            //   autogenerated by gobind -lang=java 
            
            #include <android/log.h>
            #include <stdint.h>
            #include "seq.h"
            #include "_cgo_export.h"
            #include "universe.h"
            
            jclass proxy_class__error;
            jmethodID proxy_class__error_cons;
            static jmethodID mid_error_Error;
            
            JNIEXPORT void JNICALL
            Java_go_Universe__1init(JNIEnv *env, jclass _unused) {
            	jclass clazz;
            	clazz = (*env)->FindClass(env, "go/Universe$proxyerror");
            	proxy_class__error = (*env)->NewGlobalRef(env, clazz);
            	proxy_class__error_cons = (*env)->GetMethodID(env, clazz, "<init>", "(I)V");
            	clazz = (*env)->FindClass(env, "java/lang/Throwable");
            	mid_error_Error = (*env)->GetMethodID(env, clazz, "getMessage", "()Ljava/lang/String;");
            }
            
            JNIEXPORT jstring JNICALL
            Java_go_Universe_00024proxyerror_error(JNIEnv* env, jobject __this__) {
            	int32_t o = go_seq_to_refnum_go(env, __this__);
            	nstring r0 = proxy_error_Error(o);
            	jstring _r0 = go_seq_to_java_string(env, r0);
            	return _r0;
            }
            
            nstring cproxy_error_Error(int32_t refnum) {
            	JNIEnv *env = go_seq_push_local_frame(0);
            	jobject o = go_seq_from_refnum(env, refnum, proxy_class__error, proxy_class__error_cons);
            	jstring res = (*env)->CallObjectMethod(env, o, mid_error_Error);
            	nstring _res = go_seq_from_java_string(env, res);
            	go_seq_pop_local_frame(env);
            	return _res;
            }
            
            // Code generated by gobind. DO NOT EDIT.
            
            // JNI function headers for the Go <=> Java bridge.
            //
            //   autogenerated by gobind -lang=java 
            
            #ifndef __Universe_H__
            #define __Universe_H__
            
            #include <jni.h>
            
            extern jclass proxy_class__error;
            extern jmethodID proxy_class__error_cons;
            
            nstring cproxy_error_Error(int32_t refnum);
            
            #endif
            "golang.org/x/mobile/bind" is not found; run go get golang.org/x/mobile/bind: [-: missing go.sum entry for module providing package golang.org/x/mobile/bind; to add:
            	go mod download golang.org/x/mobile]
        gobind_test.go:173: gobind -lang objc failed: exit status 1: // Objective-C API for talking to example.com/doctest Go package.
            //   gobind -lang=objc example.com/doctest
            //
            // File is generated by gobind. Do not edit.
            
            #ifndef __GO_doctest_H__
            #define __GO_doctest_H__
            
            #include <stdint.h>
            #include <objc/objc.h>
            #endif
            // Objective-C API for talking to example.com/doctest Go package.
            //   gobind -lang=objc example.com/doctest
            //
            // File is generated by gobind. Do not edit.
            
            #ifndef __Doctest_H__
            #define __Doctest_H__
            
            @import Foundation;
            #include "ref.h"
            #include "Universe.objc.h"
            
            
            @class DoctestStruct;
            
            /**
             * This is a comment.
             */
            @interface DoctestStruct : NSObject <goSeqRefInterface> {
            }
            @property(strong, readonly) _Nonnull id _ref;
            
            - (nonnull instancetype)initWithRef:(_Nonnull id)ref;
            - (nonnull instancetype)init;
            @end
            
            #endif
            // Objective-C API for talking to example.com/doctest Go package.
            //   gobind -lang=objc example.com/doctest
            //
            // File is generated by gobind. Do not edit.
            
            #include <Foundation/Foundation.h>
            #include "seq.h"
            #include "_cgo_export.h"
            #include "Doctest.objc.h"
            
            
            @implementation DoctestStruct {
            }
            
            - (nonnull instancetype)initWithRef:(_Nonnull id)ref {
            	self = [super init];
            	if (self) { __ref = ref; }
            	return self;
            }
            
            - (nonnull instancetype)init {
            	self = [super init];
            	if (self) {
            		__ref = go_seq_from_refnum(new_doctest_Struct());
            	}
            	return self;
            }
            
            @end
            
            
            
            __attribute__((constructor)) static void init() {
            	init_seq();
            }
            // Objective-C API for talking to  Go package.
            //   gobind -lang=objc 
            //
            // File is generated by gobind. Do not edit.
            
            #ifndef __GO__H__
            #define __GO__H__
            
            #include <stdint.h>
            #include <objc/objc.h>
            nstring cproxy_error_Error(int32_t refnum);
            
            #endif
            // Objective-C API for talking to  Go package.
            //   gobind -lang=objc 
            //
            // File is generated by gobind. Do not edit.
            
            #ifndef __Universe_H__
            #define __Universe_H__
            
            @import Foundation;
            #include "ref.h"
            
            @protocol Universeerror;
            @class Universeerror;
            
            @protocol Universeerror <NSObject>
            - (NSString* _Nonnull)error;
            @end
            
            @class Universeerror;
            
            @interface Universeerror : NSError <goSeqRefInterface, Universeerror> {
            }
            @property(strong, readonly) _Nonnull id _ref;
            
            - (nonnull instancetype)initWithRef:(_Nonnull id)ref;
            - (NSString* _Nonnull)error;
            @end
            
            #endif
            // Objective-C API for talking to  Go package.
            //   gobind -lang=objc 
            //
            // File is generated by gobind. Do not edit.
            
            #include <Foundation/Foundation.h>
            #include "seq.h"
            #include "_cgo_export.h"
            #include "Universe.objc.h"
            
            @implementation Universeerror {
            }
            
            - (nonnull instancetype)initWithRef:(id)ref {
            	if (self) {
            		__ref = ref;
            		self = [super initWithDomain:@"go" code:1 userInfo:@{NSLocalizedDescriptionKey: [self error]}];
            	}
            	return self;
            }
            
            - (NSString* _Nonnull)error {
            	int32_t refnum = go_seq_go_to_refnum(self._ref);
            	nstring r0 = proxy_error_Error(refnum);
            	NSString *_ret0_ = go_seq_to_objc_string(r0);
            	return _ret0_;
            }
            
            @end
            
            
            
            nstring cproxy_error_Error(int32_t refnum) {
            	@autoreleasepool {
            		Universeerror* o = go_seq_objc_from_refnum(refnum);
            		NSString* _Nonnull ret0_;
            		ret0_ = [o localizedDescription];
            		nstring _ret0_ = go_seq_from_objc_string(ret0_);
            		return _ret0_;
            	}
            }
            
            __attribute__((constructor)) static void init() {
            	init_seq();
            }
            unable to import bind/objc: [-: missing go.sum entry for module providing package golang.org/x/mobile/bind/objc; to add:
            	go mod download golang.org/x/mobile]
FAIL
FAIL	golang.org/x/mobile/cmd/gobind	17.634s

The first failure was at CL 318629, which seems closely related to the failure mode (CC @jayconrod @matloob).

Metadata

Metadata

Assignees

No one assigned

    Labels

    FrozenDueToAgeNeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.mobileAndroid, iOS, and x/mobileokay-after-beta1Used by release team to mark a release-blocker issue as okay to resolve either before or after beta1release-blocker

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions