Cannot apply patch to "id "which is not in the document anymore


I am trying to synchronize bokeh column data source for both server and client side. I am aware that the javascript operations run on client side updating the data source is synchronized by defining a new dict and assigning it to data attribute of a column data source and calling change.emit() on source. However, when I do that in my application, “cannot apply path to “some id” which is not in document anymore” error is thrown on server side. I dont know what is wrong with the code or implementation. You can find a similar case below. This one though works as expected, mine is throwing some error and I cannot get the same values on server side. Since the original application code is very long, I rather post a similar case as below. Could you please explain me what error means?

from bokeh.plotting import figure, output_file, show

from bokeh.models import CustomJS,ColumnDataSource,Slider

from bokeh.layouts import row,column

from bokeh.plotting import figure,curdoc

from bokeh.models.widgets import Panel, Tabs, Select,Button

output to static HTML file

doc = curdoc()

source = ColumnDataSource(dict(x = [1, 2, 3, 4, 5],y=[6, 7, 2, 4, 5]))

callBack = CustomJS(args=dict(source = source),code = “”"

var data =

data[“x”] =


data[“y”] =

data[“y”].push(1) = data



def newData():


button = Button(label=“What is source’ s value”)


p = figure(plot_width=400, plot_height=400)

p.js_on_event(‘tap’, callBack)

add a circle renderer with a size, color, and alpha“x”, “y”, size=20, color=“navy”, alpha=0.5,source = source)

show the results



Hey, I had the same error in my project. Downgrading bokeh to 0.12.15 worked for me.


Thanks a lot, that worked.


On Tuesday, June 19, 2018 at 9:16:21 PM UTC+3, Laurens wrote:

Hey, I had the same error in my project. Downgrading bokeh to 0.12.15 worked for me.