Giter Club home page Giter Club logo

abstract-plugin-framework's Issues

ArrayIndexOutOfBounds on Debug log

APF version: 3.0.1-SNAPSHOT 747a1f4

Reported exception:

| 10-15 21:00:50 | com.djrapitops.plan.system.processing.Processing caught ArrayIndexOutOfBoundsException
| 10-15 21:00:50 | java.lang.ArrayIndexOutOfBoundsException: Index 342 out of bounds for length 339
| 10-15 21:00:50 |    java.base/java.util.ArrayDeque.elementAt(ArrayDeque.java:260)
| 10-15 21:00:50 |    java.base/java.util.ArrayDeque.pollFirst(ArrayDeque.java:380)
| 10-15 21:00:50 |    java.base/java.util.ArrayDeque.poll(ArrayDeque.java:538)
| 10-15 21:00:50 |    com.djrapitops.plugin.utilities.EjectingQueue.add(EjectingQueue.java:39)
| 10-15 21:00:50 |    com.djrapitops.plugin.logging.debug.MemoryDebugLogger.logOn(MemoryDebugLogger.java:32)
| 10-15 21:00:50 |    com.djrapitops.plugin.logging.debug.CombineDebugLogger.logOn(CombineDebugLogger.java:26)
| 10-15 21:00:50 |    com.djrapitops.plugin.benchmarking.Timings.lambda$end$0(Timings.java:74)
| 10-15 21:00:50 |    java.base/java.util.Optional.ifPresent(Optional.java:183)
| 10-15 21:00:50 |    com.djrapitops.plugin.benchmarking.Timings.end(Timings.java:74)
| 10-15 21:00:50 |    com.djrapitops.plan.system.database.databases.sql.processing.AbstractSQLStatement.stopBenchmark(AbstractSQLStatement.java:37)
| 10-15 21:00:50 |    com.djrapitops.plan.system.database.databases.sql.processing.ExecStatement.execute(ExecStatement.java:28)
| 10-15 21:00:50 |    com.djrapitops.plan.system.database.databases.sql.SQLDB.execute(SQLDB.java:280)
| 10-15 21:00:50 |    com.djrapitops.plan.system.database.databases.sql.tables.Table.execute(Table.java:153)
| 10-15 21:00:50 |    com.djrapitops.plan.system.database.databases.sql.tables.PingTable.insertPing(PingTable.java:71)
| 10-15 21:00:50 |    com.djrapitops.plan.system.database.databases.sql.operation.SQLSaveOps.ping(SQLSaveOps.java:136)
| 10-15 21:00:50 |    com.djrapitops.plan.system.processing.processors.player.PingInsertProcessor.run(PingInsertProcessor.java:64)
| 10-15 21:00:50 |    com.djrapitops.plan.system.processing.Processing.lambda$submitCritical$1(Processing.java:61)
| 10-15 21:00:50 |    java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
| 10-15 21:00:50 |    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
| 10-15 21:00:50 |    java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
| 10-15 21:00:50 |    java.base/java.lang.Thread.run(Thread.java:834)

Original issue: plan-player-analytics/Plan#755

Likely cause: Concurrent access to ArrayDeque collection

io.netty.handler.codec.EncoderException: String too big (was 59112 bytes encoded, max 44767)

e.g. /plan search 3 -> Client is disconnected because the String sent by ISender.sendMessage(String) is too big, splitting Strings when size too big should help.

26.07 12:40:29 [Server] ERROR io.netty.handler.codec.EncoderException: String too big (was 59112 bytes encoded, max 44767)
26.07 12:40:29 [Disconnect] User Fuzzlemann has disconnected, reason: Disconnected

NPE on Timings

plan-player-analytics/Plan#197

[Jul 26, 12:50:37] main.java.com.djrapitops.plan.data.cache.queue.GetConsumer Caught java.lang.NullPointerException
[Jul 26, 12:50:37]   com.djrapitops.plugin.utilities.status.Timings.markExecution(Timings.java:27)
[Jul 26, 12:50:37]   com.djrapitops.plugin.utilities.BenchUtil.stop(BenchUtil.java:39)
[Jul 26, 12:50:37]   main.java.com.djrapitops.plan.utilities.Benchmark.stop(Benchmark.java:27)
[Jul 26, 12:50:37]   main.java.com.djrapitops.plan.database.tables.IPsTable.getIPAddresses(IPsTable.java:105)
[Jul 26, 12:50:37]   main.java.com.djrapitops.plan.database.databases.SQLDB.giveUserDataToProcessors(SQLDB.java:314)
[Jul 26, 12:50:37]   main.java.com.djrapitops.plan.data.cache.queue.GetConsumer.consume(DataCacheGetQueue.java:80)
[Jul 26, 12:50:37]   main.java.com.djrapitops.plan.data.cache.queue.GetConsumer.consume(DataCacheGetQueue.java:57)
[Jul 26, 12:50:37]   main.java.com.djrapitops.plan.data.cache.queue.Consumer.run(Consumer.java:33)
[Jul 26, 12:50:37]   com.djrapitops.plugin.task.RunnableFactory$1.run(RunnableFactory.java:36)
[Jul 26, 12:50:37]   org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:58)
[Jul 26, 12:50:37]   org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52)
[Jul 26, 12:50:37]   com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[Jul 26, 12:50:37]   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[Jul 26, 12:50:37]   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[Jul 26, 12:50:37]   java.lang.Thread.run(Thread.java:748)

[Jul 26, 12:50:37]

NPE on Timings.toStringArray

java.lang.NullPointerException | /debug
    com.djrapitops.plugin.utilities.status.obj.BenchmarkObj.lambda$getAverage$0(BenchmarkObj.java:29)
    java.util.stream.ReferencePipeline$5$1.accept(ReferencePipeline.java:227)
    java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
    java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    java.util.stream.LongPipeline.reduce(LongPipeline.java:438)
    java.util.stream.LongPipeline.sum(LongPipeline.java:396)
    com.djrapitops.plugin.utilities.status.obj.BenchmarkObj.getAverage(BenchmarkObj.java:29)
    com.djrapitops.plugin.utilities.status.Timings.lambda$asStringArray$1(Timings.java:34)
    java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1548)
    java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    com.djrapitops.plugin.utilities.status.Timings.asStringArray(Timings.java:35)
    main.java.com.djrapitops.plan.systems.webserver.response.DebugPageResponse.appendBenchmarks(DebugPageResponse.java:159)
    main.java.com.djrapitops.plan.systems.webserver.response.DebugPageResponse.buildParagraph(DebugPageResponse.java:59)
    main.java.com.djrapitops.plan.systems.webserver.response.DebugPageResponse.(DebugPageResponse.java:37)
    main.java.com.djrapitops.plan.systems.webserver.ResponseHandler.getResponse(ResponseHandler.java:82)
    main.java.com.djrapitops.plan.systems.webserver.RequestHandler.handle(RequestHandler.java:40)
    com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
    sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
    com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
    sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
    com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
    sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:645)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    java.lang.Thread.run(Thread.java:745)

Original issue plan-player-analytics/Plan#464

Errors thrown when reloading a plugin

This error occured whilst reloading Plan on Sponge

java.nio.channels.ClosedByInterruptException: null
        at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202) ~[?:1.8.0_191]
        at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:216) ~[?:1.8.0_191]
        at java.nio.channels.Channels.writeFullyImpl(Channels.java:78) ~[?:1.8.0_191]
        at java.nio.channels.Channels.writeFully(Channels.java:101) ~[?:1.8.0_191]
        at java.nio.channels.Channels.access$000(Channels.java:61) ~[?:1.8.0_191]
        at java.nio.channels.Channels$1.write(Channels.java:174) ~[?:1.8.0_191]
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) ~[?:1.8.0_191]
        at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:316) ~[?:1.8.0_191]
        at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149) ~[?:1.8.0_191]
        at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233) ~[?:1.8.0_191]
        at java.io.BufferedWriter.close(BufferedWriter.java:266) ~[?:1.8.0_191]
        at java.nio.file.Files.write(Files.java:3357) ~[?:1.8.0_191]
        at com.djrapitops.plugin.logging.FileLogger.appendToFile(FileLogger.java:61) ~[FileLogger.class:?]
        at com.djrapitops.plugin.logging.FolderTimeStampFileLogger.log(FolderTimeStampFileLogger.java:54) ~[FolderTimeStampFileLogger.class:?]
        at com.djrapitops.plugin.logging.error.FolderTimeStampErrorFileLogger.log(FolderTimeStampErrorFileLogger.java:77) ~[FolderTimeStampErrorFileLogger.class:?]
        at com.djrapitops.plugin.logging.error.CombineErrorHandler.log(CombineErrorHandler.java:28) ~[CombineErrorHandler.class:?]
        at com.djrapitops.plan.system.processing.Processing.exceptionHandlerNonCritical(Processing.java:104) ~[Processing.class:?]
        at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822) [?:1.8.0_191]
        at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797) [?:1.8.0_191]
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) [?:1.8.0_191]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1595) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]
[18:07:24] [Plan Non critical-pool-1/ERROR] [plan]: Error was caught by com.djrapitops.plugin.logging.error.FolderTimeStampErrorFileLogger
java.nio.channels.ClosedByInterruptException: null
        at java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202) ~[?:1.8.0_191]
        at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:216) ~[?:1.8.0_191]
        at java.nio.channels.Channels.writeFullyImpl(Channels.java:78) ~[?:1.8.0_191]
        at java.nio.channels.Channels.writeFully(Channels.java:101) ~[?:1.8.0_191]
        at java.nio.channels.Channels.access$000(Channels.java:61) ~[?:1.8.0_191]
        at java.nio.channels.Channels$1.write(Channels.java:174) ~[?:1.8.0_191]
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) ~[?:1.8.0_191]
        at sun.nio.cs.StreamEncoder.implClose(StreamEncoder.java:316) ~[?:1.8.0_191]
        at sun.nio.cs.StreamEncoder.close(StreamEncoder.java:149) ~[?:1.8.0_191]
        at java.io.OutputStreamWriter.close(OutputStreamWriter.java:233) ~[?:1.8.0_191]
        at java.io.BufferedWriter.close(BufferedWriter.java:266) ~[?:1.8.0_191]
        at java.nio.file.Files.write(Files.java:3357) ~[?:1.8.0_191]
        at com.djrapitops.plugin.logging.FileLogger.appendToFile(FileLogger.java:61) ~[FileLogger.class:?]
        at com.djrapitops.plugin.logging.FolderTimeStampFileLogger.log(FolderTimeStampFileLogger.java:54) ~[FolderTimeStampFileLogger.class:?]
        at com.djrapitops.plugin.logging.error.FolderTimeStampErrorFileLogger.log(FolderTimeStampErrorFileLogger.java:77) ~[FolderTimeStampErrorFileLogger.class:?]
        at com.djrapitops.plugin.logging.error.CombineErrorHandler.log(CombineErrorHandler.java:28) ~[CombineErrorHandler.class:?]
        at com.djrapitops.plan.system.processing.Processing.exceptionHandlerNonCritical(Processing.java:104) ~[Processing.class:?]
        at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822) [?:1.8.0_191]
        at java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797) [?:1.8.0_191]
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) [?:1.8.0_191]
        at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1595) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]

Command Permission checks

Help command should check if the user has permission for subcommand.
Should also check permission for the help command.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.