We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OS:macOS 10.14.6 JDK版本:13.0.2 gradle版本:6.1.1
代码基于README中给出的示例代码
package net.im45.nologin; import net.mamoe.mirai.japt.BlockingBot; import net.mamoe.mirai.japt.BlockingContacts; import net.mamoe.mirai.japt.BlockingQQ; import net.mamoe.mirai.japt.Events; import net.mamoe.mirai.message.GroupMessage; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class Test { public static void main(String[] args) throws InterruptedException { final String filename = "credential.txt"; long id; String password; try (BufferedReader prd = new BufferedReader(new FileReader(filename))) { id = Long.parseLong(prd.readLine()); password = prd.readLine(); } catch (IOException exc) { System.out.println("Cannot open file: " + filename); exc.printStackTrace(); return; } BlockingBot bot = BlockingBot.newInstance(id, password); bot.login(); bot.getFriendList().forEach(friend -> System.out.println(friend.getNick())); Events.subscribeAlways(GroupMessage.class, (GroupMessage message) -> { final BlockingQQ sender = BlockingContacts.createBlocking(message.getSender()); // sender.sendMessage("Hello"); }); Thread.sleep(999999999); } }
报错:
> Task :Test.main() FAILED Exception in thread "main" java.lang.VerifyError: Bad type on operand stack Exception Details: Location: net/mamoe/mirai/event/internal/EventListenerManager.get$mirai_core(Lkotlin/reflect/KClass;)Lnet/mamoe/mirai/event/internal/EventListeners; @205: putfield Reason: Type 'net/mamoe/mirai/event/internal/EventListenerManagerLockRefVolatile' (current frame, stack[1]) is not assignable to integer Current Frame: bci: @205 flags: { } locals: { 'net/mamoe/mirai/event/internal/EventListenerManager', 'kotlin/reflect/KClass', 'net/mamoe/mirai/event/internal/EventListenerManager$Registry', integer, 'net/mamoe/mirai/utils/Node' } stack: { integer, 'net/mamoe/mirai/event/internal/EventListenerManagerLockRefVolatile' } Bytecode: 0000000: 2b12 17b8 001d b200 1f4d 033e 2cb6 0025 0000010: c000 273a 0400 1904 2cb6 002b a600 06a7 0000020: 0085 1904 3a05 0336 0619 053a 0703 3608 0000030: 1907 3a09 0336 0a19 09c1 002d 9a00 1e19 0000040: 073a 0903 360a 1909 c100 2f9a 000f 1907 0000050: b800 359a 0007 04a7 0004 039a 0006 a700 0000060: 3c19 05b6 0039 3a07 1907 c600 3019 07c0 0000070: 0007 3a0b 0336 0c19 0bb6 003d 2bb8 0041 0000080: 9900 1719 0bb6 0045 59c7 000d bb00 4759 0000090: 1249 b700 4dbf b0a7 0003 1904 b600 513a 00000a0: 04a7 ff74 b200 53b2 0055 0304 b600 5b99 00000b0: 0034 bb00 0759 2bbb 005d 59b7 0060 b700 00000c0: 634d b200 1f2c b600 6703 b200 55b5 006d 00000d0: 2cb6 0045 59c7 000d bb00 4759 1249 b700 00000e0: 4dbf b0a7 ff1d Stackmap Table: same_frame(@0) append_frame(@21,Object[#33],Integer,Object[#39]) same_frame(@34) full_frame(@90,{Object[#2],Object[#131],Object[#33],Integer,Object[#39],Object[#39],Integer,Object[#39],Integer,Object[#39],Integer},{}) same_locals_1_stack_item_frame(@91,Integer) same_frame(@97) full_frame(@150,{Object[#2],Object[#131],Object[#33],Integer,Object[#39],Object[#39],Integer,Object[#4],Integer,Object[#39],Integer,Object[#7],Integer},{Object[#93]}) same_frame(@151) chop_frame(@154,2) full_frame(@164,{Object[#2],Object[#131],Object[#33],Integer,Object[#39]},{}) full_frame(@226,{Object[#2],Object[#131],Object[#7],Integer,Object[#39]},{Object[#93]}) full_frame(@227,{Object[#2],Object[#131],Object[#33],Integer,Object[#39]},{}) at net.mamoe.mirai.event.internal.InternalEventListenersKt.listeners(InternalEventListeners.kt:78) at net.mamoe.mirai.event.internal.InternalEventListenersKt.subscribeInternal(InternalEventListeners.kt:29) at net.mamoe.mirai.BotImpl.<init>(BotImpl.kt:198) at net.mamoe.mirai.qqandroid.QQAndroidBotBase.<init>(QQAndroidBot.kt:46) at net.mamoe.mirai.qqandroid.QQAndroidBot.<init>(QQAndroidBot.kt:27) at net.mamoe.mirai.qqandroid.QQAndroid.Bot(QQAndroid.kt:28) at net.mamoe.mirai.BotFactoryJvmKt.Bot(BotFactoryJvm.kt:63) at net.mamoe.mirai.BotFactoryJvmKt.Bot$default(BotFactoryJvm.kt:62) at net.mamoe.mirai.BotFactoryJvmKt.Bot(BotFactoryJvm.kt) at net.mamoe.mirai.japt.BlockingBot.newInstance(BlockingBot.java:40) at net.im45.nologin.Test.main(Test.java:28) Execution failed for task ':Test.main()'. > Process 'command '/Library/Java/JavaVirtualMachines/jdk-13.0.2.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
build.gradle:
build.gradle
plugins { id 'java' } group 'net.im45.nologin' version '0.1-SNAPSHOT' sourceCompatibility = 13 targetCompatibility = 13 repositories { jcenter() mavenCentral() } dependencies { implementation "net.mamoe:mirai-core-qqandroid-jvm:0.15.1" implementation "net.mamoe:mirai-japt:1.0.0" testCompile group: 'junit', name: 'junit', version: '4.12' }
The text was updated successfully, but these errors were encountered:
此问题由编译器bug导致,已验证可以通过修改class文件进行修复。 修复方法: 将EventListenerManager.class文件的0x0E7C到0x0E7F四个字节修改为B5 00 6D 2C。
Sorry, something went wrong.
草 是编译器bug 是不是可以向Oracle提交bug了
是Kotlin编译器bug,这是日常
d4fdeee
Him188
No branches or pull requests
OS:macOS 10.14.6
JDK版本:13.0.2
gradle版本:6.1.1
代码基于README中给出的示例代码
报错:
build.gradle
:The text was updated successfully, but these errors were encountered: