Tuesday, December 4, 2012

APEX Listener favicon bug issue

When developing an application in Oracle APEX, I usually have opened two browser tabs, one for the builder and one for the application I’m working on. This works fine, even though both tabs are using different sessions.

The other day I noticed a strange annoying behavior using this approach: Each time I opened the application I was working on in the new tab, my builder session was expired. This behavior wasn’t related to the APEX version: it happened with my 4.2 installation running on a VBox as well as with my local installation running 4.1. I was rather puzzled, as I didn’t change anything on my local installation.

Here is what caused it (thanks to Christian Neumüller for explaining):

I ran into the so-called APEX Listener favicon-bug: On my 4.1 installation I was working on a new theme, build entirely from scratch, and on my 4.2 installation, I was playing around with a mobile application. What both applications (or better: themes) had in common: the lack of a favicon reference in the page template. One other thing both environments had in common: an APEX Listener stand-alone installation. Looks like the Listener tries to resolve a favicon location each time, and when not found, redirection the favicon request to the “webservers” root (the favicons default location). With the APEX Listener the “root” gets redirected to yourserver:port/apex, which is causing a reset of the session id.

Adding a favicon to your page template(s) HEAD section solves the problem.

Example:
  
  


Make sure you've got an image file at the specified location. I could reproduce the problem with APEXListener versions 1.1.4 and 2.0.
I was promised, the issue will be addressed in one of the coming versions of the APEX Listener.