The foundset was asked for but that was not set.

Hi all,

I’m on Servoy 6.1.2, server running on a Mac Mini, Mac OS X 10.8.2 etc. Clients

Java Web Start 1.6.0_35
Using JRE version 1.6.0_35-b10-428-11M3811 Java HotSpot™ 64-Bit Server VM

We are getting a few errors like this:

ERROR - Debug                      - AWT-EventQueue-0: For form FormController[form: crm_contact_panel_list, fs size:0, selected record: null,destroyed] the foundset was asked for but that was not set. true
java.lang.RuntimeException
    at com.servoy.j2db.scripting.FormScope.get(FormScope.java:259)
    at com.servoy.j2db.FormController.getJSApplicationNames(FormController.java:4915)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4758)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4719)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4594)
    at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:4446)
    at com.servoy.j2db.ui.RenderEventExecutor.fireOnRender(RenderEventExecutor.java:105)
    at com.servoy.j2db.smart.dataui.DataField.setValueObject(DataField.java:1141)
    at com.servoy.j2db.dataprocessing.DisplaysAdapter.setValueToDisplays(DisplaysAdapter.java:220)
    at com.servoy.j2db.dataprocessing.DisplaysAdapter.setRecord(DisplaysAdapter.java:130)
    at com.servoy.j2db.dataprocessing.DataAdapterList.setRecord(DataAdapterList.java:397)
    at com.servoy.j2db.smart.dataui.DataRenderer.getListCellRendererComponent(DataRenderer.java:442)
    at com.servoy.j2db.smart.dataui.DataRenderer.getListCellRendererComponent(DataRenderer.java:418)
    at javax.swing.JList.updateFixedCellSize(JList.java:578)
    at javax.swing.JList.setCellRenderer(JList.java:776)
    at com.servoy.j2db.smart.SwingForm.initView(SwingForm.java:678)
    at com.servoy.j2db.FormController.setView(FormController.java:4184)
    at com.servoy.j2db.scripting.CreationalPrototype.get(CreationalPrototype.java:180)
    at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:2141)
    at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1518)
    at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1505)
    at org.mozilla.javascript.gen.research_list_refresh_contact_panel_86._c_research_list_refresh_contact_panel_0(research_list_refresh_contact_panel:2732)
    at org.mozilla.javascript.gen.research_list_refresh_contact_panel_86.call(research_list_refresh_contact_panel)
    at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:62)
    at org.mozilla.javascript.gen.on_record_select_85._c_on_record_select_0(on_record_select:290)
    at org.mozilla.javascript.gen.on_record_select_85.call(on_record_select)
    at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:574)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4838)
    at com.servoy.j2db.FormController.executeFormMethod(FormController.java:5169)
    at com.servoy.j2db.FormController.executeOnRecordSelect(FormController.java:5094)
    at com.servoy.j2db.FormController.refreshAllPartRenderers(FormController.java:2967)
    at com.servoy.j2db.FormController.valueChanged(FormController.java:3039)
    at com.servoy.j2db.FormController.notifyVisible(FormController.java:3805)
    at com.servoy.j2db.smart.dataui.FormLookupPanel.notifyVisible(FormLookupPanel.java:223)
    at com.servoy.j2db.smart.dataui.SpecialTabPanel.notifyVisible(SpecialTabPanel.java:232)
    at com.servoy.j2db.dataprocessing.DataAdapterList.notifyVisible(DataAdapterList.java:512)
    at com.servoy.j2db.smart.dataui.DataRenderer.notifyVisible(DataRenderer.java:274)
    at com.servoy.j2db.FormController.notifyVisible(FormController.java:3872)
    at com.servoy.j2db.smart.dataui.FormLookupPanel.notifyVisible(FormLookupPanel.java:223)
    at com.servoy.j2db.smart.dataui.SpecialTabPanel.notifyVisible(SpecialTabPanel.java:232)
    at com.servoy.j2db.dataprocessing.DataAdapterList.notifyVisible(DataAdapterList.java:512)
    at com.servoy.j2db.smart.dataui.DataRenderer.notifyVisible(DataRenderer.java:274)
    at com.servoy.j2db.FormController.notifyVisible(FormController.java:3872)
    at com.servoy.j2db.FormManager.showFormInMainPanel(FormManager.java:690)
    at com.servoy.j2db.FormManager.showFormInCurrentContainer(FormManager.java:554)
    at com.servoy.j2db.FormController.showForm(FormController.java:3142)
    at com.servoy.j2db.FormController$JSForm.js_show(FormController.java:269)
    at com.servoy.j2db.FormController$JSForm.js_show(FormController.java:241)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:158)
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:311)
    at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:107)
    at org.mozilla.javascript.gen.lmr_goto_related_record_52._c_lmr_goto_related_record_0(lmr_goto_related_record:893)
    at org.mozilla.javascript.gen.lmr_goto_related_record_52.call(lmr_goto_related_record)
    at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:70)
    at org.mozilla.javascript.gen.assignment_goto_47._c_assignment_goto_0(assignment_goto:2586)
    at org.mozilla.javascript.gen.assignment_goto_47.call(assignment_goto)
    at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:574)
    at com.servoy.j2db.plugins.ClientPluginAccessProvider$MethodExecutor.run(ClientPluginAccessProvider.java:550)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at com.servoy.j2db.util.SwingHelper.dispatchEvents(SwingHelper.java:153)
    at com.servoy.j2db.smart.J2DBClient.updateUI(J2DBClient.java:383)
    at com.servoy.j2db.scripting.JSApplication.js_updateUI(JSApplication.java:2722)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:158)
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:311)
    at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:62)
    at org.mozilla.javascript.gen.set_search_field_defaults_28._c_set_search_field_defaults_0(set_search_field_defaults:414)
    at org.mozilla.javascript.gen.set_search_field_defaults_28.call(set_search_field_defaults)
    at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:88)
    at org.mozilla.javascript.gen.quick_search_enter_field_45._c_quick_search_enter_field_0(quick_search_enter_field:120)
    at org.mozilla.javascript.gen.quick_search_enter_field_45.call(quick_search_enter_field)
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:406)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3192)
    at org.mozilla.javascript.gen.quick_search_enter_field_45.call(quick_search_enter_field)
    at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:574)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4838)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4719)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4594)
    at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:4446)
    at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:271)
    at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:243)
    at com.servoy.j2db.ui.BaseEventExecutor.fireEnterCommands(BaseEventExecutor.java:185)
    at com.servoy.j2db.smart.dataui.EventExecutor.focusGained(EventExecutor.java:226)
    at java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:203)
    at java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:202)
    at java.awt.Component.processFocusEvent(Component.java:6271)
    at javax.swing.JFormattedTextField.processFocusEvent(JFormattedTextField.java:596)
    at com.servoy.j2db.smart.dataui.DataField.processFocusEvent(DataField.java:1280)
    at java.awt.Component.processEvent(Component.java:6138)
    at java.awt.Container.processEvent(Container.java:2083)
    at java.awt.Component.dispatchEventImpl(Component.java:4744)
    at java.awt.Container.dispatchEventImpl(Container.java:2141)
    at java.awt.Component.dispatchEvent(Component.java:4572)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1856)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:911)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:523)
    at java.awt.Component.dispatchEventImpl(Component.java:4616)
    at java.awt.Container.dispatchEventImpl(Container.java:2141)
    at java.awt.Component.dispatchEvent(Component.java:4572)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:704)
    at java.awt.EventQueue.access$400(EventQueue.java:82)
    at java.awt.EventQueue$2.run(EventQueue.java:663)
    at java.awt.EventQueue$2.run(EventQueue.java:661)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:677)
    at java.awt.EventQueue$3.run(EventQueue.java:675)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:674)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

and

ERROR - Debug                      - AWT-EventQueue-0: For form FormController[form: project_research_list_interviews, fs size:1, selected record: Record[DATA:Row(db:/mbs_database/crm_notes)[DATA:<<lots of data here>> COLUMS: note_id,note_person_id,note_company_id,note_text,note_date,note_reminder,note_done,note_project_id,note_opportunity_id,fm_id,note_type_id,note_room_id,note_date_to,note_summary,note_research_list_id,note_user_id,note_sort_order,note_no_show,note_research_list_interview_id,modified_timestamp,created_timestamp,note_hide,note_imp_flag,note_text_for_client,note_research_person_id,note_interviewed_by_id,note_job_id,created_by_uid,updated_by_uid,note_consultant_id,note_company_invoicing_id,recurring,recurring_interval,recurring_frequency,recurring_repetition,recurring_until_date,recurring_parent_id,getDataSource,revertChanges,save,isNew,getChangedData,getFoundset,setException,isEditing,rollbackChanges,getPKs,setFoundset,deleteRecord,getException,hasChangedData,,destroyed] the foundset was asked for but that was not set. true
java.lang.RuntimeException
    at com.servoy.j2db.scripting.FormScope.get(FormScope.java:259)
    at com.servoy.j2db.FormController.getJSApplicationNames(FormController.java:4915)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4758)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4719)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4594)
    at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:4446)
    at com.servoy.j2db.ui.RenderEventExecutor.fireOnRender(RenderEventExecutor.java:105)
    at com.servoy.j2db.smart.dataui.DataField.setValueObject(DataField.java:1141)
    at com.servoy.j2db.dataprocessing.DisplaysAdapter.setValueToDisplays(DisplaysAdapter.java:220)
    at com.servoy.j2db.dataprocessing.DisplaysAdapter.setRecord(DisplaysAdapter.java:130)
    at com.servoy.j2db.dataprocessing.DataAdapterList.setRecord(DataAdapterList.java:397)
    at com.servoy.j2db.smart.dataui.DataRenderer.getListCellRendererComponent(DataRenderer.java:442)
    at com.servoy.j2db.smart.dataui.DataRenderer.getListCellRendererComponent(DataRenderer.java:418)
    at javax.swing.JList.updateFixedCellSize(JList.java:578)
    at javax.swing.JList.setCellRenderer(JList.java:776)
    at com.servoy.j2db.smart.SwingForm.initView(SwingForm.java:678)
    at com.servoy.j2db.FormController.setView(FormController.java:4184)
    at com.servoy.j2db.scripting.CreationalPrototype.get(CreationalPrototype.java:180)
    at org.mozilla.javascript.ScriptableObject.getProperty(ScriptableObject.java:2141)
    at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1518)
    at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1505)
    at org.mozilla.javascript.gen.on_record_select_85._c_on_record_select_0(on_record_select:291)
    at org.mozilla.javascript.gen.on_record_select_85.call(on_record_select)
    at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:574)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4838)
    at com.servoy.j2db.FormController.executeFormMethod(FormController.java:5169)
    at com.servoy.j2db.FormController.executeOnRecordSelect(FormController.java:5094)
    at com.servoy.j2db.FormController.refreshAllPartRenderers(FormController.java:2967)
    at com.servoy.j2db.FormController.valueChanged(FormController.java:3039)
    at com.servoy.j2db.FormController.notifyVisible(FormController.java:3805)
    at com.servoy.j2db.smart.dataui.FormLookupPanel.notifyVisible(FormLookupPanel.java:223)
    at com.servoy.j2db.smart.dataui.SpecialTabPanel.notifyVisible(SpecialTabPanel.java:232)
    at com.servoy.j2db.dataprocessing.DataAdapterList.notifyVisible(DataAdapterList.java:512)
    at com.servoy.j2db.smart.dataui.DataRenderer.notifyVisible(DataRenderer.java:274)
    at com.servoy.j2db.FormController.notifyVisible(FormController.java:3872)
    at com.servoy.j2db.smart.dataui.FormLookupPanel.notifyVisible(FormLookupPanel.java:223)
    at com.servoy.j2db.smart.dataui.SpecialTabPanel.notifyVisible(SpecialTabPanel.java:232)
    at com.servoy.j2db.dataprocessing.DataAdapterList.notifyVisible(DataAdapterList.java:512)
    at com.servoy.j2db.smart.dataui.DataRenderer.notifyVisible(DataRenderer.java:274)
    at com.servoy.j2db.FormController.notifyVisible(FormController.java:3872)
    at com.servoy.j2db.FormManager.showFormInMainPanel(FormManager.java:690)
    at com.servoy.j2db.FormManager.showFormInCurrentContainer(FormManager.java:554)
    at com.servoy.j2db.FormController.showForm(FormController.java:3142)
    at com.servoy.j2db.FormController$JSForm.js_show(FormController.java:269)
    at com.servoy.j2db.FormController$JSForm.js_show(FormController.java:241)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:158)
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:311)
    at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:107)
    at org.mozilla.javascript.gen.lmr_goto_related_record_52._c_lmr_goto_related_record_0(lmr_goto_related_record:893)
    at org.mozilla.javascript.gen.lmr_goto_related_record_52.call(lmr_goto_related_record)
    at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:70)
    at org.mozilla.javascript.gen.assignment_goto_47._c_assignment_goto_0(assignment_goto:2586)
    at org.mozilla.javascript.gen.assignment_goto_47.call(assignment_goto)
    at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:574)
    at com.servoy.j2db.plugins.ClientPluginAccessProvider$MethodExecutor.run(ClientPluginAccessProvider.java:550)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at com.servoy.j2db.util.SwingHelper.dispatchEvents(SwingHelper.java:153)
    at com.servoy.j2db.smart.J2DBClient.updateUI(J2DBClient.java:383)
    at com.servoy.j2db.scripting.JSApplication.js_updateUI(JSApplication.java:2722)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:158)
    at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:311)
    at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:62)
    at org.mozilla.javascript.gen.set_search_field_defaults_28._c_set_search_field_defaults_0(set_search_field_defaults:414)
    at org.mozilla.javascript.gen.set_search_field_defaults_28.call(set_search_field_defaults)
    at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:88)
    at org.mozilla.javascript.gen.quick_search_enter_field_45._c_quick_search_enter_field_0(quick_search_enter_field:120)
    at org.mozilla.javascript.gen.quick_search_enter_field_45.call(quick_search_enter_field)
    at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:406)
    at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3192)
    at org.mozilla.javascript.gen.quick_search_enter_field_45.call(quick_search_enter_field)
    at com.servoy.j2db.scripting.ScriptEngine.executeFunction(ScriptEngine.java:574)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4838)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4719)
    at com.servoy.j2db.FormController.executeFunction(FormController.java:4594)
    at com.servoy.j2db.FormController$ScriptExecuter.executeFunction(FormController.java:4446)
    at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:271)
    at com.servoy.j2db.ui.BaseEventExecutor.fireEventCommand(BaseEventExecutor.java:243)
    at com.servoy.j2db.ui.BaseEventExecutor.fireEnterCommands(BaseEventExecutor.java:185)
    at com.servoy.j2db.smart.dataui.EventExecutor.focusGained(EventExecutor.java:226)
    at java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:203)
    at java.awt.AWTEventMulticaster.focusGained(AWTEventMulticaster.java:202)
    at java.awt.Component.processFocusEvent(Component.java:6271)
    at javax.swing.JFormattedTextField.processFocusEvent(JFormattedTextField.java:596)
    at com.servoy.j2db.smart.dataui.DataField.processFocusEvent(DataField.java:1280)
    at java.awt.Component.processEvent(Component.java:6138)
    at java.awt.Container.processEvent(Container.java:2083)
    at java.awt.Component.dispatchEventImpl(Component.java:4744)
    at java.awt.Container.dispatchEventImpl(Container.java:2141)
    at java.awt.Component.dispatchEvent(Component.java:4572)
    at java.awt.KeyboardFocusManager.redis
Trace message truncated for length over 10K

What is causing this? What should I be looking for?

I see these errors in tab panels. I can get them to go away by removing the onRender of the form.

/**
 * Called before the form component is rendered.
 *
 * @param {JSRenderEvent} event the render event
 *
 * @properties={typeid:24,uuid:"C8942A84-98E5-48EC-A266-F217597E6489"}
 */
function on_render_contact(event) {
	/** @type {JSRecord<db:/mbs_database/crm_contacts>} */
	var record = event.getRecord();
	if (event.isRecordSelected()) {
		if (record.contact_company_id > 0) {
			event.getRenderable().bgcolor = '#CCCCEE';
		} else {
			event.getRenderable().bgcolor = '#EEEE66';
		}
	} else {
		if (event.getRecordIndex() % 2 == 0)//alternate on even oneven
		    {
			if (record.contact_company_id > 0) {
				event.getRenderable().bgcolor = '#EEEEEE';
			} else {
				event.getRenderable().bgcolor = '#EEEECC';
			}
		} else {
			if (record.contact_company_id > 0) {
				event.getRenderable().bgcolor = '#F8F8F8';
			} else {
				event.getRenderable().bgcolor = '#F8F8CC';
			}
		}
	}

}

The interesting thing is that the records in the tab-panel are still rendering as if they had the onRender attached. How can this be possible?

More on this:

If I remove

selected {
	background-color: #CCCCEE;
}

odd {
	background-color: #F8F8F8;
}

even {
	background-color: #EEEEEE;
}

in my style sheet the problem also goes.

So, what is the correct way of overriding the styling of the css using onRender events?

More clues, don’t do this:

function on_show() {
    application.updateUI();
}

hi Christian,

in case you have both row styling and onrender, the onrender will apply last;
in order to see what is causing this error can you provide us a solution where this
is reproducible ?

See SVY-3383