From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Helmut Eller Newsgroups: gmane.emacs.devel Subject: Re: STatus of MPS branch Date: Sun, 21 Apr 2024 16:39:42 +0200 Message-ID: <878r16n5jl.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="36479"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel To: Gerd =?utf-8?Q?M=C3=B6llmann?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Apr 21 16:40:36 2024 Return-path: Envelope-to: ged-emacs-devel@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 1ryYMu-0009JC-Gd for ged-emacs-devel@m.gmane-mx.org; Sun, 21 Apr 2024 16:40:36 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ryYMA-0003dU-6w; Sun, 21 Apr 2024 10:39:50 -0400 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 1ryYM9-0003dG-B7 for emacs-devel@gnu.org; Sun, 21 Apr 2024 10:39:49 -0400 Original-Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ryYM7-00056u-2p for emacs-devel@gnu.org; Sun, 21 Apr 2024 10:39:49 -0400 Original-Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-a519e1b0e2dso395195266b.2 for ; Sun, 21 Apr 2024 07:39:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1713710385; x=1714315185; darn=gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=avMNR8xmw7wbYhTS5UGuTOdcm/CmZRLVqrxNUIUfJWc=; b=eWyMJGmG9kwUK3BEazaQ/nnJFbKKDRYmnsMiOlpGHQErYULTCfkjgPfivxIPjod40U sO2GRrPE3oZVEbfq9o7KlZ+n0usXMZ9t7O3cMwMYE0G6GGdvCpBDbPmptjDGBT15VrZN IGNGH6jpOaEUvUXii65X8VsMg6/2JTMrZnTC170HTUgIMZQCb3Hi2UUJ08ppJDzul1kl FG5iLxWEiN+yTnENY2FDfsIqgWAA16CMrZ0W7LQH3KE0ElumWB4xhU+8opZb5PGVMRM6 i4mSz/wyOWaaB2VxnmMakaxhXg5BgJaMcviusE4kiI8jr6tPh4RgXC8J+5Tc5WDyrN9D OdBg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713710385; x=1714315185; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=avMNR8xmw7wbYhTS5UGuTOdcm/CmZRLVqrxNUIUfJWc=; b=Zku7+Dd/ty71Iv7uVGteDMNCS7aAN5sRGVJ2E5cKdgcnB0ycGKktMVeDnXhM+BlPN0 ABtiUUJNRYd+Z5bB+uhYiDLz5n+0j5rchXP3JCR4KwNBYisRDgObyf7O3GuGClMT2igz ykOnmF3Q/tNQHKzTOYqDGNcUN0Sf34F/fTXJIkJhx1u6Kw/1T/XUw2nrTUUYbQeIELdL 4ssvvwB0YwKWNYuxnbsxkPGMnaff1mrd9IERaqKsKWAIrqGktRSCbWX84leh0j3l2HMG VxdvfFA5tiTPpl1kOdh4a7QnbvV4pNEYDRrrYofB70aOQ0ztscnPyOxlHR2spE8soatx a+mQ== X-Gm-Message-State: AOJu0YxIOMtgesLxrsIUd8QujmfobxMLJM+oET159xYb5K+xZVt7pUA0 oP0LUjf/WAdYl7xUSz5KPZF2d/90CXI9N+xF9wBzv5HMxXkEG0T3rXadXA== X-Google-Smtp-Source: AGHT+IE9NkxaxnV42DQJwVX7Xz0qwGjT7yb0ZE3HlBiJtqur/mXeRrQabJsLCW5EsyFiODyVEnthFg== X-Received: by 2002:a17:906:5ad2:b0:a51:e451:6f3 with SMTP id x18-20020a1709065ad200b00a51e45106f3mr5163891ejs.23.1713710384785; Sun, 21 Apr 2024 07:39:44 -0700 (PDT) Original-Received: from caladan ([89.107.106.118]) by smtp.gmail.com with ESMTPSA id wr12-20020a170907700c00b00a55acd765e5sm769470ejb.160.2024.04.21.07.39.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Apr 2024 07:39:43 -0700 (PDT) In-Reply-To: ("Gerd =?utf-8?Q?M=C3=B6llmann?= =?utf-8?Q?=22's?= message of "Sat, 20 Apr 2024 11:34:05 +0200") Received-SPF: pass client-ip=2a00:1450:4864:20::62f; envelope-from=eller.helmut@gmail.com; helo=mail-ej1-x62f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:317935 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Sat, Apr 20 2024, Gerd M=C3=B6llmann wrote: > There are many things other people could help with at this point. Some > require no knowledge of MPS, or C. For example: > > - Make it work on anything not macOS. I'm trying to build the igc branch on Debian. But I get a SIGSEGV when loaddefs-gen.el gets loaded. I configured with: CFLAGS=3D'-g -O0 -I/scratch/emacs/mps-install/include -L/scratch/emacs/mp= s-install/lib' configure --enable-checking=3Dyes --without-all --without-x = --with-mps=3Ddebug and made some changes to igc.c as seen in the diff below; but those seem rather innocent. GCC still emits this warning: igc.c:229:18: warning: =E2=80=98pvec_type=E2=80=99 is narrower than values = of its type 229 | enum pvec_type pvec_type : IGC_PVEC_BITS; Is this something to worry about? Helmut --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=igc.diff diff --git a/src/igc.c b/src/igc.c index dfb25d6c824..5de83980863 100644 --- a/src/igc.c +++ b/src/igc.c @@ -73,7 +73,7 @@ static void igc_assert_fail (const char *file, unsigned line, const char *msg) { - extern void die (const char *, const char *, int); + //extern void die (const char *, const char *, int); die (msg, file, line); } @@ -81,7 +81,7 @@ igc_assert_fail (const char *file, unsigned line, const char *msg) # define igc_assert(expr) \ if (!(expr)) \ igc_assert_fail (__FILE__, __LINE__, #expr); \ - else + /* else */ #else # define igc_assert(expr) (void) 9 #endif @@ -122,7 +122,7 @@ is_aligned (const mps_addr_t addr) #define IGC_CHECK_RES(res) \ if ((res) != MPS_RES_OK) \ emacs_abort (); \ - else + /* else */ #define IGC_WITH_PARKED(gc) \ for (int i = (mps_arena_park (gc->arena), 1); i; \ @@ -801,6 +801,7 @@ scan_pure (mps_ss_t ss, void *start, void *end, void *closure) MPS_SCAN_BEGIN (ss) { igc_assert (start == (void *) pure); + extern ptrdiff_t pure_bytes_used_lisp; end = (char *) pure + pure_bytes_used_lisp; if (end > start) IGC_FIX_CALL (ss, scan_ambig (ss, start, end, NULL)); @@ -954,6 +955,7 @@ fix_itree_node (mps_ss_t ss, struct itree_node *n) static mps_res_t fix_image (mps_ss_t ss, struct image *i) { +#ifdef HAVE_WINDOW_SYSTEM MPS_SCAN_BEGIN (ss) { IGC_FIX12_OBJ (ss, &i->spec); @@ -964,6 +966,7 @@ fix_image (mps_ss_t ss, struct image *i) } MPS_SCAN_END (ss); return MPS_RES_OK; +#endif } static mps_res_t @@ -2342,6 +2345,7 @@ thread_ap (enum igc_obj_type type) case IGC_OBJ_FLOAT: return t->d.leaf_ap; } + emacs_abort (); } /* Conditional breakpoints can be so slow that it is often more @@ -2572,12 +2576,14 @@ igc_make_itree_node (void) return n; } +#ifdef HAVE_WINDOW_SYSTEM struct image * igc_make_image (void) { struct image *img = alloc (sizeof *img, IGC_OBJ_IMAGE, PVEC_FREE); return img; } +#endif struct face * igc_make_face (void) --=-=-= Content-Type: text/plain Content-Disposition: attachment; filename=gdb-session.txt (gdb) r The program being debugged has been started already. Start it from the beginning? (y or n) y `/scratch/emacs/emacs-igc/src/bootstrap-emacs' has changed; re-reading symbols. Starting program: /scratch/emacs/emacs-igc/src/bootstrap-emacs -batch --no-site-file --no-site-lisp -l ./emacs-lisp/loaddefs-gen.elc -f loaddefs-generate--emacs-batch . ./calc ./calendar ./cedet ./cedet/ede ./cedet/semantic ./cedet/semantic/analyze ./cedet/semantic/bovine ./cedet/semantic/decorate ./cedet/semantic/symref ./cedet/semantic/wisent ./cedet/srecode ./emacs-lisp ./emulation ./erc ./eshell ./gnus ./image ./international ./language ./leim ./leim/quail ./mail ./mh-e ./net ./nxml ./org ./play ./progmodes ./textmodes ./url ./use-package ./vc [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". INFO Scraping files for loaddefs... INFO Scraping files for loaddefs...10% INFO Scraping files for loaddefs...20% INFO Scraping files for loaddefs...30% INFO Scraping files for loaddefs...40% INFO Scraping files for loaddefs...50% INFO Scraping files for loaddefs...60% INFO Scraping files for loaddefs...70% INFO Scraping files for loaddefs...80% Program received signal SIGSEGV, Segmentation fault. Breakpoint 1, handle_sigsegv (sig=11, siginfo=0x555555f6ed70 , arg=0x555555f6ec40 ) at sysdep.c:1930 1930 bool fatal = gc_in_progress; (gdb) xbacktrace "help-add-fundoc-usage" (0xe5f03550) 0xe8406ec0 PVEC_COMPILED 0xe8406fd0 PVEC_COMPILED "loaddefs-generate--make-autoload" (0xe5f03280) "loaddefs-generate--make-autoload" (0xe5f03200) "loaddefs-generate--parse-file" (0xe5f03140) "loaddefs-generate" (0xe5f03048) "loaddefs-generate--emacs-batch" (0xffffc058) "funcall" (0xffffc050) "if" (0xffffc280) "cond" (0xffffc430) "let*" (0xffffc630) "while" (0xffffc800) "let*" (0xffffca00) "progn" (0xffffcb70) "if" (0xffffcce0) "let" (0xffffcf00) "let" (0xffffd120) "command-line-1" (0xffffd2b0) "let" (0xffffd5e0) "command-line" (0xffffd770) "unwind-protect" (0xffffd9e0) "let" (0xffffdc00) "if" (0xffffdda0) "normal-top-level" (0xffffdf30) (gdb) backtrace #0 handle_sigsegv (sig=11, siginfo=0x555555f6ed70 , arg=0x555555f6ec40 ) at sysdep.c:1930 #1 #2 string_intervals (s=XIL(0x7ffff0698edc)) at /scratch/emacs/emacs-igc/src/lisp.h:4063 #3 0x0000555555767d97 in concat_to_string (nargs=3, args=0x7fffe5f035b8) at fns.c:957 #4 0x0000555555767373 in Fconcat (nargs=3, args=0x7fffe5f035b8) at fns.c:746 #5 0x00005555557b466a in exec_byte_code (fun=XIL(0x7fffe64689a5), args_template=257, nargs=1, args=0x7fffe5f03628) at bytecode.c:1229 #6 0x000055555575e1fc in funcall_lambda (fun=XIL(0x7fffe840faad), nargs=0, arg_vector=0x7fffffffc058) at eval.c:3200 #7 0x000055555575d4e7 in funcall_general (fun=XIL(0x7fffe840faad), numargs=0, args=0x7fffffffc058) at eval.c:2982 #8 0x000055555575d7c4 in Ffuncall (nargs=1, args=0x7fffffffc050) at eval.c:3032 #9 0x000055555575c088 in eval_sub (form=XIL(0x7fffe7036d63)) at eval.c:2507 #10 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #11 0x0000555555756eae in Fif (args=XIL(0x7fffe7036d33)) at eval.c:395 #12 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7036d23)) at eval.c:2486 #13 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #14 0x0000555555756f45 in Fcond (args=XIL(0x7fffe7031013)) at eval.c:419 #15 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7030fe3)) at eval.c:2486 #16 0x0000555555756fcd in Fprogn (body=XIL(0x7fffe7030f43)) at eval.c:439 #17 0x000055555575855c in FletX (args=XIL(0x7fffe7030f03)) at eval.c:979 #18 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7030ef3)) at eval.c:2486 #19 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #20 0x0000555555756ffd in prog_ignore (body=XIL(0x7fffe7030ee3)) at eval.c:450 #21 0x00005555557589a6 in Fwhile (args=XIL(0x7fffe7030ed3)) at eval.c:1068 #22 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7030ec3)) at eval.c:2486 #23 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #24 0x000055555575855c in FletX (args=XIL(0x7fffe7030e83)) at eval.c:979 #25 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7030e73)) at eval.c:2486 #26 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #27 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7030e53)) at eval.c:2486 #28 0x0000555555756e8c in Fif (args=XIL(0x7fffe7030e33)) at eval.c:394 #29 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7030e23)) at eval.c:2486 #30 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #31 0x000055555575893e in Flet (args=XIL(0x7fffe7030e03)) at eval.c:1047 #32 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7030df3)) at eval.c:2486 #33 0x0000555555756fcd in Fprogn (body=XIL(0x7fffe702ade3)) at eval.c:439 #34 0x000055555575893e in Flet (args=XIL(0x7fffe702adc3)) at eval.c:1047 #35 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe702adb3)) at eval.c:2486 #36 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #37 0x000055555575e607 in funcall_lambda (fun=XIL(0x7fffe702ad53), nargs=1, arg_vector=0x7fffffffd2b0) at eval.c:3283 #38 0x000055555575e004 in apply_lambda (fun=XIL(0x7fffe702ad43), args=XIL(0x7fffe703a6a3), count=...) at eval.c:3154 #39 0x000055555575c735 in eval_sub (form=XIL(0x7fffe703a693)) at eval.c:2625 #40 0x0000555555756fcd in Fprogn (body=XIL(0x7fffe70399d3)) at eval.c:439 #41 0x000055555575893e in Flet (args=XIL(0x7fffe70397e3)) at eval.c:1047 #42 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe70397d3)) at eval.c:2486 #43 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #44 0x000055555575e607 in funcall_lambda (fun=XIL(0x7fffe7039793), nargs=0, arg_vector=0x7fffffffd770) at eval.c:3283 #45 0x000055555575e004 in apply_lambda (fun=XIL(0x7fffe7039783), args=XIL(0), count=...) at eval.c:3154 #46 0x000055555575c735 in eval_sub (form=XIL(0x7fffe70471f3)) at eval.c:2625 #47 0x000055555575907b in Funwind_protect (args=XIL(0x7fffe70462e3)) at eval.c:1328 #48 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe70462d3)) at eval.c:2486 #49 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #50 0x000055555575893e in Flet (args=XIL(0x7fffe70462b3)) at eval.c:1047 #51 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe70462a3)) at eval.c:2486 #52 0x0000555555756fcd in Fprogn (body=XIL(0x7fffe7045cf3)) at eval.c:439 #53 0x0000555555756eae in Fif (args=XIL(0x7fffe7045b83)) at eval.c:395 #54 0x000055555575beb6 in eval_sub (form=XIL(0x7fffe7045b73)) at eval.c:2486 #55 0x0000555555756fcd in Fprogn (body=XIL(0)) at eval.c:439 #56 0x000055555575e607 in funcall_lambda (fun=XIL(0x7fffe7045b23), nargs=0, arg_vector=0x7fffffffdf30) at eval.c:3283 #57 0x000055555575e004 in apply_lambda (fun=XIL(0x7fffe7045b13), args=XIL(0), count=...) at eval.c:3154 --Type for more, q to quit, c to continue without paging-- #58 0x000055555575c735 in eval_sub (form=XIL(0x7fffe72674cb)) at eval.c:2625 #59 0x000055555575b931 in Feval (form=XIL(0x7fffe72674cb), lexical=XIL(0x30)) at eval.c:2396 #60 0x00005555556875aa in top_level_2 () at keyboard.c:1184 #61 0x000055555575991b in internal_condition_case ( bfun=0x555555687543 , handlers=XIL(0x90), hfun=0x555555686de8 ) at eval.c:1544 #62 0x0000555555687612 in top_level_1 (ignore=XIL(0)) at keyboard.c:1196 #63 0x0000555555758d5e in internal_catch (tag=XIL(0xe3a0), func=0x5555556875c3 , arg=XIL(0)) at eval.c:1224 #64 0x000055555568747e in command_loop () at keyboard.c:1145 #65 0x000055555568688a in recursive_edit_1 () at keyboard.c:754 #66 0x0000555555686ab6 in Frecursive_edit () at keyboard.c:837 #67 0x00005555556825d0 in main (argc=41, argv=0x7fffffffe528) at emacs.c:2626 (gdb) --=-=-=--