davvil / pdfpc

A presenter console with multi-monitor support for PDF files.
http://davvil.github.com/pdfpc/
GNU General Public License v2.0
210 stars 20 forks source link

BadAlloc / crashes with tiling window manager #33

Open NerdyProjects opened 11 years ago

NerdyProjects commented 11 years ago

Hello!

I had serious problems with pdfpc for quite a long time which made every presentation a gamble game :)

I use "awesome", a tiling window manager.

Most of the time I want to start pdfpc to give my talk, it crashes with "BadAlloc". I have just done some hours of debugging: I can reproduce the failure under some circumstances and get an allocation of width 65532 in the "presentation_window" Object (pdfpc.vala after presentation_window.show_all() ) I do not know if this is the cause of the BadAlloc (happening later in XCreatePixmap) but in any case pdfpc works, I have not seen such crazy number there. My monitorsetup is 1440x900 on first screen and 1920x1600 or 1024x768 on second screen. The latter case gives almost 100% failure rate, for the first case I have to have two terminal windows open on the first screen to let it crash...

As I already said I use a tiling window manager. I have tried the "floating" layout (so disable tiling) on the presentor-screen and... Wow: That works!

There still is some mess with the window sizes... Presentation Window starts at size of presenter window until I manually set it to fullscreen, move it to first screen and move it back to second screen.

I know this description will be hard to understand but maybe someone knows what may be wrong with the code? As I found the workaround I can use pdfpc from now on. Today, I held a presentation with evince because pdfpc failed... Never want to do that again :)

davvil commented 11 years ago

I myself use xmonad (also tiling) and I had also trouble getting the fullscreen windows to work as they should. For xmonad there is an option to activate ewmh compatibility, which makes pdfpc behave correctly without hacks to the WM. Does awesome have a similar option? If not, we can try to find out what happens, but it could be that if the WM refuses to cooperate there is no solution (after all the WM has the last word placing the windows).

Of course I would like to remove the BadAlloc, even if we cannot place the windows as we want.

NerdyProjects commented 11 years ago

So I'm sorry for not answering in the last month. I always use the workaround setting layout to floating (it is enough to do so on the presenter screen) but I also always have some problems because I often forget to do so at first :)

I did not find any information about ewmh except that awesome should support it. I don't know how to enable it (I assume it is always enabled).

I also really don't know how to fix the BadAlloc as it seems to occur deep in GTK code.

psychon commented 11 years ago

Could you start pdfpc with --sync and under gdb and get some backtrace? Preferably while having gtk debug symbols around? That should produce a usable backtrace for where the error occurs.

For awesome: There is a size_hints_honor property on client objects. Unless you explicitely set this to false, awesome will/should obey ICCCM size hints. Does this problem happen with both awesome 3.4 and 3.5? Which exact version(s)?

psychon commented 11 years ago

Ok, after some experiments I have to say: Can't reproduce. Sorry.