"signal not exposed" with all browsers

Added by Alex M almost 9 years ago


I'm working with libwt-dev (3.2.2-p1-1) from Ubuntu 13.04/64-bit and found strange possible bug (?) with opening on different browsers.

Also, I switched to 3.3.0 version from PPA - error still remaining.

My sample application (sources attached) shows in any browser, but dynamic interaction works only in Chrome browser. Any other browsers just show text and controls but unable to interact with server. For example, plain hello world example just reloads when pressing button and nothing happening.

I'm always getting error: "[error] "Wt: decodeSignal(): signal 's*' not exposed"", where* depends on controls.

After my attempts to watch my app on Android Opera Mobile and second internal browser, the result is same - page shows, no interaction. After that mobile try, Wt stops to work in Chrome browser and reboot doesn't return it back to work. Strange... It worked in Chrome and then stopped.

Building with -lwthttp, running with ---docroot . ---http-address ---http-port 8080

I'm only beginning to learn Wt and sad that my success crashed so early...


However is working in all my browsers (Ubuntu Linux) and also works perfectly in Opera Mobile and other browsers on my Android phone.

Replies (4)

RE: "signal not exposed" with all browsers - Added by Wim Dumon almost 9 years ago


You have a modal dialog sitting on top of your application. A silk screen is placed on top of your UI, so none of the controls outside the modal dialog box can be clicked. If you do not see this screen, then check if your resources folder is deployed correctly (i.e. it must be inside your docroot), and see if you have any 404 errors in your browser's network console.

You're running into one of Wt's security features: Wt has a list of things that the user can do, given the state of the widgets. If Wt receives a signal from a widget that cannot possibly emit a particular signal at that time, it will be logged and filtered out, and the application will not react on it.

Best regards,


RE: "signal not exposed" with all browsers - Added by Alex M almost 9 years ago

Actually, I found this problem earlier before I started to play WDialog and attached project worked in Chrome before opening from mobile browsers. I'm wondering why Wt acts in this way, how it is possible to stop working in same conditions and where reboot doesn't help.

Now I tried at home, just comment out test003, let's get rid of dialogs. I see that in Firefox 26 my app just reloads page when I press "Greet me." and in Chrome 32.0.1700.77 it works, but at PC on my work Chrome stopped to work. On mobile browsers - also don't.

Please, I'm not kidding, this is a serious problem, I can record screen capture to prove I'm not lying :)

How "charts" and other examples hosted? Not with "wthttp" lib? First, I want to try run app in ""'s way because it works on any browser.

RE: "signal not exposed" with all browsers - Added by Koen Deforche almost 9 years ago


So you're saying that if we comment out test03() then still you get the strange behavior described here? As the example then just works fine in all browsers I've tried.

We use wthttp on for all examples.

The fact that you seem to have interference from another browser/session sounds very alarming, and that "rebooting" (what, the server or the client?) does not fix this, sounds frankly very weird.



RE: "signal not exposed" with all browsers - Added by Alex M almost 9 years ago

Hm... I just tried after weekend - test application began to work in Firefox and Android/Opera and resumed to work in Chrome, however it didn't worked in Firefox from very beginning with "hello world" (not tested on Android). All my tests was on local Linux PC + Android phone through USB. I suspect firewall failure, so decided to capture traffic with Wireshark to compare packets if problem will get back - these files attached.

I'm planning to use Wt for Web-interface for Linux-based device, and Wt looks like "Qt for Web" in conception so I'm interested in testing it.


It's true that when dialog appears on screen then controls outside is not accessible and we getting "signal not exposed", this moment is documented well.