CI post build action condition error #2784
pim opened 1 month ago

In my CI I have a post build action running another job conditionally defined like so:

image.png

The condition failes with this error (as seen in server log):

2026-05-20 09:15:45,717 ERROR [hz.127.0.0.1:5710.cached.thread-16] i.o.server.job.DefaultJobService Error processing post build actions (project: Sense/Module/ednl-sense-module-controller, commit: de4756a24b9bdf83e0c4538dd8d3c802190e1f43, job: List Changed files)
java.lang.ClassCastException: class io.onedev.server.buildspec.job.log.JobLogEntryEx cannot be cast to class io.onedev.server.buildspec.job.log.JobLogEntry (io.onedev.server.buildspec.job.log.JobLogEntryEx and io.onedev.server.buildspec.job.log.JobLogEntry are in unnamed module of loader java.net.URLClassLoader @b62e46c)
	at io.onedev.server.logging.DefaultLogService.lambda$matches$0(DefaultLogService.java:235)
	at io.onedev.commons.utils.LockUtils.read(LockUtils.java:133)
	at io.onedev.commons.utils.LockUtils.read(LockUtils.java:149)
	at io.onedev.server.logging.DefaultLogService.matches(DefaultLogService.java:219)
	at io.onedev.server.buildspec.job.action.condition.LogCriteria.matches(LogCriteria.java:35)
	at io.onedev.server.buildspec.job.action.condition.LogCriteria.matches(LogCriteria.java:17)
	at io.onedev.server.util.criteria.NotCriteria.matches(NotCriteria.java:37)
	at io.onedev.server.buildspec.job.action.condition.ActionCondition.matches(ActionCondition.java:69)
	at io.onedev.server.job.DefaultJobService.on(DefaultJobService.java:1346)
	at io.onedev.server.job.DefaultJobService$$EnhancerByGuice$$184654393.GUICE$TRAMPOLINE(<generated>)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
	at io.onedev.server.persistence.TransactionInterceptor$1.call(TransactionInterceptor.java:23)
	at io.onedev.server.persistence.DefaultTransactionService.lambda$call$0(DefaultTransactionService.java:62)
	at io.onedev.server.persistence.DefaultSessionService.call(DefaultSessionService.java:85)
	at io.onedev.server.persistence.DefaultTransactionService.call(DefaultTransactionService.java:53)
	at io.onedev.server.persistence.TransactionInterceptor.invoke(TransactionInterceptor.java:18)
	at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
	at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
	at io.onedev.server.job.DefaultJobService$$EnhancerByGuice$$184654393.on(<generated>)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.onedev.server.event.Listener.notify(Listener.java:19)
	at io.onedev.server.event.DefaultListenerRegistry.invokeListeners(DefaultListenerRegistry.java:104)
	at io.onedev.server.event.DefaultListenerRegistry.lambda$post$0(DefaultListenerRegistry.java:119)
	at io.onedev.server.persistence.DefaultSessionService.lambda$run$0(DefaultSessionService.java:103)
	at io.onedev.server.persistence.DefaultSessionService.call(DefaultSessionService.java:85)
	at io.onedev.server.persistence.DefaultSessionService.run(DefaultSessionService.java:102)
	at io.onedev.server.event.DefaultListenerRegistry.lambda$post$1(DefaultListenerRegistry.java:119)
	at io.onedev.commons.utils.LockUtils.call(LockUtils.java:87)
	at io.onedev.server.event.DefaultListenerRegistry.lambda$post$9d344d3f$1(DefaultListenerRegistry.java:118)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
	at com.hazelcast.executor.impl.DistributedExecutorService$Processor.run(DistributedExecutorService.java:276)
	at com.hazelcast.internal.util.executor.CachedExecutorServiceDelegate$Worker.run(CachedExecutorServiceDelegate.java:217)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
	at java.base/java.lang.Thread.run(Thread.java:1583)
	at com.hazelcast.internal.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
	at com.hazelcast.internal.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:111)

The condition checks if a specific string is written in the log of the job. This has worked one or two updates ago. Should I do this differently or is this a bug?

1/1
Type
Bug
Priority
Normal
Assignee
Affected Versions
15.0.7
Labels
No labels
Issue Votes (0)
Watchers (2)
Reference
OD-2784
Please wait...
Connection lost or session expired, reload to recover
Page is in error, reload to recover