[Pipelines][Error] The mapper function returned a null value.
Asked by Nicusor Serban:

Good afternoon,

We've started to have this error across the board today, nothing changed on our side wrt to the pipeline itself.

Can't seem to figure out where it comes from so I assume something broke on Bitbucket side, anything we can do to get this sorted ? We have pending releases and this is blocking us currently.

Thanks!


Answers:
author: Theodora Boudale
body: Hi everyone,

We have identified an issue with Docker 26 and self-hosted runners.

Please check the following post for more details and a workaround:

* <https://community.atlassian.com/t5/Bitbucket-Pipelines-Runners/Issue-identified-with-Docker-26-and-self-hosted-runner/ba-p/2648627>

Kind regards,  
Theodora


author: Alex Figliolia
body: Can we get more attention to this? We're dead in the water right now. Trying different things, downgrading dind was not enough:  

\[2024-03-21 21:35:06,578\] Updating step progress to PULLING_IMAGES.  
\[2024-03-21 21:35:06,741\] Pulling image docker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-dvcs-tools:prod-stable.  
\[2024-03-21 21:35:06,744\] Looking for auth in config for image Image{name=docker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-dvcs-tools:prod-stable, runAsUser=None, auth=None} and found auth null  
\[2024-03-21 21:35:07,418\] Appending log line to main log.  
\[2024-03-21 21:35:07,603\] Pulling image docker:25-dind.  
\[2024-03-21 21:35:07,605\] Looking for auth in config for image Image{name=docker:25-dind, runAsUser=None, auth=None} and found auth null  
\[2024-03-21 21:35:08,246\] Pulling image docker:25-dind.  
\[2024-03-21 21:35:08,247\] Looking for auth in config for image Image{name=docker:25-dind, runAsUser=None, auth=None} and found auth null  
\[2024-03-21 21:35:08,893\] Pulling image docker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-auth-proxy:prod-stable.  
\[2024-03-21 21:35:08,894\] Looking for auth in config for image Image{name=docker-public.packages.atlassian.com/sox/atlassian/bitbucket-pipelines-auth-proxy:prod-stable, runAsUser=None, auth=None} and found auth null  
\[2024-03-21 21:35:09,536\] Pulling image k8s-docker.packages.atlassian.com/pause:3.8.  
\[2024-03-21 21:35:09,537\] Looking for auth in config for image Image{name=k8s-docker.packages.atlassian.com/pause:3.8, runAsUser=None, auth=None} and found auth null  
\[2024-03-21 21:35:10,215\] Removing container (name: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_pause)  
\[2024-03-21 21:35:10,220\] Updating step progress to CLONING.  
\[2024-03-21 21:35:10,220\] Creating container (name: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_pause).  
\[2024-03-21 21:35:10,275\] Container created (id: 065944de3f7473ca0895fc7c900535f5df6c443adfba7120046ace49c0955100, name: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_pause).  
\[2024-03-21 21:35:10,275\] Starting container (id: 065944de3f7473ca0895fc7c900535f5df6c443adfba7120046ace49c0955100).  
\[2024-03-21 21:35:10,392\] Generating clone script.  
\[2024-03-21 21:35:10,407\] Creating container (name: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_clone).  
\[2024-03-21 21:35:10,407\] Executing clone script in clone container.  
\[2024-03-21 21:35:10,413\] Inspecting image docker:25-dind.  
\[2024-03-21 21:35:10,429\] Removing container (name: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_system_auth-proxy)  
\[2024-03-21 21:35:10,430\] An error occurred whilst inspecting image.  
java.lang.NullPointerException: The mapper function returned a null value.  
at io.reactivex.internal.functions.ObjectHelper.requireNonNull(ObjectHelper.java:39)  
at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:57)  
at brave.context.rxjava2.internal.TraceContextSingleObserver.onSuccess(TraceContextSingleObserver.java:56)  
at io.reactivex.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java:81)  
at brave.propagation.CurrentTraceContext$1CurrentTraceContextRunnable.run(CurrentTraceContext.java:264)  
at com.atlassian.pipelines.common.trace.rxjava.CopyMdcSchedulerHandler$CopyMdcRunnableAdapter.run(CopyMdcSchedulerHandler.java:74)  
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:608)  
at brave.propagation.CurrentTraceContext$1CurrentTraceContextRunnable.run(CurrentTraceContext.java:264)  
at com.atlassian.pipelines.common.trace.rxjava.CopyMdcSchedulerHandler$CopyMdcRunnableAdapter.run(CopyMdcSchedulerHandler.java:74)  
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)  
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)  
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
at java.base/java.lang.Thread.run(Unknown Source)  
\[2024-03-21 21:35:10,433\] Removing container (name: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_build)  
\[2024-03-21 21:35:10,437\] Uncaught error from RxJava  
com.github.dockerjava.api.exception.NotFoundException: Status 404: {"message":"No such container: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_system_auth-proxy"}  
at com.github.dockerjava.netty.handler.HttpResponseHandler.channelRead0(HttpResponseHandler.java:97)  
at com.github.dockerjava.netty.handler.HttpResponseHandler.channelRead0(HttpResponseHandler.java:32)  
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)  
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)  
at io.netty.handler.logging.LoggingHandler.channelRead(LoggingHandler.java:280)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)  
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)  
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)  
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)  
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)  
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)  
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:318)  
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)  
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)  
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)  
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)  
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)  
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800)  
at io.netty.channel.epoll.EpollDomainSocketChannel$EpollDomainUnsafe.epollInReady(EpollDomainSocketChannel.java:140)  
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509)  
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)  
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)  
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)  
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)  
... 1 common frames omitted  
Wrapped by: io.reactivex.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: <https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling> \| com.github.dockerjava.api.exception.NotFoundException: Status 404: {"message":"No such container: 1171d75a-eea7-5662-94cd-b665dd68bb47_7039da4f-3594-4677-b251-988bfc45cd0b_system_auth-proxy"}  
at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)  
at io.reactivex.internal.operators.completable.CompletableFromAction.subscribeActual(CompletableFromAction.java:41)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.completable.CompletableObserveOn.subscribeActual(CompletableObserveOn.java:34)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.completable.CompletablePeek.subscribeActual(CompletablePeek.java:51)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.completable.CompletablePeek.subscribeActual(CompletablePeek.java:51)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.completable.CompletableOnErrorComplete.subscribeActual(CompletableOnErrorComplete.java:35)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.completable.CompletablePeek.subscribeActual(CompletablePeek.java:51)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.completable.CompletableOnErrorComplete.subscribeActual(CompletableOnErrorComplete.java:35)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.single.SingleDelayWithCompletable.subscribeActual(SingleDelayWithCompletable.java:36)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at brave.context.rxjava2.internal.TraceContextSingle.subscribeActual(TraceContextSingle.java:39)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at brave.context.rxjava2.internal.TraceContextSingle.subscribeActual(TraceContextSingle.java:39)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:84)  
at brave.context.rxjava2.internal.TraceContextSingleObserver.onSuccess(TraceContextSingleObserver.java:56)  
at io.reactivex.internal.operators.single.SingleJust.subscribeActual(SingleJust.java:30)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at brave.context.rxjava2.internal.TraceContextSingle.subscribeActual(TraceContextSingle.java:39)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at io.reactivex.internal.operators.single.SingleFlatMap.subscribeActual(SingleFlatMap.java:36)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at brave.context.rxjava2.internal.TraceContextSingle.subscribeActual(TraceContextSingle.java:39)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at io.reactivex.internal.operators.observable.ObservableFlatMapSingle$FlatMapSingleObserver.onNext(ObservableFlatMapSingle.java:113)  
at brave.context.rxjava2.internal.TraceContextObserver.onNext(TraceContextObserver.java:49)  
at io.reactivex.internal.operators.observable.ObservableFilter$FilterObserver.onNext(ObservableFilter.java:52)  
at brave.context.rxjava2.internal.TraceContextObserver.onNext(TraceContextObserver.java:49)  
at io.reactivex.internal.operators.observable.ObservableFromIterable$FromIterableDisposable.run(ObservableFromIterable.java:98)  
at io.reactivex.internal.operators.observable.ObservableFromIterable.subscribeActual(ObservableFromIterable.java:58)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at brave.context.rxjava2.internal.TraceContextObservable.subscribeActual(TraceContextObservable.java:39)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at io.reactivex.internal.operators.observable.ObservableFilter.subscribeActual(ObservableFilter.java:30)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at brave.context.rxjava2.internal.TraceContextObservable.subscribeActual(TraceContextObservable.java:39)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at io.reactivex.internal.operators.observable.ObservableFlatMapSingle.subscribeActual(ObservableFlatMapSingle.java:48)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at brave.context.rxjava2.internal.TraceContextObservable.subscribeActual(TraceContextObservable.java:39)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at io.reactivex.internal.operators.observable.ObservableMap.subscribeActual(ObservableMap.java:32)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at brave.context.rxjava2.internal.TraceContextObservable.subscribeActual(TraceContextObservable.java:39)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at io.reactivex.internal.operators.observable.ObservableFilter.subscribeActual(ObservableFilter.java:30)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at brave.context.rxjava2.internal.TraceContextObservable.subscribeActual(TraceContextObservable.java:39)  
at io.reactivex.Observable.subscribe(Observable.java:12284)  
at io.reactivex.internal.operators.observable.ObservableElementAtSingle.subscribeActual(ObservableElementAtSingle.java:37)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at brave.context.rxjava2.internal.TraceContextSingle.subscribeActual(TraceContextSingle.java:39)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at io.reactivex.internal.operators.single.SingleDelayWithCompletable$OtherObserver.onComplete(SingleDelayWithCompletable.java:69)  
at brave.context.rxjava2.internal.TraceContextCompletableObserver.onComplete(TraceContextCompletableObserver.java:53)  
at io.reactivex.internal.operators.completable.CompletableFromSingle$CompletableFromSingleObserver.onSuccess(CompletableFromSingle.java:51)  
at brave.context.rxjava2.internal.TraceContextSingleObserver.onSuccess(TraceContextSingleObserver.java:56)  
at io.reactivex.internal.observers.ResumeSingleObserver.onSuccess(ResumeSingleObserver.java:46)  
at brave.context.rxjava2.internal.TraceContextSingleObserver.onSuccess(TraceContextSingleObserver.java:56)  
at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback$FlatMapSingleObserver.onSuccess(SingleFlatMap.java:111)  
at brave.context.rxjava2.internal.TraceContextSingleObserver.onSuccess(TraceContextSingleObserver.java:56)  
at io.reactivex.internal.operators.single.SingleDoOnError$DoOnError.onSuccess(SingleDoOnError.java:52)  
at brave.context.rxjava2.internal.TraceContextSingleObserver.onSuccess(TraceContextSingleObserver.java:56)  
at io.reactivex.internal.observers.ResumeSingleObserver.onSuccess(ResumeSingleObserver.java:46)  
at brave.context.rxjava2.internal.TraceContextSingleObserver.onSuccess(TraceContextSingleObserver.java:56)  
at io.reactivex.internal.operators.single.SingleJust.subscribeActual(SingleJust.java:30)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at brave.context.rxjava2.internal.TraceContextSingle.subscribeActual(TraceContextSingle.java:39)  
at io.reactivex.Single.subscribe(Single.java:3666)  
at io.reactivex.internal.operators.single.SingleDelayWithCompletable$OtherObserver.onComplete(SingleDelayWithCompletable.java:69)  
at brave.context.rxjava2.internal.TraceContextCompletableObserver.onComplete(TraceContextCompletableObserver.java:53)  
at io.reactivex.internal.operators.completable.CompletableAndThenCompletable$NextObserver.onComplete(CompletableAndThenCompletable.java:99)  
at brave.context.rxjava2.internal.TraceContextCompletableObserver.onComplete(TraceContextCompletableObserver.java:53)  
at io.reactivex.internal.disposables.EmptyDisposable.complete(EmptyDisposable.java:68)  
at io.reactivex.internal.operators.completable.CompletableEmpty.subscribeActual(CompletableEmpty.java:27)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at brave.context.rxjava2.internal.TraceContextCompletable.subscribeActual(TraceContextCompletable.java:39)  
at io.reactivex.Completable.subscribe(Completable.java:2309)  
at io.reactivex.internal.operators.completable.CompletableAndThenCompletable$SourceObserver.onComplete(CompletableAndThenCompletable.java:67)  
at brave.context.rxjava2.internal.TraceContextCompletableObserver.onComplete(TraceContextCompletableObserver.java:53)  
at io.reactivex.internal.operators.completable.CompletablePeek$CompletableObserverImplementation.onComplete(CompletablePeek.java:115)  
at brave.context.rxjava2.internal.TraceContextCompletableObserver.onComplete(TraceContextCompletableObserver.java:53)  
at io.reactivex.internal.operators.completable.CompletableObserveOn$ObserveOnCompletableObserver.run(CompletableObserveOn.java:89)  
at brave.propagation.CurrentTraceContext$1CurrentTraceContextRunnable.run(CurrentTraceContext.java:264)  
at com.atlassian.pipelines.common.trace.rxjava.CopyMdcSchedulerHandler$CopyMdcRunnableAdapter.run(CopyMdcSchedulerHandler.java:74)  
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:608)  
at brave.propagation.CurrentTraceContext$1CurrentTraceContextRunnable.run(CurrentTraceContext.java:264)  
at com.atlassian.pipelines.common.trace.rxjava.CopyMdcSchedulerHandler$CopyMdcRunnableAdapter.run(CopyMdcSchedulerHandler.java:74)  
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)  
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)  
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)  
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)  
at java.base/java.lang.Thread.run(Unknown Source)

comments: author: Alex Figliolia
body: Downgrading docker on the build runner, not just dind worked for us.


author: Storm Muller
body: I have had similar results, downgrading to *docker:25-dind*does not fix the issue


author: Renato Montagna
body: I think it's an incompatibility with *Docker 26* . I changed the dind container image to *docker:25-dind* and it worked


Tags: bitbucket-cloud

bitbucket-pipelines

cloud

docker

docker-build

mapper

null-value