GNU bug report logs - #20432
GDK_SCALE=2 GDK_DPI_SCALE=0.5 destroys GTK+ 3 scroll bar

Previous Next

Package: emacs;

Reported by: "Felix E. Klee" <felix.klee <at> inka.de>

Date: Sun, 26 Apr 2015 17:28:02 UTC

Severity: normal

Done: Jan Djärv <jan.h.d <at> swipnet.se>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: "Jan D." <jan.h.d <at> swipnet.se>
Cc: "Felix E. Klee" <felix.klee <at> inka.de>, 20432 <at> debbugs.gnu.org
Subject: bug#20432: GDK_SCALE=2 GDK_DPI_SCALE=0.5 destroys GTK+ 3 scroll bar
Date: Thu, 14 May 2015 19:59:31 -0700
Jan D. wrote:
>> By the way, on my Fedora 21 x86-64 host, setting GDK_SCALE=2
>> GDK_DPI_SCALE=0.5 has no effect on emacs -Q, even with the recent
>> fixes.  Perhaps this is due to the races you mentioned?
>
> No, that just affects the initial frame size.
> You should see an effect on toolbar and scroll bar size (they should be twice as
> big).

Yes, you're right, it works.  I had misconfigured my Emacs (configured with the 
Lucid toolkit).  Sorry about the confusion.

I suppose I should mention that when I tried a properly-configured Emacs with 
GDK_SCALE=2 it dumped core for me.  I was running on Fedora 21 x86-64 (which has 
gtk3-3.14.13-1.fc21.x86_64) and displaying over the Internet to Ubuntu 15.04.  I 
can't reproduce the problem so it could be a timing thing.  The core dump occurs 
within gtk_window_get_size, which is called by xg_frame_set_char_size.   I 
wasn't running under a debugger, so I got only this backtrace:

> $ GDK_SCALE=2 src/emacs -Q
> X protocol error: BadAccess (attempt to access private resource denied) on protocol request 130
> When compiled with GTK, Emacs cannot recover from X disconnects.
> This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
> For details, see etc/PROBLEMS.
> Fatal error 6: Aborted
> Backtrace:
> src/emacs[0x503bc2]
> src/emacs[0x4ebb09]
> src/emacs[0x503c53]
> src/emacs[0x4be78e]
> src/emacs[0x4c2a28]
> src/emacs[0x4c2a8d]
> /lib64/libX11.so.6(_XError+0x11d)[0x7f0edfd1d4dd]
> /lib64/libX11.so.6(+0x42427)[0x7f0edfd1a427]
> /lib64/libX11.so.6(+0x424e5)[0x7f0edfd1a4e5]
> /lib64/libX11.so.6(_XReply+0x230)[0x7f0edfd1b490]
> /lib64/libX11.so.6(XGetGeometry+0x8e)[0x7f0edfcffd9e]
> /lib64/libgdk-3.so.0(+0x5d37f)[0x7f0ee1b7537f]
> /lib64/libgdk-3.so.0(gdk_window_get_geometry+0x104)[0x7f0ee1b4e014]
> /lib64/libgdk-3.so.0(gdk_screen_get_monitor_at_window+0x8f)[0x7f0ee1b4974f]
> /lib64/libgtk-3.so.0(+0x332d79)[0x7f0ee2104d79]
> /lib64/libgtk-3.so.0(+0x3367fb)[0x7f0ee21087fb]
> /lib64/libgtk-3.so.0(gtk_window_get_size+0xab)[0x7f0ee210e88b]
> src/emacs[0x4ddff8]
> src/emacs[0x4c94fa]
> src/emacs[0x4273b0]
> src/emacs[0x4d2829]
> src/emacs[0x55bb33]
> src/emacs[0x58ecb3]
> src/emacs[0x55b57f]
> src/emacs[0x55b94b]
> src/emacs[0x58ecb3]
> src/emacs[0x55b94b]
> src/emacs[0x58ecb3]
> src/emacs[0x55b94b]
> src/emacs[0x58ecb3]
> src/emacs[0x55b94b]
> src/emacs[0x58ecb3]
> src/emacs[0x55aa08]
> src/emacs[0x55ad0b]
> src/emacs[0x55e2d1]
> src/emacs[0x55a107]
> src/emacs[0x4ee8ac]
> src/emacs[0x559fe3]
> src/emacs[0x4ebf08]
> src/emacs[0x4f04bb]
> src/emacs[0x4f0808]
> ...
> Aborted (core dumped)


Addrline converts this to:

emacs_backtrace at /home/eggert/src/gnu/emacs/static-checking/src/sysdep.c:2188
terminate_due_to_signal at 
/home/eggert/src/gnu/emacs/static-checking/src/emacs.c:374
emacs_abort at /home/eggert/src/gnu/emacs/static-checking/src/sysdep.c:2201
x_connection_closed at /home/eggert/src/gnu/emacs/static-checking/src/xterm.c:8525
x_error_quitter at /home/eggert/src/gnu/emacs/static-checking/src/xterm.c:8617
x_error_handler at /home/eggert/src/gnu/emacs/static-checking/src/xterm.c:8588
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
?? ??:0
xg_clear_under_internal_border at 
/home/eggert/src/gnu/emacs/static-checking/src/gtkutil.c:848
 (inlined by) xg_frame_set_char_size at 
/home/eggert/src/gnu/emacs/static-checking/src/gtkutil.c:947
x_set_window_size at /home/eggert/src/gnu/emacs/static-checking/src/xterm.c:9729
adjust_frame_size at /home/eggert/src/gnu/emacs/static-checking/src/frame.c:491 
(discriminator 8)
Fx_create_frame at /home/eggert/src/gnu/emacs/static-checking/src/xfns.c:3305
Ffuncall at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:2719
exec_byte_code at /home/eggert/src/gnu/emacs/static-checking/src/bytecode.c:919
funcall_lambda at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:2957
backtrace_debug_on_exit at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:159
 (inlined by) Ffuncall at 
/home/eggert/src/gnu/emacs/static-checking/src/eval.c:2791
exec_byte_code at /home/eggert/src/gnu/emacs/static-checking/src/bytecode.c:919
backtrace_debug_on_exit at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:159
 (inlined by) Ffuncall at 
/home/eggert/src/gnu/emacs/static-checking/src/eval.c:2791
exec_byte_code at /home/eggert/src/gnu/emacs/static-checking/src/bytecode.c:919
backtrace_debug_on_exit at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:159
 (inlined by) Ffuncall at 
/home/eggert/src/gnu/emacs/static-checking/src/eval.c:2791
exec_byte_code at /home/eggert/src/gnu/emacs/static-checking/src/bytecode.c:919
backtrace_debug_on_exit at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:159
 (inlined by) Ffuncall at 
/home/eggert/src/gnu/emacs/static-checking/src/eval.c:2791
exec_byte_code at /home/eggert/src/gnu/emacs/static-checking/src/bytecode.c:919
apply_lambda at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:2829
eval_sub at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:2256
Feval at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:1997 
(discriminator 3)
internal_condition_case at 
/home/eggert/src/gnu/emacs/static-checking/src/eval.c:1350
top_level_1 at /home/eggert/src/gnu/emacs/static-checking/src/keyboard.c:1162
internal_catch at /home/eggert/src/gnu/emacs/static-checking/src/eval.c:1110
command_loop at /home/eggert/src/gnu/emacs/static-checking/src/keyboard.c:1118
recursive_edit_1 at /home/eggert/src/gnu/emacs/static-checking/src/keyboard.c:729
Frecursive_edit at /home/eggert/src/gnu/emacs/static-checking/src/keyboard.c:800





This bug report was last modified 10 years and 94 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.