From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Zhengyi Fu Newsgroups: gmane.emacs.bugs Subject: bug#75199: 30.0.93; Emacs crashes when completing with corfu Date: Mon, 30 Dec 2024 23:04:44 +0800 Message-ID: <87r05pmctv.fsf@fuzy.me> References: <87cyh9qq64.fsf@fuzy.me> <86ttalnsj4.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25959"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Po Lu , 75199@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Dec 30 16:06:21 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tSHLZ-0006U9-86 for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 30 Dec 2024 16:06:21 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tSHLP-00037E-B1; Mon, 30 Dec 2024 10:06:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tSHLG-00034H-MJ for bug-gnu-emacs@gnu.org; Mon, 30 Dec 2024 10:06:03 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tSHLG-0007PM-Ci for bug-gnu-emacs@gnu.org; Mon, 30 Dec 2024 10:06:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:References:In-Reply-To:From:To:Subject; bh=juccRPKeygbmTb0Sie0g4heAKrSbhPFmQb+4hzwAf8M=; b=d+T5ReGn4UbUsvh9l/3+WkI/n2fr7U7X6txEOkh9SetAHmDaYzwNksKfzqawsoMAXBmLLW5bqea9543wYPXV5FJNj0P+nvMFYekOuh5+xliJPj5FT+8pTPp8jQCXCtwnB05fB6tktw1igRWI57LpFJiiXmSk1v1oUvOJdDdkBrMgMB154jk3eCEhM5wS+HmG6QnKcVkRIAXFA7KPvacsuVDga6YH77sOEnDDLGbklCs4v6MD0YkszguniVwjQ4wG18M1JGfUqf7zF7i/fsth1ALYIDXqH5ygiYeEaElVug4ixvIn/0tnqPdEq/gvA9k4l06DVzfs4AblI+5Ii9TMYA==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tSHLF-0006h0-W3 for bug-gnu-emacs@gnu.org; Mon, 30 Dec 2024 10:06:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Zhengyi Fu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Dec 2024 15:06:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75199 X-GNU-PR-Package: emacs Original-Received: via spool by 75199-submit@debbugs.gnu.org id=B75199.173557112625670 (code B ref 75199); Mon, 30 Dec 2024 15:06:01 +0000 Original-Received: (at 75199) by debbugs.gnu.org; 30 Dec 2024 15:05:26 +0000 Original-Received: from localhost ([127.0.0.1]:59473 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tSHKf-0006fx-2X for submit@debbugs.gnu.org; Mon, 30 Dec 2024 10:05:26 -0500 Original-Received: from relay6-d.mail.gandi.net ([217.70.183.198]:33791) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tSHKa-0006fb-F8 for 75199@debbugs.gnu.org; Mon, 30 Dec 2024 10:05:23 -0500 Original-Received: by mail.gandi.net (Postfix) with ESMTPSA id 2AB39C0005; Mon, 30 Dec 2024 15:04:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fuzy.me; s=gm1; t=1735571094; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=juccRPKeygbmTb0Sie0g4heAKrSbhPFmQb+4hzwAf8M=; b=iz/Zk1iYGDFzmVgWy7kx9ZTe7iWStj0kfM9OvsJNrWyJR4w1raHT6IhW6sTIJzlP5y9mPi FEMaeD/vIb5bJ0XtpbFZ+cHPXSMkfRvyMeBFYPUH11//E0TQeQ9cHO1twNRqMzuK0rPiCt EzPvavyPmohyur7cR6RnXWTL9rJCTmlrUN51m8naHTzMpoYfx7XefwSkvQjUfHmNhY3dkD HTwBcPODaVu+x+Gw/xImEIqsw+fBwHHpOtZor/2BPD+ve4vk9StjbzZHf7mrr8afPx4od4 7tvFbkVwOLN6BMXC521RpO4UleoFrEY8h6E6uE/uP5VohNBIYwyw9wxmQutWPg== In-Reply-To: <86ttalnsj4.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 30 Dec 2024 16:40:15 +0200") X-GND-Sasl: id@fuzy.me X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:298005 Archived-At: Eli Zaretskii writes: >> From: Zhengyi Fu >> Date: Mon, 30 Dec 2024 21:02:59 +0800 >>=20 >> Emacs built without Cairo steadily crashes when trying to complete >> symbols with Corfu. >>=20 >> Steps to reproduce: >>=20 >> 1. emacs -Q -l path/to/corfu.el >> 2. M-x corfu-mode >> 3. Try completing a simple by pressing C-M-i >>=20 >> I got the following backtrace from GDB by reproducing the bug after >> evaluating (x-synchronize t): >>=20 >> (gdb) br x_error_quitter >> Breakpoint 1 at 0x550530: file xterm.c, line 27111. >> (gdb) r >> Starting program: /home/zhengyi/src/emacs/src/emacs -Q -l \~/.emacs.d/st= raight/repos/corfu/corfu.el >> [Thread debugging using libthread_db enabled] >> Using host libthread_db library "/lib64/libthread_db.so.1". >> [New Thread 0x7ffff13fe6c0 (LWP 15400)] >> [New Thread 0x7ffff0a6e6c0 (LWP 15401)] >> [New Thread 0x7fffebfff6c0 (LWP 15402)] >> [New Thread 0x7fffeb66f6c0 (LWP 15403)] >>=20 >> Thread 1 "emacs" hit Breakpoint 1, x_error_quitter (display=3D0xe19910, = event=3D0x0) at xterm.c:27111 >> 27111 if (event->error_code =3D=3D BadName) >> (gdb) bt full >> #0 x_error_quitter (display=3D0xe19910, event=3D0x0) at xterm.c:27111 >> buf =3D '\000' >> buf1 =3D '\000' ... >> #1 0x000000000055076b in x_error_handler (display=3D0xe19910, event=3D0= x7fffffffba70) at xterm.c:27090 >> stack =3D >> dpyinfo =3D >> fail =3D >> last =3D > > I don't understand how 'event', which was 0x7fffffffba70 in > x_error_handler became a NULL pointer inside x_error_quitter, which > x_error_handler calls. > > Po Lu, any ideas? > > Zhengyi Fu, can you configure Emacs 30.0.93 with --enable-checking and > compile it with -O0, and see if you get more detailed diagnostics? > > Also, does disabling the X input method help in any way? (I see you > are using fcitx.) This the backtrace I got after rebuilding Emacs with --enable-checking and -O0 and disabling fcitx: (gdb) r Starting program: /home/zhengyi/src/emacs/src/emacs -Q -l \~/.emacs.d/strai= ght/repos/corfu/corfu.el [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". [New Thread 0x7ffff1bfe6c0 (LWP 58332)] [New Thread 0x7ffff126e6c0 (LWP 58333)] [New Thread 0x7fffebfff6c0 (LWP 58334)] [New Thread 0x7fffeb66f6c0 (LWP 58335)] [Detaching after vfork from child process 58338] [Detaching after vfork from child process 58343] [Detaching after vfork from child process 58350] [Detaching after vfork from child process 58351] [Detaching after vfork from child process 58352] [Detaching after vfork from child process 58353] [Detaching after vfork from child process 58357] [Detaching after vfork from child process 58361] [Detaching after vfork from child process 58366] [Detaching after vfork from child process 58370] [Detaching after vfork from child process 58374] [Detaching after vfork from child process 58379] Thread 1 "emacs" hit Breakpoint 1, x_error_quitter (display=3D0x104d5d0, ev= ent=3D0x7fffffffb8c0) at xterm.c:27111 27111 if (event->error_code =3D=3D BadName) (gdb) bt full #0 x_error_quitter (display=3D0x104d5d0, event=3D0x7fffffffb8c0) at xterm.= c:27111 buf =3D '\000' , "P\267\377\377\377\177\000\000\001\000\= 000\000\000\000\000\000\240\267\377\377\377\177", '\000' = , "\001\001. \000\000\000\000 ", '\000' , "/#\305\367\377= \177\000\000d\372\004\001\000\000\000\000 ", '\000' , "\3= 00\n\005\001", '\000' , "\362\321\361\363\377\177\000\000= d\372\004\001\000\000\000\000\000-cYwQ6n\240\271\377\377\377\177\000\000\00= 1\000\000\000\000\000\000\000\360\371\004\001", '\000' ... buf1 =3D "p\350\004\001\000\000\000\000\300\n\005\001\000\000\000\000\360\= 371\004\001\000\000\000\000\377\377\377\377\377\377\377\377d\372\004\001\00= 0\000\000\000\000\020", '\000' , " \264\377\377\377\177\0= 00\000\001\000\000\000\000\000\000\000p\264\377\377\377\177\000\000P", '\00= 0' , "\301\031\305\367\377\177\000\000 \v\005\001\000\000= \000\000\360\371\004\001\000\000\000\000$ \000\000\000\000\000\000\260\265\= 377\377\377\177\000\000=D0=B4\377\377\377\177\000\000\201\035\305\367\377\1= 77\000\000\360\264\377\377\377\177\000\000\277.\305\367\377\177\000\000 \26= 5\377\377\377\177\000\000\b\372\004\001\000\000\000\000\002\000\000\000\000= \000\000\000\000"... #1 0x00000000005d32de in x_error_handler (display=3D0x104d5d0, event=3D0x7= fffffffb8c0) at xterm.c:27090 stack =3D 0x0 dpyinfo =3D 0x105f4d0 fail =3D 0x0 last =3D 0x104d5d0 #2 0x00007ffff7cc047b in _XError () at /lib64/libX11.so.6 #3 0x00007ffff7cc0577 in ??? () at /lib64/libX11.so.6 #4 0x00007ffff7cc062d in ??? () at /lib64/libX11.so.6 #5 0x00007ffff7cc22dd in _XReply () at /lib64/libX11.so.6 #6 0x00007ffff7cc265b in XSync () at /lib64/libX11.so.6 #7 0x00007ffff7cc26fb in ??? () at /lib64/libX11.so.6 #8 0x00007ffff7c9ae83 in XCreatePixmap () at /lib64/libX11.so.6 #9 0x00007ffff7c9f10b in XCreatePixmapFromBitmapData () at /lib64/libX11.s= o.6 #10 0x00000000005acef7 in x_draw_fringe_bitmap (w=3D0x1bf5f80, row=3D0x1c3c= 060, p=3D0x7fffffffbe60) at xterm.c:7993 clipmask =3D 0 image_rect =3D {x =3D 1, y =3D 18, width =3D 8, height =3D 0} px =3D 0 pixmap =3D 4785737 gcv =3D {function =3D -227767256, plane_mask =3D 140737488338224, foregrou= nd =3D 7102373, background =3D 140737260588072, line_width =3D -17072, line= _style =3D 32767, cap_style =3D 7102479, join_style =3D 0, fill_style =3D 7= 092985, fill_rule =3D 0, arc_mode =3D -227767256, tile =3D 140737488338560,= stipple =3D 7114578, ts_x_origin =3D 0, ts_y_origin =3D 0, font =3D 0, sub= window_mode =3D 15924032, graphics_exposures =3D 0, clip_x_origin =3D 0, cl= ip_y_origin =3D 0, clip_mask =3D 15924080, dash_offset =3D 48, dashes =3D 1= 0 '\n'} bg =3D {pixel =3D 4769435, red =3D 46245, green =3D 433, blue =3D 0, flags= =3D 0 '\000', pad =3D 0 '\000'} picture =3D 0 attrs =3D {repeat =3D 0, alpha_map =3D 0, alpha_x_origin =3D 0, alpha_y_or= igin =3D 0, clip_x_origin =3D 0, clip_y_origin =3D 0, clip_mask =3D 0, grap= hics_exposures =3D 0, subwindow_mode =3D 0, poly_edge =3D 0, poly_mode =3D = 0, dither =3D 0, component_alpha =3D 0} py =3D 0 drawable =3D 13631756 bits =3D 0x1bf4120 "" depth =3D 32 background =3D 4290834431 dest =3D {x =3D 1, y =3D 18, width =3D 8, height =3D 0} pwidth =3D 8 pheight =3D 0 f =3D 0x1b1b4a0 display =3D 0x104d5d0 gc =3D 0x1ad5840 face =3D 0x101b720 clip_rect =3D {x =3D 1, y =3D 1, width =3D 256, height =3D 35} #11 0x00000000007d4009 in draw_fringe_bitmap_1 (w=3D0x1bf5f80, row=3D0x1c3c= 060, left_p=3D1, overlay=3D0, which=3D26) at fringe.c:711 f =3D 0x1b1b4a0 p =3D {which =3D 26, bits =3D 0x1bf4120, wd =3D 8, h =3D 0, dh =3D 0, x = =3D 1, y =3D 18, bx =3D 1, nx =3D 8, by =3D 1, ny =3D 35, cursor_p =3D fals= e, overlay_p =3D false, face =3D 0x101b720} fb =3D 0x1bf4110 period =3D 0 face_id =3D 21 offset =3D 0 header_line_height =3D 0 #12 0x00000000007d471d in draw_fringe_bitmap (w=3D0x1bf5f80, row=3D0x1c3c06= 0, left_p=3D1) at fringe.c:880 overlay =3D 0 #13 0x00000000007d4829 in draw_row_fringe_bitmaps (w=3D0x1bf5f80, row=3D0x1= c3c060) at fringe.c:901 #14 0x00000000007d4a6e in draw_window_fringes (w=3D0x1bf5f80, no_fringe_p= =3Dtrue) at fringe.c:949 row =3D 0x1c3c060 yb =3D 350 nrows =3D 18 y =3D 0 rn =3D 0 updated_p =3D false window_buffer =3D 0xfe567d oldbuf =3D 0x7ffff2856418 #15 0x000000000046dcad in gui_update_window_end (w=3D0x1bf5f80, cursor_on_p= =3Dtrue, mouse_face_overwritten_p=3Dfalse) at dispnew.c:3948 f =3D 0x1b1b4a0 #16 0x000000000046da27 in update_window (w=3D0x1bf5f80, force_p=3Dtrue) at = dispnew.c:3869 end =3D 0x1af1820 tab_line_row =3D 0x0 mouse_face_overwritten_p =3D false n_updated =3D 0 mode_line_row =3D 0x1af1820 changed_p =3D true invisible_rows_marked =3D true row =3D 0x1af1820 header_line_row =3D 0x0 yb =3D 350 desired_matrix =3D 0x1b191e0 paused_p =3D false preempt_count =3D 9 rif =3D 0x8df2a0 #17 0x000000000046cc71 in update_window_tree (w=3D0x1bf5f80, force_p=3Dtrue= ) at dispnew.c:3491 paused_p =3D false #18 0x000000000046c61b in update_frame (f=3D0x1b1b4a0, force_p=3Dtrue, inhi= bit_hairy_id_p=3Dfalse) at dispnew.c:3326 paused_p =3D false root_window =3D 0x1bf5f80 #19 0x00000000004c51b1 in redisplay_internal () at xdisp.c:17468 gcscrollbars =3D true f_redisplay_flag =3D true f =3D 0x1b1b4a0 w =3D 0x11d1690 sw =3D 0x11d1690 fr =3D 0x11d13e0 pending =3D false must_finish =3D false match_p =3D true tlbufpos =3D {charpos =3D 180, bytepos =3D 184} tlendpos =3D {charpos =3D 0, bytepos =3D 0} number_of_visible_frames =3D 2 sf =3D 0x11d13e0 polling_stopped_here =3D true tail =3D 0x1a17043 frame =3D 0x1b1b4a5 hscroll_retries =3D 0 garbaged_frame_retries =3D 0 consider_all_windows_p =3D true update_miniwindow_p =3D false count =3D {bytes =3D 128} #20 0x00000000004c2bab in redisplay () at xdisp.c:16563 #21 0x0000000000616041 in read_char (commandflag=3D1, map=3D0x1ba88f3, prev= _event=3D0x0, used_mouse_menu=3D0x7fffffffd9ef, end_time=3D0x0) at keyboard= .c:2678 echo_current =3D true c =3D 0x0 local_getcjmp =3D {{__jmpbuf =3D {140737259281624, 140737259281667, 140737= 488345056, 7102846, 48, 140737259281624, 15924032, 0}, __mask_was_saved =3D= 0, __saved_mask =3D {__val =3D {140737488345104, 6496078, 140737267083907,= 140737488345264, 6517891, 15924032, 0, 0, 140737488345168, 7233523, 269844= 32, 140737488345264, 7277134, 29001987, 128, 140737488345264}}}} save_jump =3D {{__jmpbuf =3D {140737488344944, 7120998, 140737262216221, 1= 2658762781, 0, 44256, 140737488345136, 140737267219456}, __mask_was_saved = =3D -226139107, __saved_mask =3D {__val =3D {746, 0, 44256, 15968288, 44256= , 140737488344944, 55850543136, 140737262216221, 140737488344960, 7101566, = 140737262216221, 140737488344992, 7101662, 7092985, 140737262216221, 140737= 488345056}}}} tem =3D 0x1a77dd0 save =3D 0x1ba88f3 previous_echo_area_message =3D 0x0 also_record =3D 0x0 reread =3D false recorded =3D false polling_stopped_here =3D false orig_kboard =3D 0x104f640 jmpcount =3D {bytes =3D 0} #22 0x000000000062a235 in read_key_sequence (keybuf=3D0x7fffffffdc10, promp= t=3D0x0, dont_downcase_last=3Dfalse, can_return_switch_frame=3Dtrue, fix_cu= rrent_buffer=3Dtrue, prevent_redisplay=3Dfalse, disable_text_conversion_p= =3Dfalse) at keyboard.c:10743 interrupted_kboard =3D 0x104f640 interrupted_frame =3D 0x11d13e0 key =3D 0x30 used_mouse_menu =3D false echo_local_start =3D 0 last_real_key_start =3D 0 keys_local_start =3D 0 new_binding =3D 0xba count =3D {bytes =3D 96} t =3D 0 echo_start =3D 0 keys_start =3D 0 current_binding =3D 0x1ba88f3 first_unbound =3D 31 mock_input =3D 0 used_mouse_menu_history =3D {false } fkey =3D {parent =3D 0x7ffff24c7983, map =3D 0x7ffff24c7983, start =3D 0, = end =3D 0} keytran =3D {parent =3D 0x7ffff2cef743, map =3D 0x7ffff2cef743, start =3D = 0, end =3D 0} indec =3D {parent =3D 0x7ffff24c7973, map =3D 0x7ffff24c7973, start =3D 0,= end =3D 0} shift_translated =3D false delayed_switch_frame =3D 0x0 original_uppercase =3D 0x0 original_uppercase_position =3D -1 disabled_conversion =3D false starting_buffer =3D 0x7ffff2856418 fake_prefixed_keys =3D 0x0 first_event =3D 0x0 second_event =3D 0x0 #23 0x0000000000612514 in command_loop_1 () at keyboard.c:1429 cmd =3D 0x7ffff175a428 keybuf =3D {0x20000026, 0x16, 0x2ffffdca0, 0x0, 0x0, 0xb2b0, 0x7ffff3e0b01= 8, 0x7ffff2d1bc30, 0x0, 0xb2b0, 0x7ffff2856418, 0x0, 0x0, 0xf3adf0 , 0x6c3af9 , 0x0, 0x7fffffffdd20, 0x6ca866 <= set_default_internal+914>, 0x7ffff285641d, 0x2006ed6c1, 0x0, 0xb2b0, 0x7fff= f2d1bc30, 0x7ffff2d1bc30, 0x0, 0x0, 0x7fffffffdd60, 0xb2b0, 0xf3adf0 , 0xb2b0} i =3D 1 last_pt =3D 184 prev_modiff =3D 110 prev_buffer =3D 0x7ffff2856418 #24 0x00000000006eac73 in internal_condition_case (bfun=3D0x6120ef , handlers=3D0x90, hfun=3D0x6115f7 ) at eval.c:1613 val =3D 0x60e5cf c =3D 0x102b850 #25 0x0000000000611cf7 in command_loop_2 (handlers=3D0x90) at keyboard.c:11= 68 val =3D 0x90 #26 0x00000000006ea0cb in internal_catch (tag=3D0x12270, func=3D0x611cd4 , arg=3D0x90) at eval.c:1292 val =3D 0x7fffffffdf20 c =3D 0x102b710 #27 0x0000000000611c90 in command_loop () at keyboard.c:1146 #28 0x00000000006110d0 in recursive_edit_1 () at keyboard.c:754 count =3D {bytes =3D 32} val =3D 0x6f02e8 #29 0x00000000006112e3 in Frecursive_edit () at keyboard.c:837 count =3D {bytes =3D 0} buffer =3D 0x0 #30 0x000000000060cf48 in main (argc=3D4, argv=3D0x7fffffffe238) at emacs.c= :2635 stack_bottom_variable =3D 0x53 old_argc =3D 4 dump_file =3D 0x0 no_loadup =3D false junk =3D 0x0 dname_arg =3D 0x0 ch_to_dir =3D 0x0 original_pwd =3D 0x0 dump_mode =3D 0x0 skip_args =3D 0 temacs =3D 0x0 attempt_load_pdump =3D true only_version =3D false rlim =3D {rlim_cur =3D 10022912, rlim_max =3D 18446744073709551615} lc_all =3D 0x0 sockfd =3D -1 module_assertions =3D false (gdb)=20