all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
@ 2015-03-24 15:14 Nicolas Richard
       [not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
  2015-03-24 17:25 ` bug#20191: 25.0.50; SIGABRT in re_match_2_internal Paul Eggert
  0 siblings, 2 replies; 8+ messages in thread
From: Nicolas Richard @ 2015-03-24 15:14 UTC (permalink / raw)
  To: 20191

Hello,

I can't reproduce from -Q, but I can reproduce with my init file. I'll
be glad to issue commands in gdb as needed but making a reproducible
recipe from -Q would take more time.

The bug is triggered by (looking-at org-property-drawer-re) with point
at the beginning of a relatively big (35 lines) drawer in some specific
file of mine. It takes a long time. While it runs, I hit C-g (with
debug-on-error on) to bring up the debugger. Then hitting 'c' in the
debugger makes emacs unresponsive : gdb took control because of a
SIGABRT.

Here's the value of the regexp :
org-property-drawer-re is a variable defined in `org.el'.
Its value is
"^[ 	]*:PROPERTIES:[ 	]*\n\\(?:[ 	]*:\\S-+:\\(?: .*\\)?[ 	]*\n\\)*[ 	]*:END:[ 	]*$"

Here's the bt :
Program received signal SIGABRT, Aborted.
0xffffe424 in __kernel_vsyscall ()
#0  0xffffe424 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb648df87 in raise () from /lib/libc.so.6
No symbol table info available.
#2  0xb648f80e in abort () from /lib/libc.so.6
No symbol table info available.
#3  0x08292c96 in re_match_2_internal (bufp=0x876ca44, string1=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size1=0, 
    string2=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size2=154515, pos=124955, regs=0x876ce04, stop=154515) at regex.c:6249
        str = 0xb8fc528 ":PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentaires: les CHIM étaient BA2.\n\n\nAujourd'hui par contre, j'en ai eu 5 au total :\n\n1 étudiant de bac 1 en math (ses questions portaient sur l'algèbre\nlin"...
        pat = 0xc4a2455 " \001\017\n"
        mcnt = 1
        reg = 1
        end1 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
        end2 = 0xb903813 ""
        end_match_1 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
        end_match_2 = 0xb903813 ""
        d = 0xb8fc52a "HYS:     \n:SCIE:     2\n:campus:   PL\n:commentaires: les CHIM étaient BA2.\n\n\nAujourd'hui par contre, j'en ai eu 5 au total :\n\n1 étudiant de bac 1 en math (ses questions portaient sur l'algèbre\nliné"...
        dend = 0xb903813 ""
        dfail = 0xb8fc52a "HYS:     \n:SCIE:     2\n:campus:   PL\n:commentaires: les CHIM étaient BA2.\n\n\nAujourd'hui par contre, j'en ai eu 5 au total :\n\n1 étudiant de bac 1 en math (ses questions portaient sur l'algèbre\nliné"...
        p = 0xc4a2473 ":\016\n"
        pend = 0xc4a24b7 ""
        translate = -6917529027493944328
        multibyte = 0 '\000'
        target_multibyte = 1 '\001'
        fail_stack = {
          stack = 0xbfe39860, 
          size = 1280, 
          avail = 261, 
          frame = 261
        }
        num_regs = 1
        regstart = 0x0
        regend = 0x0
        best_regs_set = 0
        best_regstart = 0x0
        best_regend = 0x0
        match_end = 0x0
        sa_avail = 8064
        sa_count = 24
        sa_must_free = false
#4  0x0828d425 in re_match_2 (bufp=0x876ca44, string1=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size1=0, 
    string2=0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>..., size2=154515, pos=124955, regs=0x876ce04, stop=154515) at regex.c:4917
        result = 142002728
        charpos = 0
#5  0x08278e88 in looking_at_1 (string=-9223372036712283512, posix=false) at search.c:313
        val = 585167680728972264
        p1 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
        p2 = 0xb8ddc80 "* Guidance 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n:ID:       84887d56-ec9c-4086-b7e5-43d1ca160a22\n:ATTACH_DIR: 2013-2014\n:END:\n** Calendrier des activités", ' ' <repeats 38 times>...
        s1 = 0
        s2 = 154515
        i = 124955
        bufp = 0x876ca44
#6  0x08279044 in Flooking_at (regexp=-9223372036712283512) at search.c:348
No locals.
#7  0x082cc976 in eval_sub (form=-4611686018221356496) at eval.c:2181
        numargs = 4611686018427387905
        args_left = 0
        i = 1
        maxargs = 644
        argvals = {-9223372036712283512, 589135332862311800, 3065, 0, 0, 1, 0, 3065}
        fun = -6917529027502296272
        val = 0
        original_fun = 27981
        original_args = -4611686018221356480
        funcar = 730291156402831360
        gcpro1 = {
          next = 0x87e4288, 
          var = 0x80000000, 
          nvars = -1075593864
        }
        gcpro2 = {
          next = 0x87e4288, 
          var = 0x80000000, 
          nvars = -1075593864
        }
        gcpro3 = {
          next = 0xa0000000, 
          var = 0xbfe3bd20, 
          nvars = 1
        }
        count = 23
#8  0x082cbc6f in Feval (form=-4611686018221356496, lexical=0) at eval.c:1996
        count = 22
#9  0x082cea24 in Ffuncall (nargs=3, args=0xbfe3bf08) at eval.c:2721
        internal_argbuf = {142150256, 611189136446510256, 5025, 588354503512932056, 1005, 0, 876497237841670552, 3305}
        fun = -6917529027499401816
        original_fun = 2090
        funcar = 585128914354159256
        numargs = 2
        lisp_numargs = -6917529027460741328
        val = 611189136446387356
        internal_args = 0xbfe3bf10
        count = 21
#10 0x0832de07 in exec_byte_code (bytestr=-9223372036650700392, vector=-6917529027460741328, maxdepth=4611686018427387907, args_template=0, nargs=0, args=0x0) at bytecode.c:919
        targets = {0x8331fe6 <exec_byte_code+21004>, 0x8332087 <exec_byte_code+21165>, 0x8332089 <exec_byte_code+21167>, 0x833208b <exec_byte_code+21169>, 0x833208d <exec_byte_code+21171>, 0x833208d <exec_byte_code+21171>, 0x83320ec <exec_byte_code+21266>, 0x8332154 <exec_byte_code+21370>, 
          0x832d36e <exec_byte_code+1428>, 0x832d370 <exec_byte_code+1430>, 0x832d372 <exec_byte_code+1432>, 0x832d374 <exec_byte_code+1434>, 0x832d376 <exec_byte_code+1436>, 0x832d376 <exec_byte_code+1436>, 0x832d37f <exec_byte_code+1445>, 0x832d33f <exec_byte_code+1381>, 0x832da56 <exec_byte_code+3196>, 
          0x832da58 <exec_byte_code+3198>, 0x832da5a <exec_byte_code+3200>, 0x832da5c <exec_byte_code+3202>, 0x832da5e <exec_byte_code+3204>, 0x832da5e <exec_byte_code+3204>, 0x832da96 <exec_byte_code+3260>, 0x832da67 <exec_byte_code+3213>, 0x832dd0e <exec_byte_code+3892>, 0x832dd10 <exec_byte_code+3894>, 
          0x832dd12 <exec_byte_code+3896>, 0x832dd14 <exec_byte_code+3898>, 0x832dd16 <exec_byte_code+3900>, 0x832dd16 <exec_byte_code+3900>, 0x832dcc8 <exec_byte_code+3822>, 0x832dcdf <exec_byte_code+3845>, 0x832ddcc <exec_byte_code+4082>, 0x832ddce <exec_byte_code+4084>, 0x832ddd0 <exec_byte_code+4086>, 
          0x832ddd2 <exec_byte_code+4088>, 0x832ddd4 <exec_byte_code+4090>, 0x832ddd4 <exec_byte_code+4090>, 0x832dd86 <exec_byte_code+4012>, 0x832dd9d <exec_byte_code+4035>, 0x832de7f <exec_byte_code+4261>, 0x832de81 <exec_byte_code+4263>, 0x832de83 <exec_byte_code+4265>, 0x832de85 <exec_byte_code+4267>, 
          0x832de87 <exec_byte_code+4269>, 0x832de87 <exec_byte_code+4269>, 0x832de39 <exec_byte_code+4191>, 0x832de50 <exec_byte_code+4214>, 0x832f23f <exec_byte_code+9317>, 0x832eff8 <exec_byte_code+8734>, 0x832efec <exec_byte_code+8722>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 
          0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x832f4d7 <exec_byte_code+9981>, 0x832f689 <exec_byte_code+10415>, 0x832f6f0 <exec_byte_code+10518>, 0x832f758 <exec_byte_code+10622>, 0x832f7bf <exec_byte_code+10725>, 0x832d814 <exec_byte_code+2618>, 
          0x832d89f <exec_byte_code+2757>, 0x832f84a <exec_byte_code+10864>, 0x832d6db <exec_byte_code+2305>, 0x832d91c <exec_byte_code+2882>, 0x832f8b9 <exec_byte_code+10975>, 0x832f936 <exec_byte_code+11100>, 0x832f97f <exec_byte_code+11173>, 0x832f9fc <exec_byte_code+11298>, 0x832fa4b <exec_byte_code+11377>, 
          0x832fb12 <exec_byte_code+11576>, 0x832fb5b <exec_byte_code+11649>, 0x832fbd8 <exec_byte_code+11774>, 0x832fc89 <exec_byte_code+11951>, 0x832fcd2 <exec_byte_code+12024>, 0x832fd1b <exec_byte_code+12097>, 0x832fd98 <exec_byte_code+12222>, 0x832fe15 <exec_byte_code+12347>, 
          0x832fe92 <exec_byte_code+12472>, 0x832ff43 <exec_byte_code+12649>, 0x832ff92 <exec_byte_code+12728>, 0x832ffe1 <exec_byte_code+12807>, 0x83300a8 <exec_byte_code+13006>, 0x8330178 <exec_byte_code+13214>, 0x8330248 <exec_byte_code+13422>, 0x8330612 <exec_byte_code+14392>, 
          0x8330697 <exec_byte_code+14525>, 0x833071c <exec_byte_code+14658>, 0x83307a1 <exec_byte_code+14791>, 0x8330826 <exec_byte_code+14924>, 0x8330875 <exec_byte_code+15003>, 0x8330944 <exec_byte_code+15210>, 0x8330993 <exec_byte_code+15289>, 0x83309e2 <exec_byte_code+15368>, 
          0x8330a31 <exec_byte_code+15447>, 0x8330b4c <exec_byte_code+15730>, 0x832ee5a <exec_byte_code+8320>, 0x8330bb5 <exec_byte_code+15835>, 0x8330bfe <exec_byte_code+15908>, 0x8330cbe <exec_byte_code+16100>, 0x8330d27 <exec_byte_code+16205>, 0x8330d90 <exec_byte_code+16310>, 0x8330dd9 <exec_byte_code+16383>, 
          0x8330e2f <exec_byte_code+16469>, 0x8330e85 <exec_byte_code+16555>, 0x8330ee8 <exec_byte_code+16654>, 0x8331fe6 <exec_byte_code+21004>, 0x8330f45 <exec_byte_code+16747>, 0x8330f83 <exec_byte_code+16809>, 0x8330fc1 <exec_byte_code+16871>, 0x8330fff <exec_byte_code+16933>, 
          0x833103d <exec_byte_code+16995>, 0x833107b <exec_byte_code+17057>, 0x832ee5a <exec_byte_code+8320>, 0x8331fe6 <exec_byte_code+21004>, 0x83310c4 <exec_byte_code+17130>, 0x8331115 <exec_byte_code+17211>, 0x833115e <exec_byte_code+17284>, 0x83311a7 <exec_byte_code+17357>, 0x8331224 <exec_byte_code+17482>, 
          0x83312a1 <exec_byte_code+17607>, 0x83312ea <exec_byte_code+17680>, 0x8331459 <exec_byte_code+18047>, 0x83314d6 <exec_byte_code+18172>, 0x8331553 <exec_byte_code+18297>, 0x83315d0 <exec_byte_code+18422>, 0x833160e <exec_byte_code+18484>, 0x8331fe6 <exec_byte_code+21004>, 0x832ed9c <exec_byte_code+8130>, 
          0x832df29 <exec_byte_code+4431>, 0x832d525 <exec_byte_code+1867>, 0x832e09b <exec_byte_code+4801>, 0x832e251 <exec_byte_code+5239>, 0x832e3f3 <exec_byte_code+5657>, 0x832ed2a <exec_byte_code+8016>, 0x832ed6e <exec_byte_code+8084>, 0x832dc6c <exec_byte_code+3730>, 0x832ee1a <exec_byte_code+8256>, 
          0x832ee86 <exec_byte_code+8364>, 0x832ef27 <exec_byte_code+8525>, 0x832ef67 <exec_byte_code+8589>, 0x832f273 <exec_byte_code+9369>, 0x832f316 <exec_byte_code+9532>, 0x832f3c7 <exec_byte_code+9709>, 0x832f43a <exec_byte_code+9824>, 0x832dee0 <exec_byte_code+4358>, 0x8331657 <exec_byte_code+18557>, 
          0x8331708 <exec_byte_code+18734>, 0x8331751 <exec_byte_code+18807>, 0x833179a <exec_byte_code+18880>, 0x83317e3 <exec_byte_code+18953>, 0x833182c <exec_byte_code+19026>, 0x83318a9 <exec_byte_code+19151>, 0x833191a <exec_byte_code+19264>, 0x833198b <exec_byte_code+19377>, 
          0x83319fc <exec_byte_code+19490>, 0x8331c0e <exec_byte_code+20020>, 0x8331c7f <exec_byte_code+20133>, 0x8331cf0 <exec_byte_code+20246>, 0x8331d39 <exec_byte_code+20319>, 0x8331daa <exec_byte_code+20432>, 0x8331e1b <exec_byte_code+20545>, 0x8331e70 <exec_byte_code+20630>, 
          0x8331ec5 <exec_byte_code+20715>, 0x8330a80 <exec_byte_code+15526>, 0x8330acf <exec_byte_code+15605>, 0x8331f14 <exec_byte_code+20794>, 0x8331f7b <exec_byte_code+20897>, 0x8331fe6 <exec_byte_code+21004>, 0x832e595 <exec_byte_code+6075>, 0x832e6e0 <exec_byte_code+6406>, 0x832e878 <exec_byte_code+6814>, 
          0x832ea10 <exec_byte_code+7222>, 0x832eb9d <exec_byte_code+7619>, 0x832fa9a <exec_byte_code+11456>, 0x8330030 <exec_byte_code+12886>, 0x8330c46 <exec_byte_code+15980>, 0x83321de <exec_byte_code+21508>, 0x8332248 <exec_byte_code+21614>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 
          0x83322d4 <exec_byte_code+21754>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 
          0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8332362 <exec_byte_code+21896> <repeats 64 times>}
        count = 21
        op = 2
        vectorp = 0xabfc734
        stack = {
          pc = 0xc370fec "\nB\022\306\n@\307\"\207", 
          byte_string = -9223372036650700392, 
          byte_string_start = 0xc370fe4 "\303\304!\210\305\b\t\"\nB\022\306\n@\307\"\207", 
          next = 0xbfe3dbac
        }
        top = 0xbfe3bf08
        result = 585132414752506104
        type = CATCHER
#11 0x082cffaf in funcall_lambda (fun=-6917529027446053144, nargs=1, arg_vector=0xbfe3c7c8) at eval.c:2951
        val = 585119634005426181
        syms_left = 0
        next = 415076
        lexenv = 0
        count = 19
        i = 1
        optional = false
        rest = false
#12 0x082cf00c in Ffuncall (nargs=2, args=0xbfe3c7c0) at eval.c:2767
        fun = -6917529027446053144
        original_fun = 591180
        funcar = 585331525141382184
        numargs = 1
        lisp_numargs = -6917529027499402560
        val = 0
        internal_args = 0x829489d <xmalloc+17>
        count = 18
#13 0x082c09df in Ffuncall_interactively (nargs=2, args=0xbfe3c7c0) at callint.c:252
        speccount = 17
#14 0x082ce871 in Ffuncall (nargs=3, args=0xbfe3c7b8) at eval.c:2698
        fun = -6917529027499402560
        original_fun = 2600
        funcar = 585167878297470312
        numargs = 2
        lisp_numargs = -4611686018427387904
        val = -4611686018221321120
        internal_args = 0x81ecba5 <builtin_lisp_symbol+32>
        count = 16
#15 0x082cd3e6 in Fapply (nargs=3, args=0xbfe3c7b8) at eval.c:2293
        i = 136235868
        numargs = 1
        funcall_nargs = 2600
        funcall_args = 0xbfe3c7c8
        spread_arg = -4611686018221321120
        fun = 2600
        retval = 585128914354161176
        sa_avail = 16384
        sa_count = 16
        sa_must_free = false
#16 0x082c11b7 in Fcall_interactively (function=591180, record_flag=0, keys=-6917529027498819184) at callint.c:394
        input = -4611686018234583520
        funval = -6917529027446053144
        events = 199
        result = 585128911134785541
        args = 0x201
        visargs = 0x0
        specs = -4611686018221321120
        filter_specs = -4611686018234583520
        teml = 0
        up_event = 0
        enable = 0
        sa_avail = 16384
        sa_count = 16
        sa_must_free = false
        speccount = 16
        next_event = -1219938880
        prefix_arg = 0
        string = 0x0
        tem = 0xbfe3ca7f "\300\016"
        varies = 0xbfe3c728 "\024O\006"
        i = 513
        nargs = 0
        mark = 0
        arg_from_tty = false
        gcpro1 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 591180
        }
        gcpro2 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 591180
        }
        gcpro3 = {
          next = 0x82d3d8e <Flength+638>, 
          var = 0x871dad8 <Scall_interactively>, 
          nvars = 141679320
        }
        gcpro4 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 591180
        }
        gcpro5 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 591180
        }
        key_count = 1
        record_then_fail = false
        save_this_command = 4249980
        save_last_command = 413460
        save_this_original_command = 4249980
        save_real_this_command = 4249980
#17 0x082cca22 in eval_sub (form=-4611686018250771536) at eval.c:2187
        numargs = 4611686018427387905
        args_left = 0
        i = 0
        maxargs = 0
        argvals = {591180, 0, 0, 585119637224802632, 0, 0, 0, 585128914354161992}
        fun = -6917529027499402536
        val = 0
        original_fun = 25309
        original_args = -4611686018250780672
        funcar = 0
        gcpro1 = {
          next = 0x9054c, 
          var = 0x0, 
          nvars = 0
        }
        gcpro2 = {
          next = 0x9054c, 
          var = 0x0, 
          nvars = 0
        }
        gcpro3 = {
          next = 0x0, 
          var = 0xbfe3c8f0, 
          nvars = 3
        }
        count = 15
#18 0x082c5634 in Fprogn (body=-4611686018250780656) at eval.c:445
        val = 0
        gcpro1 = {
          next = 0xc0000000, 
          var = 0xbfe3c9a8, 
          nvars = 3
        }
#19 0x082c534b in Fif (args=-4611686018250771632) at eval.c:397
        cond = 0
        gcpro1 = {
          next = 0x40000000, 
          var = 0x871db38 <Sif>, 
          nvars = -1610612736
        }
#20 0x082cc4e1 in eval_sub (form=-4611686018250771648) at eval.c:2131
        numargs = 4611686018427387907
        args_left = -4611686018250771632
        i = 3
        maxargs = 0
        argvals = {-4611686018250779936, 585128600821549864, 0, 585128914354162472, 608508664536488808, 0, 43091352424, 585128914354162504}
        fun = -6917529027499402440
        val = -4611686018221590672
        original_fun = 2920
        original_args = -4611686018250771632
        funcar = 0
        gcpro1 = {
          next = 0xa86d2e0, 
          var = 0xc0000000, 
          nvars = -1075590360
        }
        gcpro2 = {
          next = 0xa86d2e0, 
          var = 0xc0000000, 
          nvars = -1075590360
        }
        gcpro3 = {
          next = 0x0, 
          var = 0x0, 
          nvars = 142110056
        }
        count = 14
#21 0x082c5634 in Fprogn (body=-4611686018250780256) at eval.c:445
        val = -4611686018221590672
        gcpro1 = {
          next = 0x40000000, 
          var = 0x871db68 <Sprogn>, 
          nvars = -1610612736
        }
#22 0x082cc4e1 in eval_sub (form=-4611686018250779920) at eval.c:2131
        numargs = 4611686018427387906
        args_left = -4611686018250779936
        i = 2
        maxargs = 0
        argvals = {-6917529027499401960, 585128914354162888, 608510519962361112, 585166692886498536, 43091352856, 589191817052815365, -6917529027499401960, 589135650689895672}
        fun = -6917529027499402392
        val = 0
        original_fun = 4100
        original_args = -4611686018250779936
        funcar = 0
        gcpro1 = {
          next = 0x871dd18 <Sunwind_protect>, 
          var = 0xa0000000, 
          nvars = -1075589944
        }
        gcpro2 = {
          next = 0x871dd18 <Sunwind_protect>, 
          var = 0xa0000000, 
          nvars = -1075589944
        }
        gcpro3 = {
          next = 0xc0000000, 
          var = 0x0, 
          nvars = 0
        }
        count = 13
#23 0x082c8aa1 in Funwind_protect (args=-4611686018250779840) at eval.c:1206
        val = -6917529027499401960
        count = 12
#24 0x082cc4e1 in eval_sub (form=-4611686018250779824) at eval.c:2131
        numargs = 4611686018427387906
        args_left = -4611686018250779840
        i = 2
        maxargs = 0
        argvals = {-4611686018221590720, 585128600821550712, 0, 11893455932358661, -6917529027498947280, 0, 730291156608628544, 585128914354163352}
        fun = -6917529027499401960
        val = -4611686018221590688
        original_fun = 24327
        original_args = -4611686018250779840
        funcar = 883892175030905668
        gcpro1 = {
          next = 0xc443740, 
          var = 0xc0000000, 
          nvars = -1075589512
        }
        gcpro2 = {
          next = 0xc443740, 
          var = 0xc0000000, 
          nvars = -1075589512
        }
        gcpro3 = {
          next = 0xa0000001, 
          var = 0x0, 
          nvars = 142110056
        }
        count = 11
#25 0x082c5634 in Fprogn (body=-4611686018250779808) at eval.c:445
        val = -4611686018221590688
        gcpro1 = {
          next = 0xc0000000, 
          var = 0xa153e20, 
          nvars = -1073741824
        }
#26 0x082c7f1f in Flet (args=-4611686018250781040) at eval.c:966
        temps = 0xbfe3cf00
        tem = 0
        lexenv = -4611686018221590720
        elt = 3221225472
        count = 10
        argnum = 2
        gcpro1 = {
          next = 0xa0000000, 
          var = 0x5, 
          nvars = 2
        }
        gcpro2 = {
          next = 0xa0000000, 
          var = 0x5, 
          nvars = 2
        }
        sa_avail = 16368
        sa_count = 10
        sa_must_free = false
#27 0x082cc4e1 in eval_sub (form=-4611686018250781024) at eval.c:2131
        numargs = 4611686018427387907
        args_left = -4611686018250781040
        i = 3
        maxargs = 0
        argvals = {-4611686018258223584, 585128600821551336, 0, 11893455932358661, -6917529027498947280, 0, 730291156402831360, 585128914354163976}
        fun = -6917529027499402080
        val = 0
        original_fun = 3295
        original_args = -4611686018250781040
        funcar = 726555222192089924
        gcpro1 = {
          next = 0xa153e20, 
          var = 0xc0000000, 
          nvars = -1075588888
        }
        gcpro2 = {
          next = 0xa153e20, 
          var = 0xc0000000, 
          nvars = -1075588888
        }
        gcpro3 = {
          next = 0xa0000001, 
          var = 0x0, 
          nvars = 142110056
        }
        count = 9
#28 0x082c5634 in Fprogn (body=-4611686018250780944) at eval.c:445
        val = 0
        gcpro1 = {
          next = 0xc0000000, 
          var = 0x0, 
          nvars = 0
        }
#29 0x082cfebd in funcall_lambda (fun=-4611686018250780848, nargs=0, arg_vector=0xbfe3d688) at eval.c:2944
        val = 585119637224804856
        syms_left = 0
        next = 585128914354164216
        lexenv = -4611686018258223584
        count = 8
        i = 0
        optional = false
        rest = false
#30 0x082cf190 in Ffuncall (nargs=1, args=0xbfe3d680) at eval.c:2779
        fun = -4611686018250780832
        original_fun = 4249980
        funcar = 1515
        numargs = 0
        lisp_numargs = -6917529027499402560
        val = 0
        internal_args = 0x0
        count = 7
#31 0x082c09df in Ffuncall_interactively (nargs=1, args=0xbfe3d680) at callint.c:252
        speccount = 6
#32 0x082ce871 in Ffuncall (nargs=2, args=0xbfe3d678) at eval.c:2698
        fun = -6917529027499402560
        original_fun = 2600
        funcar = 0
        numargs = 1
        lisp_numargs = 0
        val = 0
        internal_args = 0x81ecb5c <make_lisp_symbol+63>
        count = 5
#33 0x082cd357 in Fapply (nargs=3, args=0xbfe3d678) at eval.c:2289
        i = 136235868
        numargs = 0
        funcall_nargs = 2600
        funcall_args = 0x0
        spread_arg = 0
        fun = 2600
        retval = 585128914354164952
        sa_avail = 16384
        sa_count = 5
        sa_must_free = false
#34 0x082c11b7 in Fcall_interactively (function=4249980, record_flag=0, keys=-6917529027498819184) at callint.c:394
        input = 0
        funval = -4611686018250780832
        events = 199
        result = 5
        args = 0xbfe3d598
        visargs = 0xa0000000
        specs = 0
        filter_specs = 0
        teml = -6917529027502302760
        up_event = 0
        enable = 0
        sa_avail = 16384
        sa_count = 5
        sa_must_free = false
        speccount = 5
        next_event = 138779096
        prefix_arg = 0
        string = 0x0
        tem = 0xa <error: Cannot access memory at address 0xa>
        varies = 0x5 <error: Cannot access memory at address 0x5>
        i = 136233781
        nargs = 138779096
        mark = -1610612736
        arg_from_tty = false
        gcpro1 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 4249980
        }
        gcpro2 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 4249980
        }
        gcpro3 = {
          next = 0x81ec335 <XSYMBOL+44>, 
          var = 0x871dad8 <Scall_interactively>, 
          nvars = 141679320
        }
        gcpro4 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 4249980
        }
        gcpro5 = {
          next = 0xa28, 
          var = 0x0, 
          nvars = 4249980
        }
        key_count = 1
        record_then_fail = false
        save_this_command = 4249980
        save_last_command = 413460
        save_this_original_command = 4249980
        save_real_this_command = 4249980
#35 0x082cea90 in Ffuncall (nargs=4, args=0xbfe3d828) at eval.c:2725
        internal_argbuf = {4249980, 585128600821553064, 0, 585128914354165672, 758521598624427368, 0, -4611686018250780832, 585128914354165704}
        fun = -6917529027499402536
        original_fun = 25309
        funcar = 610358042952728576
        numargs = 3
        lisp_numargs = 0
        val = 0
        internal_args = 0xbfe3d830
        count = 4
#36 0x0832de07 in exec_byte_code (bytestr=-9223372036715331164, vector=-6917529027501637196, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=1, args=0xbfe3ddd0) at bytecode.c:919
        targets = {0x8331fe6 <exec_byte_code+21004>, 0x8332087 <exec_byte_code+21165>, 0x8332089 <exec_byte_code+21167>, 0x833208b <exec_byte_code+21169>, 0x833208d <exec_byte_code+21171>, 0x833208d <exec_byte_code+21171>, 0x83320ec <exec_byte_code+21266>, 0x8332154 <exec_byte_code+21370>, 
          0x832d36e <exec_byte_code+1428>, 0x832d370 <exec_byte_code+1430>, 0x832d372 <exec_byte_code+1432>, 0x832d374 <exec_byte_code+1434>, 0x832d376 <exec_byte_code+1436>, 0x832d376 <exec_byte_code+1436>, 0x832d37f <exec_byte_code+1445>, 0x832d33f <exec_byte_code+1381>, 0x832da56 <exec_byte_code+3196>, 
          0x832da58 <exec_byte_code+3198>, 0x832da5a <exec_byte_code+3200>, 0x832da5c <exec_byte_code+3202>, 0x832da5e <exec_byte_code+3204>, 0x832da5e <exec_byte_code+3204>, 0x832da96 <exec_byte_code+3260>, 0x832da67 <exec_byte_code+3213>, 0x832dd0e <exec_byte_code+3892>, 0x832dd10 <exec_byte_code+3894>, 
          0x832dd12 <exec_byte_code+3896>, 0x832dd14 <exec_byte_code+3898>, 0x832dd16 <exec_byte_code+3900>, 0x832dd16 <exec_byte_code+3900>, 0x832dcc8 <exec_byte_code+3822>, 0x832dcdf <exec_byte_code+3845>, 0x832ddcc <exec_byte_code+4082>, 0x832ddce <exec_byte_code+4084>, 0x832ddd0 <exec_byte_code+4086>, 
          0x832ddd2 <exec_byte_code+4088>, 0x832ddd4 <exec_byte_code+4090>, 0x832ddd4 <exec_byte_code+4090>, 0x832dd86 <exec_byte_code+4012>, 0x832dd9d <exec_byte_code+4035>, 0x832de7f <exec_byte_code+4261>, 0x832de81 <exec_byte_code+4263>, 0x832de83 <exec_byte_code+4265>, 0x832de85 <exec_byte_code+4267>, 
          0x832de87 <exec_byte_code+4269>, 0x832de87 <exec_byte_code+4269>, 0x832de39 <exec_byte_code+4191>, 0x832de50 <exec_byte_code+4214>, 0x832f23f <exec_byte_code+9317>, 0x832eff8 <exec_byte_code+8734>, 0x832efec <exec_byte_code+8722>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 
          0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x832f4d7 <exec_byte_code+9981>, 0x832f689 <exec_byte_code+10415>, 0x832f6f0 <exec_byte_code+10518>, 0x832f758 <exec_byte_code+10622>, 0x832f7bf <exec_byte_code+10725>, 0x832d814 <exec_byte_code+2618>, 
          0x832d89f <exec_byte_code+2757>, 0x832f84a <exec_byte_code+10864>, 0x832d6db <exec_byte_code+2305>, 0x832d91c <exec_byte_code+2882>, 0x832f8b9 <exec_byte_code+10975>, 0x832f936 <exec_byte_code+11100>, 0x832f97f <exec_byte_code+11173>, 0x832f9fc <exec_byte_code+11298>, 0x832fa4b <exec_byte_code+11377>, 
          0x832fb12 <exec_byte_code+11576>, 0x832fb5b <exec_byte_code+11649>, 0x832fbd8 <exec_byte_code+11774>, 0x832fc89 <exec_byte_code+11951>, 0x832fcd2 <exec_byte_code+12024>, 0x832fd1b <exec_byte_code+12097>, 0x832fd98 <exec_byte_code+12222>, 0x832fe15 <exec_byte_code+12347>, 
          0x832fe92 <exec_byte_code+12472>, 0x832ff43 <exec_byte_code+12649>, 0x832ff92 <exec_byte_code+12728>, 0x832ffe1 <exec_byte_code+12807>, 0x83300a8 <exec_byte_code+13006>, 0x8330178 <exec_byte_code+13214>, 0x8330248 <exec_byte_code+13422>, 0x8330612 <exec_byte_code+14392>, 
          0x8330697 <exec_byte_code+14525>, 0x833071c <exec_byte_code+14658>, 0x83307a1 <exec_byte_code+14791>, 0x8330826 <exec_byte_code+14924>, 0x8330875 <exec_byte_code+15003>, 0x8330944 <exec_byte_code+15210>, 0x8330993 <exec_byte_code+15289>, 0x83309e2 <exec_byte_code+15368>, 
          0x8330a31 <exec_byte_code+15447>, 0x8330b4c <exec_byte_code+15730>, 0x832ee5a <exec_byte_code+8320>, 0x8330bb5 <exec_byte_code+15835>, 0x8330bfe <exec_byte_code+15908>, 0x8330cbe <exec_byte_code+16100>, 0x8330d27 <exec_byte_code+16205>, 0x8330d90 <exec_byte_code+16310>, 0x8330dd9 <exec_byte_code+16383>, 
          0x8330e2f <exec_byte_code+16469>, 0x8330e85 <exec_byte_code+16555>, 0x8330ee8 <exec_byte_code+16654>, 0x8331fe6 <exec_byte_code+21004>, 0x8330f45 <exec_byte_code+16747>, 0x8330f83 <exec_byte_code+16809>, 0x8330fc1 <exec_byte_code+16871>, 0x8330fff <exec_byte_code+16933>, 
          0x833103d <exec_byte_code+16995>, 0x833107b <exec_byte_code+17057>, 0x832ee5a <exec_byte_code+8320>, 0x8331fe6 <exec_byte_code+21004>, 0x83310c4 <exec_byte_code+17130>, 0x8331115 <exec_byte_code+17211>, 0x833115e <exec_byte_code+17284>, 0x83311a7 <exec_byte_code+17357>, 0x8331224 <exec_byte_code+17482>, 
          0x83312a1 <exec_byte_code+17607>, 0x83312ea <exec_byte_code+17680>, 0x8331459 <exec_byte_code+18047>, 0x83314d6 <exec_byte_code+18172>, 0x8331553 <exec_byte_code+18297>, 0x83315d0 <exec_byte_code+18422>, 0x833160e <exec_byte_code+18484>, 0x8331fe6 <exec_byte_code+21004>, 0x832ed9c <exec_byte_code+8130>, 
          0x832df29 <exec_byte_code+4431>, 0x832d525 <exec_byte_code+1867>, 0x832e09b <exec_byte_code+4801>, 0x832e251 <exec_byte_code+5239>, 0x832e3f3 <exec_byte_code+5657>, 0x832ed2a <exec_byte_code+8016>, 0x832ed6e <exec_byte_code+8084>, 0x832dc6c <exec_byte_code+3730>, 0x832ee1a <exec_byte_code+8256>, 
          0x832ee86 <exec_byte_code+8364>, 0x832ef27 <exec_byte_code+8525>, 0x832ef67 <exec_byte_code+8589>, 0x832f273 <exec_byte_code+9369>, 0x832f316 <exec_byte_code+9532>, 0x832f3c7 <exec_byte_code+9709>, 0x832f43a <exec_byte_code+9824>, 0x832dee0 <exec_byte_code+4358>, 0x8331657 <exec_byte_code+18557>, 
          0x8331708 <exec_byte_code+18734>, 0x8331751 <exec_byte_code+18807>, 0x833179a <exec_byte_code+18880>, 0x83317e3 <exec_byte_code+18953>, 0x833182c <exec_byte_code+19026>, 0x83318a9 <exec_byte_code+19151>, 0x833191a <exec_byte_code+19264>, 0x833198b <exec_byte_code+19377>, 
          0x83319fc <exec_byte_code+19490>, 0x8331c0e <exec_byte_code+20020>, 0x8331c7f <exec_byte_code+20133>, 0x8331cf0 <exec_byte_code+20246>, 0x8331d39 <exec_byte_code+20319>, 0x8331daa <exec_byte_code+20432>, 0x8331e1b <exec_byte_code+20545>, 0x8331e70 <exec_byte_code+20630>, 
          0x8331ec5 <exec_byte_code+20715>, 0x8330a80 <exec_byte_code+15526>, 0x8330acf <exec_byte_code+15605>, 0x8331f14 <exec_byte_code+20794>, 0x8331f7b <exec_byte_code+20897>, 0x8331fe6 <exec_byte_code+21004>, 0x832e595 <exec_byte_code+6075>, 0x832e6e0 <exec_byte_code+6406>, 0x832e878 <exec_byte_code+6814>, 
          0x832ea10 <exec_byte_code+7222>, 0x832eb9d <exec_byte_code+7619>, 0x832fa9a <exec_byte_code+11456>, 0x8330030 <exec_byte_code+12886>, 0x8330c46 <exec_byte_code+15980>, 0x83321de <exec_byte_code+21508>, 0x8332248 <exec_byte_code+21614>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 
          0x83322d4 <exec_byte_code+21754>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 
          0x8331fe6 <exec_byte_code+21004>, 0x8331fe6 <exec_byte_code+21004>, 0x8332362 <exec_byte_code+21896> <repeats 64 times>}
        count = 4
        op = 3
        vectorp = 0x84fc1b8 <pure+658520>
        stack = {
          pc = 0x86cdb14 <pure+2565556> "\006\006\071\203\233", 
          byte_string = -9223372036715331164, 
          byte_string_start = 0x86cdaa0 <pure+2565440> "\306\020\211?\205\f", 
          next = 0x0
        }
        top = 0xbfe3d828
        result = 585128914354166312
        type = CATCHER
#37 0x082cf967 in funcall_lambda (fun=-6917529027501637260, nargs=1, arg_vector=0xbfe3ddc8) at eval.c:2885
        val = 585119634005426181
        syms_left = 4611686018427388929
        next = 585167878297476216
        lexenv = 0
        count = 4
        i = 139444596
        optional = 30
        rest = 8
#38 0x082cf00c in Ffuncall (nargs=2, args=0xbfe3ddc0) at eval.c:2767
        fun = -6917529027501637260
        original_fun = 1600
        funcar = 0
        numargs = 1
        lisp_numargs = 1600
        val = 0
        internal_args = 0x81ecb5c <make_lisp_symbol+63>
        count = 3
#39 0x082ce110 in call1 (fn=1600, arg1=4249980) at eval.c:2573
No locals.
#40 0x081f9fcf in command_loop_1 () at keyboard.c:1521
        scount = 2
        cmd = 4249980
        keybuf = {4611686018561605690, 585128914354167416, 609933476987694440, 610463355550851016, 0, 589140164700528376, 0, 0, -6917529027498971800, 769627748254613509, 0, -9223372036651192280, 0, 610463355550826496, 0, 585119637224808200, 0, 0, 610463355692961072, 0, 2060, 610358042952728576, 8847632629762, 
          585128600821555000, 0, -4611686018427387904, 0, 0, 3221225472, 585128914354167640}
        i = 1
        prev_modiff = 7888
        prev_buffer = 0xa2283f0
        already_adjusted = false
#41 0x082c9709 in internal_condition_case (bfun=0x81f942b <command_loop_1>, handlers=2060, hfun=0x81f866c <cmd_error>) at eval.c:1348
        val = 585119637224808392
        c = 0x8f24850
#42 0x081f8ec2 in command_loop_2 (ignore=0) at keyboard.c:1139
        val = 0
#43 0x082c8755 in internal_catch (tag=4885, func=0x81f8e86 <command_loop_2>, arg=0) at eval.c:1108
        val = 142149136
        c = 0x8f24770
#44 0x081f8e40 in command_loop () at keyboard.c:1118
No locals.
#45 0x081f807f in recursive_edit_1 () at keyboard.c:728
        count = 1
        val = 0
#46 0x081f8340 in Frecursive_edit () at keyboard.c:799
        count = 0
        buffer = 0
#47 0x081f593d in main (argc=2, argv=0xbfe3e204) at emacs.c:1626
        dummy = -5304747776754711571
        stack_bottom_variable = -62 '\302'
        do_initial_setlocale = true
        dumping = false
        skip_args = 1
        rlim = {
          rlim_cur = 8388608, 
          rlim_max = 18446744073709551615
        }
        no_loadup = false
        junk = 0x0
        dname_arg = 0x0
        ch_to_dir = 0x0
        original_pwd = 0x0

Lisp Backtrace:
"looking-at" (0xbfe3bd20)
"eval" (0xbfe3bf10)
"pp-eval-expression" (0xbfe3c7c8)
"funcall-interactively" (0xbfe3c7c0)
"call-interactively" (0xbfe3c8f0)
"if" (0xbfe3ca90)
"progn" (0xbfe3cc40)
"unwind-protect" (0xbfe3cde0)
"let" (0xbfe3d050)
"yf/eval-expression-with-paredit" (0xbfe3d688)
"funcall-interactively" (0xbfe3d680)
"call-interactively" (0xbfe3d830)
"command-execute" (0xbfe3ddc8)


In GNU Emacs 25.0.50.2 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2015-03-23 on localhost
Repository revision: a50c95dbd24eb0e56ad0eb0f8ff2c013b5f92285
Windowing system distributor `The X.Org Foundation', version 11.0.11500000
System Description:	Gentoo Base System release 2.2

Configured using:
 `configure --with-x-toolkit=lucid --enable-checking --with-wide-int
 'CFLAGS= -O0 -g3''

Configured features:
XAW3D XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF
GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE LIBOTF XFT ZLIB

Important settings:
  value of $LANG: fr_FR.UTF-8
  locale-coding-system: utf-8-unix

-- 
Nicolas Richard





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#20191: Acknowledgement (25.0.50; SIGABRT in re_match_2_internal)
       [not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
@ 2015-03-24 16:22   ` Nicolas Richard
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Richard @ 2015-03-24 16:22 UTC (permalink / raw)
  To: 20191

The problem also occurs with the emacs-24 branch.






^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
  2015-03-24 15:14 bug#20191: 25.0.50; SIGABRT in re_match_2_internal Nicolas Richard
       [not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
@ 2015-03-24 17:25 ` Paul Eggert
  2015-03-25  6:45   ` Nicolas Richard
  1 sibling, 1 reply; 8+ messages in thread
From: Paul Eggert @ 2015-03-24 17:25 UTC (permalink / raw)
  To: Nicolas Richard; +Cc: 20191

It would help if we could reproduce it.

What happens if you copy the buffer in question ("* Guidance 
2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n...") to a temporary 
file FOO, edit it with "emacs -Q FOO", and then run M-x (looking-at "^[ 
\t]*:PROPERTIES:[ \t]*\n\\(?:[ \t]*:\\S-+:\\(?: .*\\)?[ \t]*\n\\)*[ 
\t]*:END:[ \t]*$") RET ?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
  2015-03-24 17:25 ` bug#20191: 25.0.50; SIGABRT in re_match_2_internal Paul Eggert
@ 2015-03-25  6:45   ` Nicolas Richard
  2015-03-26 17:49     ` Paul Eggert
  0 siblings, 1 reply; 8+ messages in thread
From: Nicolas Richard @ 2015-03-25  6:45 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Nicolas Richard, 20191

Paul Eggert <eggert@cs.ucla.edu> writes:
> It would help if we could reproduce it.

I'll try.

> What happens if you copy the buffer in question ("* Guidance
> 2013-2014\n:PROPERTIES:\n:ATTACH_DIR_INHERIT: t\n...") to a temporary
> file FOO, edit it with "emacs -Q FOO", and then run M-x (looking-at
> "^[ \t]*:PROPERTIES:[ \t]*\n\\(?:[ \t]*:\\S-+:\\(?: .*\\)?[
> \t]*\n\\)*[ \t]*:END:[ \t]*$") RET ?

It runs fast and I can't trigger the bug.

-- 
Nicolas





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
  2015-03-25  6:45   ` Nicolas Richard
@ 2015-03-26 17:49     ` Paul Eggert
  2015-03-27 16:00       ` Nicolas Richard
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Eggert @ 2015-03-26 17:49 UTC (permalink / raw)
  To: Nicolas Richard; +Cc: 20191

On 03/24/2015 11:45 PM, Nicolas Richard wrote:
> It runs fast and I can't trigger the bug.
Hmm, well, that's not good.  How about if you recompile with -DDEBUG, 
run Emacs under a debugger and set the static variable 'debug' in 
regex.c to a positive value, and see what Emacs outputs to stderr?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
  2015-03-26 17:49     ` Paul Eggert
@ 2015-03-27 16:00       ` Nicolas Richard
  2015-03-27 19:37         ` Paul Eggert
  0 siblings, 1 reply; 8+ messages in thread
From: Nicolas Richard @ 2015-03-27 16:00 UTC (permalink / raw)
  To: Paul Eggert; +Cc: Nicolas Richard, 20191

[-- Attachment #1: Type: text/plain, Size: 26139 bytes --]

Le 26/03/2015 18:49, Paul Eggert a écrit :
> On 03/24/2015 11:45 PM, Nicolas Richard wrote:
>> It runs fast and I can't trigger the bug.

> Hmm, well, that's not good.  How about if you recompile with -DDEBUG,
> run Emacs under a debugger and set the static variable 'debug' in
> regex.c to a positive value, and see what Emacs outputs to stderr?

Adding -DDEBUG makes an error. I had to download a file not part of emacs as suggested here:
https://lists.gnu.org/archive/html/bug-gnu-emacs/2012-04/msg01236.html

But even then, I get other errors and a failure :

> In file included from etags.c:180:0:
> ../src/chkmalloc.h:8:14: erreur: conflicting types for ‘calloc’
>  extern void *calloc(int, int), *malloc (int), *realloc (void *, int);
>               ^
> ../src/chkmalloc.h:8:33: erreur: conflicting types for ‘malloc’
>  extern void *calloc(int, int), *malloc (int), *realloc (void *, int);
>                                  ^
> ../src/chkmalloc.h:8:48: erreur: conflicting types for ‘realloc’
>  extern void *calloc(int, int), *malloc (int), *realloc (void *, int);
>                                                 ^
>   CCLD     ctags
> Makefile:364: recipe for target 'etags' failed

Should I report either of these as a bug ?

Anyway, I changed "#if DEBUG" to "#if 0" in etags.c to avoiding loading
chkmalloc.h at all, and I can now compile but that option outputs a lot
of things to stderr (especially since my file is rather big).

But the good news is that it was so hard to get right that I ended up
looking for an actual reproducible recipe, and succeeded :

1. I have the attached files test.gro and test.el in a directory

2. I run emacs as follows from that directory :
/path/to/emacs -q -f toggle-debug-on-quit ./test.gro --eval '(message "Buffer loaded")' -l ./test.el

3. When the message "Buffer loaded" is on the screen, I hit C-g

4. I get a backtrace:

Debugger entered--Lisp error: (quit)
  looking-at("^[ 	]*:PROPERTIES:[ 	]*\n\\(?:[ 	]*:\\S-+:\\(?: .*\\)?[ 	]*\n\\)*[ 	]*:END:[ 	]*$")
  eval-buffer(#<buffer  *load*> nil "/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" nil t)  ; Reading at buffer position 125
  load-with-code-conversion("/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" "/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" nil t)
  load("/home/youngfrog/tmp/org-mode/repro-re-match-2-internal/test.el" nil t)
  command-line-1(("-f" "toggle-debug-on-quit" "-l" "org" "./test.gro" "--eval" "(message \"Buffer loaded\")" "-l" "./test.el"))
  command-line()
  normal-top-level()

5. hit c in the backtrace window

I then get a core dump.

Please note that if, instead, I don't mention "-l ./test.el" on the
command line but use M-x load-file RET test.el RET after emacs is
loaded (and proceed) the result is not a core dump but an infloop.

Here's a debugging session of that infloop. Since it's the gdb log and
that apparently doesn't record my commands, here's what I did :
- hit C-z in gdb
- ask for a backtrace
- say "finish" until it doesn't return (happens in re_match_2_internal)
- hit C-z again
- another backtrace
- finish until I get back to re_match_2_internal
- say 'next' repeatedly until boredom

I hope this is useful.

Program received signal SIGTSTP, Stopped (user).
XSYMBOL (a=5) at lisp.h:900
900	{
#0  XSYMBOL (a=5) at lisp.h:900
#1  0x081ecb9c in make_lisp_symbol (sym=0x8789d88) at lisp.h:1069
#2  0x081ecbe5 in builtin_lisp_symbol (index=0) at lisp.h:1076
#3  0x081edbf2 in CHAR_TABLE_REF_ASCII (ct=-6917529027498834576, idx=32) at lisp.h:1641
#4  0x081edc8e in CHAR_TABLE_REF (ct=-6917529027498834576, idx=32) at lisp.h:1656
#5  0x081f35fe in syntax_property_entry (c=32, via_property=true) at syntax.h:96
#6  0x081f365d in syntax_property_with_flags (c=32, via_property=true) at syntax.h:111
#7  0x081f3729 in syntax_property (c=32, via_property=true) at syntax.h:123
#8  0x08294827 in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size1=0, 
    string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:6161
#9  0x0828e505 in re_match_2 (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size1=0, 
    string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:4917
#10 0x08278ec8 in looking_at_1 (string=-9223372036703832584, posix=false) at search.c:313
#11 0x08279084 in Flooking_at (regexp=-9223372036703832584) at search.c:348
#12 0x082ceec9 in eval_sub (form=-4611686018278169024) at eval.c:2181
#13 0x08313d35 in readevalloop_eager_expand_eval (val=-4611686018278169024, macroexpand=44021) at lread.c:1756
#14 0x08313c6b in readevalloop_eager_expand_eval (val=4611686018427387914, macroexpand=44021) at lread.c:1751
#15 0x083146d5 in readevalloop (readcharfun=-6917529027490052992, stream=0x0, sourcename=-9223372036703832392, printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#16 0x08314baa in Feval_buffer (buffer=-6917529027490052992, printflag=0, filename=-9223372036703809768, unibyte=0, do_allow_print=4740) at lread.c:1990
#17 0x082d1145 in Ffuncall (nargs=6, args=0xbfffbff8) at eval.c:2734
#18 0x083303d3 in exec_byte_code (bytestr=-9223372036715856980, vector=-6917529027502163012, maxdepth=4611686018427387910, args_template=0, nargs=0, args=0x0) at bytecode.c:919
#19 0x082d2502 in funcall_lambda (fun=-6917529027502163156, nargs=4, arg_vector=0xbfffc5b0) at eval.c:2951
#20 0x082d155f in Ffuncall (nargs=5, args=0xbfffc5a8) at eval.c:2767
#21 0x082d07d4 in call4 (fn=434936, arg1=-9223372036703809768, arg2=-9223372036703809768, arg3=0, arg4=0) at eval.c:2598
#22 0x08311ca3 in Fload (file=-9223372036703809752, noerror=0, nomessage=0, nosuffix=4740, must_suffix=0) at lread.c:1268
#23 0x082d1145 in Ffuncall (nargs=5, args=0xbfffc920) at eval.c:2734
#24 0x083303d3 in exec_byte_code (bytestr=-9223372036715704012, vector=-6917529027502010044, maxdepth=4611686018427387910, args_template=4611686018427388161, nargs=1, args=0xbfffd200) at bytecode.c:919
#25 0x082d1eba in funcall_lambda (fun=-6917529027502010116, nargs=1, arg_vector=0xbfffd1f8) at eval.c:2885
#26 0x082d155f in Ffuncall (nargs=2, args=0xbfffd1f0) at eval.c:2767
#27 0x082c2f32 in Ffuncall_interactively (nargs=2, args=0xbfffd1f0) at callint.c:252
#28 0x082d0dc4 in Ffuncall (nargs=3, args=0xbfffd1e8) at eval.c:2698
#29 0x082cf939 in Fapply (nargs=3, args=0xbfffd1e8) at eval.c:2293
#30 0x082c370a in Fcall_interactively (function=421597, record_flag=577992, keys=-6917529027498806896) at callint.c:394
#31 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffd398) at eval.c:2725
#32 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=2, args=0xbfffd978) at bytecode.c:919
#33 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=2, arg_vector=0xbfffd968) at eval.c:2885
#34 0x082d155f in Ffuncall (nargs=3, args=0xbfffd960) at eval.c:2767
#35 0x083303d3 in exec_byte_code (bytestr=-9223372036715319484, vector=-6917529027501625516, maxdepth=4611686018427387919, args_template=4611686018427388673, nargs=3, args=0xbfffe078) at bytecode.c:919
#36 0x082d1eba in funcall_lambda (fun=-6917529027501625588, nargs=3, arg_vector=0xbfffe060) at eval.c:2885
#37 0x082d155f in Ffuncall (nargs=4, args=0xbfffe058) at eval.c:2767
#38 0x082c2f32 in Ffuncall_interactively (nargs=4, args=0xbfffe058) at callint.c:252
#39 0x082d0dc4 in Ffuncall (nargs=5, args=0xbfffe050) at eval.c:2698
#40 0x082cfdb3 in Fapply (nargs=3, args=0xbfffe288) at eval.c:2337
#41 0x082c370a in Fcall_interactively (function=42875, record_flag=0, keys=-6917529027498806896) at callint.c:394
#42 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffe438) at eval.c:2725
#43 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=1, args=0xbfffe9e0) at bytecode.c:919
#44 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=1, arg_vector=0xbfffe9d8) at eval.c:2885
#45 0x082d155f in Ffuncall (nargs=2, args=0xbfffe9d0) at eval.c:2767
#46 0x082d0663 in call1 (fn=1600, arg1=42875) at eval.c:2573
#47 0x081fa00f in command_loop_1 () at keyboard.c:1521
#48 0x082cbc5c in internal_condition_case (bfun=0x81f946b <command_loop_1>, handlers=2060, hfun=0x81f86ac <cmd_error>) at eval.c:1348
#49 0x081f8f02 in command_loop_2 (ignore=0) at keyboard.c:1139
#50 0x082caca8 in internal_catch (tag=4885, func=0x81f8ec6 <command_loop_2>, arg=0) at eval.c:1108
#51 0x081f8e80 in command_loop () at keyboard.c:1118
#52 0x081f80bf in recursive_edit_1 () at keyboard.c:728
#53 0x081f8380 in Frecursive_edit () at keyboard.c:799
#54 0x081f597d in main (argc=7, argv=0xbfffee14) at emacs.c:1626
Run till exit from #0  XSYMBOL (a=5) at lisp.h:900

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb4effb40 (LWP 5871)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0  0xffffe424 in __kernel_vsyscall ()

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb587db40 (LWP 5869)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0  0xffffe424 in __kernel_vsyscall ()

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb6330b40 (LWP 5867)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0  0xffffe424 in __kernel_vsyscall ()

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb66de880 (LWP 5863)]
XSYMBOL (a=5) at lisp.h:900
900	{
Run till exit from #0  XSYMBOL (a=5) at lisp.h:900
0x081ecb9c in make_lisp_symbol (sym=0x8789d88) at lisp.h:1069
1069	  eassert (XSYMBOL (a) == sym);
Value returned is $1 = (struct Lisp_Symbol *) 0x8789d88
Run till exit from #0  0x081ecb9c in make_lisp_symbol (sym=0x8789d88) at lisp.h:1069
builtin_lisp_symbol (index=0) at lisp.h:1077
1077	}
Value returned is $2 = 0
Run till exit from #0  builtin_lisp_symbol (index=0) at lisp.h:1077
0x081edbf2 in CHAR_TABLE_REF_ASCII (ct=-6917529027498834576, idx=32) at lisp.h:1641
1641	      if (NILP (val))
Value returned is $3 = 0
Run till exit from #0  0x081edbf2 in CHAR_TABLE_REF_ASCII (ct=-6917529027498834576, idx=32) at lisp.h:1641
0x081edc8e in CHAR_TABLE_REF (ct=-6917529027498834576, idx=32) at lisp.h:1656
1656		  : char_table_ref (ct, idx));
Value returned is $4 = -4611686018285161472
Run till exit from #0  0x081edc8e in CHAR_TABLE_REF (ct=-6917529027498834576, idx=32) at lisp.h:1656
syntax_property_entry (c=32, via_property=true) at syntax.h:94
94	    return (gl_state.use_global
Value returned is $5 = -4611686018285161472
Run till exit from #0  syntax_property_entry (c=32, via_property=true) at syntax.h:94
0x081f365d in syntax_property_with_flags (c=32, via_property=true) at syntax.h:111
111	  Lisp_Object ent = syntax_property_entry (c, via_property);
Value returned is $6 = -4611686018285161472
Run till exit from #0  0x081f365d in syntax_property_with_flags (c=32, via_property=true) at syntax.h:111
0x081f3729 in syntax_property (c=32, via_property=true) at syntax.h:123
123	  return syntax_property_with_flags (c, via_property) & 0xff;
Value returned is $7 = 0
Run till exit from #0  0x081f3729 in syntax_property (c=32, via_property=true) at syntax.h:123
0x08294827 in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size1=0, 
    string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:6161
6161		      if ((SYNTAX (c) != (enum syntaxcode) mcnt) ^ not)
Value returned is $8 = Swhitespace
Run till exit from #0  0x08294827 in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., 
    size1=0, string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:6161

Program received signal SIGTSTP, Stopped (user).
0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
919	{
#0  0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
#1  0x081eee2c in PSEUDOVECTORP (a=-6917529027492570744, code=14) at lisp.h:2553
#2  0x081eefdf in SUB_CHAR_TABLE_P (a=-6917529027492570744) at lisp.h:2612
#3  0x081edbad in CHAR_TABLE_REF_ASCII (ct=-6917529027493922824, idx=83) at lisp.h:1639
#4  0x081edc8e in CHAR_TABLE_REF (ct=-6917529027493922824, idx=83) at lisp.h:1656
#5  0x081f091b in char_table_translate (obj=-6917529027493922824, ch=83) at character.h:680
#6  0x0828f88e in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size1=0, 
    string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:5363
#7  0x0828e505 in re_match_2 (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size1=0, 
    string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:4917
#8  0x08278ec8 in looking_at_1 (string=-9223372036703832584, posix=false) at search.c:313
#9  0x08279084 in Flooking_at (regexp=-9223372036703832584) at search.c:348
#10 0x082ceec9 in eval_sub (form=-4611686018278169024) at eval.c:2181
#11 0x08313d35 in readevalloop_eager_expand_eval (val=-4611686018278169024, macroexpand=44021) at lread.c:1756
#12 0x08313c6b in readevalloop_eager_expand_eval (val=4611686018427387914, macroexpand=44021) at lread.c:1751
#13 0x083146d5 in readevalloop (readcharfun=-6917529027490052992, stream=0x0, sourcename=-9223372036703832392, printflag=false, unibyte=0, readfun=0, start=0, end=0) at lread.c:1927
#14 0x08314baa in Feval_buffer (buffer=-6917529027490052992, printflag=0, filename=-9223372036703809768, unibyte=0, do_allow_print=4740) at lread.c:1990
#15 0x082d1145 in Ffuncall (nargs=6, args=0xbfffbff8) at eval.c:2734
#16 0x083303d3 in exec_byte_code (bytestr=-9223372036715856980, vector=-6917529027502163012, maxdepth=4611686018427387910, args_template=0, nargs=0, args=0x0) at bytecode.c:919
#17 0x082d2502 in funcall_lambda (fun=-6917529027502163156, nargs=4, arg_vector=0xbfffc5b0) at eval.c:2951
#18 0x082d155f in Ffuncall (nargs=5, args=0xbfffc5a8) at eval.c:2767
#19 0x082d07d4 in call4 (fn=434936, arg1=-9223372036703809768, arg2=-9223372036703809768, arg3=0, arg4=0) at eval.c:2598
#20 0x08311ca3 in Fload (file=-9223372036703809752, noerror=0, nomessage=0, nosuffix=4740, must_suffix=0) at lread.c:1268
#21 0x082d1145 in Ffuncall (nargs=5, args=0xbfffc920) at eval.c:2734
#22 0x083303d3 in exec_byte_code (bytestr=-9223372036715704012, vector=-6917529027502010044, maxdepth=4611686018427387910, args_template=4611686018427388161, nargs=1, args=0xbfffd200) at bytecode.c:919
#23 0x082d1eba in funcall_lambda (fun=-6917529027502010116, nargs=1, arg_vector=0xbfffd1f8) at eval.c:2885
#24 0x082d155f in Ffuncall (nargs=2, args=0xbfffd1f0) at eval.c:2767
#25 0x082c2f32 in Ffuncall_interactively (nargs=2, args=0xbfffd1f0) at callint.c:252
#26 0x082d0dc4 in Ffuncall (nargs=3, args=0xbfffd1e8) at eval.c:2698
#27 0x082cf939 in Fapply (nargs=3, args=0xbfffd1e8) at eval.c:2293
#28 0x082c370a in Fcall_interactively (function=421597, record_flag=577992, keys=-6917529027498806896) at callint.c:394
#29 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffd398) at eval.c:2725
#30 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=2, args=0xbfffd978) at bytecode.c:919
#31 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=2, arg_vector=0xbfffd968) at eval.c:2885
#32 0x082d155f in Ffuncall (nargs=3, args=0xbfffd960) at eval.c:2767
#33 0x083303d3 in exec_byte_code (bytestr=-9223372036715319484, vector=-6917529027501625516, maxdepth=4611686018427387919, args_template=4611686018427388673, nargs=3, args=0xbfffe078) at bytecode.c:919
#34 0x082d1eba in funcall_lambda (fun=-6917529027501625588, nargs=3, arg_vector=0xbfffe060) at eval.c:2885
#35 0x082d155f in Ffuncall (nargs=4, args=0xbfffe058) at eval.c:2767
#36 0x082c2f32 in Ffuncall_interactively (nargs=4, args=0xbfffe058) at callint.c:252
#37 0x082d0dc4 in Ffuncall (nargs=5, args=0xbfffe050) at eval.c:2698
#38 0x082cfdb3 in Fapply (nargs=3, args=0xbfffe288) at eval.c:2337
#39 0x082c370a in Fcall_interactively (function=42875, record_flag=0, keys=-6917529027498806896) at callint.c:394
#40 0x082d0fe3 in Ffuncall (nargs=4, args=0xbfffe438) at eval.c:2725
#41 0x083303d3 in exec_byte_code (bytestr=-9223372036715318828, vector=-6917529027501624860, maxdepth=4611686018427387917, args_template=4611686018427388929, nargs=1, args=0xbfffe9e0) at bytecode.c:919
#42 0x082d1eba in funcall_lambda (fun=-6917529027501624924, nargs=1, arg_vector=0xbfffe9d8) at eval.c:2885
#43 0x082d155f in Ffuncall (nargs=2, args=0xbfffe9d0) at eval.c:2767
#44 0x082d0663 in call1 (fn=1600, arg1=42875) at eval.c:2573
#45 0x081fa00f in command_loop_1 () at keyboard.c:1521
#46 0x082cbc5c in internal_condition_case (bfun=0x81f946b <command_loop_1>, handlers=2060, hfun=0x81f86ac <cmd_error>) at eval.c:1348
#47 0x081f8f02 in command_loop_2 (ignore=0) at keyboard.c:1139
#48 0x082caca8 in internal_catch (tag=4885, func=0x81f8ec6 <command_loop_2>, arg=0) at eval.c:1108
#49 0x081f8e80 in command_loop () at keyboard.c:1118
#50 0x081f80bf in recursive_edit_1 () at keyboard.c:728
#51 0x081f8380 in Frecursive_edit () at keyboard.c:799
#52 0x081f597d in main (argc=7, argv=0xbfffee14) at emacs.c:1626
Run till exit from #0  0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb4effb40 (LWP 5871)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0  0xffffe424 in __kernel_vsyscall ()

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb587db40 (LWP 5869)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0  0xffffe424 in __kernel_vsyscall ()

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb6330b40 (LWP 5867)]
0xffffe424 in __kernel_vsyscall ()
Run till exit from #0  0xffffe424 in __kernel_vsyscall ()

Program received signal SIGTSTP, Stopped (user).
[Switching to Thread 0xb66de880 (LWP 5863)]
0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
919	{
Run till exit from #0  0x081ec3bc in XUNTAG (a=-6917529027492570744, type=5) at lisp.h:919
0x081eee2c in PSEUDOVECTORP (a=-6917529027492570744, code=14) at lisp.h:2553
2553	      struct vectorlike_header *h = XUNTAG (a, Lisp_Vectorlike);
Value returned is $9 = (void *) 0x8da1988
Run till exit from #0  0x081eee2c in PSEUDOVECTORP (a=-6917529027492570744, code=14) at lisp.h:2553
SUB_CHAR_TABLE_P (a=-6917529027492570744) at lisp.h:2613
2613	}
Value returned is $10 = true
Run till exit from #0  SUB_CHAR_TABLE_P (a=-6917529027492570744) at lisp.h:2613
0x081edbad in CHAR_TABLE_REF_ASCII (ct=-6917529027493922824, idx=83) at lisp.h:1639
1639	      val = (! SUB_CHAR_TABLE_P (tbl->ascii) ? tbl->ascii
Value returned is $11 = true
Run till exit from #0  0x081edbad in CHAR_TABLE_REF_ASCII (ct=-6917529027493922824, idx=83) at lisp.h:1639
0x081edc8e in CHAR_TABLE_REF (ct=-6917529027493922824, idx=83) at lisp.h:1656
1656		  : char_table_ref (ct, idx));
Value returned is $12 = 4611686018427388019
Run till exit from #0  0x081edc8e in CHAR_TABLE_REF (ct=-6917529027493922824, idx=83) at lisp.h:1656
0x081f091b in char_table_translate (obj=-6917529027493922824, ch=83) at character.h:680
680	  obj = CHAR_TABLE_REF (obj, ch);
Value returned is $13 = 4611686018427388019
Run till exit from #0  0x081f091b in char_table_translate (obj=-6917529027493922824, ch=83) at character.h:680
0x0828f88e in re_match_2_internal (bufp=0x876f7d4, string1=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size1=0, 
    string2=0x8ff401f "**** foo\n:PROPERTIES:\n:BIOL:     \n:CHIM:     2 (BA2)\n:ECON:     \n:GEOG:     \n:GEOL:     \n:INFO:     \n:INGE:     \n:IRBI:     \n:MATH:     1\n:PHAR:     \n:PHYS:     \n:SCIE:     2\n:campus:   PL\n:commentair"..., size2=234, pos=9, regs=0x876fe24, stop=234) at regex.c:5363
5363			if (TRANSLATE (buf_ch) != pat_ch)
Value returned is $14 = 115
5365			    d = dfail;
5366			    goto fail;
6217	      IMMEDIATE_QUIT_CHECK;
6218	      if (!FAIL_STACK_EMPTY ())
6222		  DEBUG_PRINT ("\nFAIL:\n");
6223		  POP_FAILURE_POINT (str, pat);
6224		  switch (*pat++)
6238		      d = str;
6240		      EXTRACT_NUMBER_AND_INCR (mcnt, pat);
6241		      p = pat + mcnt;
6242		      break;
6252		  assert (p >= bufp->buffer && p <= pend);
6254		  if (d >= string1 && d <= end1)
6259	    } /* for (;;) */
5134	      DEBUG_PRINT ("\n%p: ", p);
5136	      if (p == pend)
5297	      switch (*p++)
5313		  mcnt = *p++;
5314		  DEBUG_PRINT ("EXECUTING exactn %d.\n", mcnt);
5317		  dfail = d;
5347		  if (target_multibyte)
5353			PREFETCH ();
5354			if (multibyte)
5358			    pat_ch = RE_CHAR_TO_MULTIBYTE (*p);
5359			    pat_charlen = 1;
5361			buf_ch = STRING_CHAR_AND_LENGTH (d, buf_charlen);
5363			if (TRANSLATE (buf_ch) != pat_ch)
5365			    d = dfail;
5366			    goto fail;
6217	      IMMEDIATE_QUIT_CHECK;
6218	      if (!FAIL_STACK_EMPTY ())
6222		  DEBUG_PRINT ("\nFAIL:\n");
6223		  POP_FAILURE_POINT (str, pat);
6224		  switch (*pat++)
6238		      d = str;
6240		      EXTRACT_NUMBER_AND_INCR (mcnt, pat);
6241		      p = pat + mcnt;
6242		      break;
6252		  assert (p >= bufp->buffer && p <= pend);
6254		  if (d >= string1 && d <= end1)
6259	    } /* for (;;) */
5134	      DEBUG_PRINT ("\n%p: ", p);
5136	      if (p == pend)
5297	      switch (*p++)
5313		  mcnt = *p++;
5314		  DEBUG_PRINT ("EXECUTING exactn %d.\n", mcnt);
5317		  dfail = d;
5347		  if (target_multibyte)
5353			PREFETCH ();
5354			if (multibyte)
5358			    pat_ch = RE_CHAR_TO_MULTIBYTE (*p);
5359			    pat_charlen = 1;
5361			buf_ch = STRING_CHAR_AND_LENGTH (d, buf_charlen);
5363			if (TRANSLATE (buf_ch) != pat_ch)
5365			    d = dfail;
5366			    goto fail;
6217	      IMMEDIATE_QUIT_CHECK;
6218	      if (!FAIL_STACK_EMPTY ())
6222		  DEBUG_PRINT ("\nFAIL:\n");
6223		  POP_FAILURE_POINT (str, pat);
6224		  switch (*pat++)
6238		      d = str;
6240		      EXTRACT_NUMBER_AND_INCR (mcnt, pat);
6241		      p = pat + mcnt;
6242		      break;
6252		  assert (p >= bufp->buffer && p <= pend);
6254		  if (d >= string1 && d <= end1)
6259	    } /* for (;;) */
5134	      DEBUG_PRINT ("\n%p: ", p);
5136	      if (p == pend)
5297	      switch (*p++)
5728		  EXTRACT_NUMBER_AND_INCR (mcnt, p);
5729		  DEBUG_PRINT ("EXECUTING on_failure_keep_string_jump %d (to %p):\n",
5732		  PUSH_FAILURE_POINT (p - 3, NULL);
5733		  break;
6212	      continue;  /* Successfully executed one pattern command; keep going.  */
6259	    } /* for (;;) */
5134	      DEBUG_PRINT ("\n%p: ", p);
5136	      if (p == pend)
5297	      switch (*p++)
5443		    boolean not = (re_opcode_t) *(p - 1) == charset_not;
5455		    int count = 0;
5458		    boolean unibyte_char = false;
5460		    DEBUG_PRINT ("EXECUTING charset%s.\n", not ? "_not" : "");
5462		    range_table_exists = CHARSET_RANGE_TABLE_EXISTS_P (&p[-1]);
5464		    if (range_table_exists)
5471		    c = RE_STRING_CHAR_AND_LENGTH (d, len, target_multibyte);
5472		    if (target_multibyte)
5476			c = TRANSLATE (c);
A debugging session is active.

	Inferior 1 [process 5863] will be killed.

Quit anyway? (y or n)


[-- Attachment #2: test.gro --]
[-- Type: application/octet-stream, Size: 234 bytes --]

**** foo
:PROPERTIES:
:BIOL:     
:CHIM:     2 (BA2)
:ECON:     
:GEOG:     
:GEOL:     
:INFO:     
:INGE:     
:IRBI:     
:MATH:     1
:PHAR:     
:PHYS:     
:SCIE:     2
:campus:   PL
:commentaires: les CHIM étaient BA2.

:END:

[-- Attachment #3: test.el --]
[-- Type: application/emacs-lisp, Size: 129 bytes --]

[-- Attachment #4: Type: text/plain, Size: 10 bytes --]


Nicolas.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
  2015-03-27 16:00       ` Nicolas Richard
@ 2015-03-27 19:37         ` Paul Eggert
  2015-03-28  8:38           ` Nicolas Richard
  0 siblings, 1 reply; 8+ messages in thread
From: Paul Eggert @ 2015-03-27 19:37 UTC (permalink / raw)
  To: Nicolas Richard; +Cc: 20191-done

[-- Attachment #1: Type: text/plain, Size: 766 bytes --]

On 03/27/2015 09:00 AM, Nicolas Richard wrote:
>
> Should I report either of these as a bug ?

Thanks, don't bother, I fixed it in master with the first attached patch.

> I then get a core dump.

Thanks.  I reproduced that problem.  It's an issue with the Emacs 
debugger, not with regular-expression matching.  (The regular expression 
matcher is very slow with your example -- which is a problem, but I 
suggest filing a separate bug report for the performance problem, as 
this bug report is about a SIGABRT.)

I fixed the problem in master by applying the second and third attached 
patches (which fix some related bugs while I was at it) and am marking 
this as done.  At least, it works for me; if it still doesn't work for 
you we can reopen the bug report.

[-- Attachment #2: 0001-Port-etags-to-DDEBUG.patch --]
[-- Type: text/x-patch, Size: 2800 bytes --]

From 84c7c6fd2b9604fa28e0b834caa46423114b9c5b Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 27 Mar 2015 11:14:14 -0700
Subject: [PATCH 1/3] Port etags to -DDEBUG

* etags.c (xnew, xrnew) [DEBUG]: Don't include chkmalloc.h, which
is not part of Emacs and is typically not installed.
Instead, just invoke xmalloc and xrealloc as usual.
Problem reported by Nicolas Richard in:
http://bugs.gnu.org/20191#20
(xrnew): Avoid no-longer-needed cast to 'char *'.
(xrealloc): First arg is now void *, not char *.
---
 lib-src/ChangeLog | 11 +++++++++++
 lib-src/etags.c   | 17 ++++-------------
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index 9786809..0bb24c3 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,14 @@
+2015-03-27  Paul Eggert  <eggert@cs.ucla.edu>
+
+	Port etags to -DDEBUG
+	* etags.c (xnew, xrnew) [DEBUG]: Don't include chkmalloc.h, which
+	is not part of Emacs and is typically not installed.
+	Instead, just invoke xmalloc and xrealloc as usual.
+	Problem reported by Nicolas Richard in:
+	http://bugs.gnu.org/20191#20
+	(xrnew): Avoid no-longer-needed cast to 'char *'.
+	(xrealloc): First arg is now void *, not char *.
+
 2015-03-06  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Random minor fixes for movemail
diff --git a/lib-src/etags.c b/lib-src/etags.c
index 7f18755..b1361db 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -176,17 +176,8 @@ char pot_etags_version[] = "@(#) pot revision number is 17.38.1.4";
  * SYNOPSIS:	Type *xnew (int n, Type);
  *		void xrnew (OldPointer, int n, Type);
  */
-#if DEBUG
-# include "chkmalloc.h"
-# define xnew(n,Type)	  ((Type *) trace_malloc (__FILE__, __LINE__, \
-						  (n) * sizeof (Type)))
-# define xrnew(op,n,Type) ((op) = (Type *) trace_realloc (__FILE__, __LINE__, \
-					(char *) (op), (n) * sizeof (Type)))
-#else
-# define xnew(n,Type)	  ((Type *) xmalloc ((n) * sizeof (Type)))
-# define xrnew(op,n,Type) ((op) = (Type *) xrealloc ( \
-					(char *) (op), (n) * sizeof (Type)))
-#endif
+#define xnew(n, Type)      ((Type *) xmalloc ((n) * sizeof (Type)))
+#define xrnew(op, n, Type) ((op) = (Type *) xrealloc (op, (n) * sizeof (Type)))
 
 typedef void Lang_function (FILE *);
 
@@ -348,7 +339,7 @@ static void canonicalize_filename (char *);
 static void linebuffer_init (linebuffer *);
 static void linebuffer_setlen (linebuffer *, int);
 static void *xmalloc (size_t);
-static void *xrealloc (char *, size_t);
+static void *xrealloc (void *, size_t);
 
 \f
 static char searchar = '/';	/* use /.../ searches */
@@ -6533,7 +6524,7 @@ xmalloc (size_t size)
 }
 
 static void *
-xrealloc (char *ptr, size_t size)
+xrealloc (void *ptr, size_t size)
 {
   void *result = realloc (ptr, size);
   if (result == NULL)
-- 
2.1.0


[-- Attachment #3: 0002-Port-user-login-name-initialization-to-Qnil-0.patch --]
[-- Type: text/x-patch, Size: 2327 bytes --]

From 589a4034b7af522c5b8107d5089fb1aec523a1e4 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 27 Mar 2015 11:57:44 -0700
Subject: [PATCH 2/3] Port user-login-name initialization to Qnil == 0

* editfns.c (Fuser_login_name, Fuser_real_login_name)
(syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
as this is no longer true now that Qnil == 0.
---
 src/ChangeLog | 5 +++++
 src/editfns.c | 5 +++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 3f9ab4f..61f2a84 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,10 @@
 2015-03-27  Paul Eggert  <eggert@cs.ucla.edu>
 
+	Port user-login-name initialization to Qnil == 0
+	* editfns.c (Fuser_login_name, Fuser_real_login_name)
+	(syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
+	as this is no longer true now that Qnil == 0.
+
 	Assume !BROKEN_NON_BLOCKING_CONNECT
 	From a suggestion by Eli Zaretskii in:
 	http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00824.html
diff --git a/src/editfns.c b/src/editfns.c
index f463890..7d3e462 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -1191,7 +1191,7 @@ of the user with that uid, or nil if there is no such user.  */)
   /* Set up the user name info if we didn't do it before.
      (That can happen if Emacs is dumpable
      but you decide to run `temacs -l loadup' and not dump.  */
-  if (INTEGERP (Vuser_login_name))
+  if (NILP (Vuser_login_name))
     init_editfns ();
 
   if (NILP (uid))
@@ -1214,7 +1214,7 @@ This ignores the environment variables LOGNAME and USER, so it differs from
   /* Set up the user name info if we didn't do it before.
      (That can happen if Emacs is dumpable
      but you decide to run `temacs -l loadup' and not dump.  */
-  if (INTEGERP (Vuser_login_name))
+  if (NILP (Vuser_login_name))
     init_editfns ();
   return Vuser_real_login_name;
 }
@@ -4955,6 +4955,7 @@ functions if all the text being accessed has this property.  */);
 
   DEFVAR_LISP ("user-login-name", Vuser_login_name,
 	       doc: /* The user's name, taken from environment variables if possible.  */);
+  Vuser_login_name = Qnil;
 
   DEFVAR_LISP ("user-real-login-name", Vuser_real_login_name,
 	       doc: /* The user's name, based upon the real uid only.  */);
-- 
2.1.0


[-- Attachment #4: 0003-Avoid-some-core-dumps-in-X-session-management.patch --]
[-- Type: text/x-patch, Size: 5960 bytes --]

From 01d1024bec7781066440104ebee0b186382e10f3 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 27 Mar 2015 12:10:44 -0700
Subject: [PATCH 3/3] Avoid some core dumps in X session management

Derived from a bug report by Nicolas Richard in:
http://bugs.gnu.org/20191#20
* xsmfns.c (smc_save_yourself_CB): Don't dump core if
invocation-name is not a string.  Initialize user-login-name if it
is not already initialized, and don't dump core if it is not a
string.
(create_client_leader_window): Don't dump core if x-resource-name
and x-resource-class are not both strings.
(x_session_initialize): Don't dump core if x-session-previous-id,
invocation-directory, and invocation-name are not strings.
---
 src/ChangeLog | 14 ++++++++++++++
 src/xsmfns.c  | 57 +++++++++++++++++++++++++++++++++------------------------
 2 files changed, 47 insertions(+), 24 deletions(-)

diff --git a/src/ChangeLog b/src/ChangeLog
index 61f2a84..db3056c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,6 +1,20 @@
 2015-03-27  Paul Eggert  <eggert@cs.ucla.edu>
 
+	Avoid some core dumps in X session management
+	Derived from a bug report by Nicolas Richard in:
+	http://bugs.gnu.org/20191#20
+	* xsmfns.c (smc_save_yourself_CB): Don't dump core if
+	invocation-name is not a string.  Initialize user-login-name if it
+	is not already initialized, and don't dump core if it is not a
+	string.
+	(create_client_leader_window): Don't dump core if x-resource-name
+	and x-resource-class are not both strings.
+	(x_session_initialize): Don't dump core if x-session-previous-id,
+	invocation-directory, and invocation-name are not strings.
+
 	Port user-login-name initialization to Qnil == 0
+	Derived from a bug report by Nicolas Richard in:
+	http://bugs.gnu.org/20191#20
 	* editfns.c (Fuser_login_name, Fuser_real_login_name)
 	(syms_of_editfns): Don't rely on all-bits-zero being an Elisp integer,
 	as this is no longer true now that Qnil == 0.
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 0e635d3..375b51c 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -168,7 +168,6 @@ smc_save_yourself_CB (SmcConn smcConn,
   int val_idx = 0, vp_idx = 0;
   int props_idx = 0;
   int i;
-  char *cwd = get_current_dir_name ();
   char *smid_opt, *chdir_opt = NULL;
 
   /* How to start a new instance of Emacs.  */
@@ -181,27 +180,34 @@ smc_save_yourself_CB (SmcConn smcConn,
   props[props_idx]->vals[0].value = emacs_program;
   ++props_idx;
 
-  /* The name of the program.  */
-  props[props_idx] = &prop_ptr[props_idx];
-  props[props_idx]->name = xstrdup (SmProgram);
-  props[props_idx]->type = xstrdup (SmARRAY8);
-  props[props_idx]->num_vals = 1;
-  props[props_idx]->vals = &values[val_idx++];
-  props[props_idx]->vals[0].length = SBYTES (Vinvocation_name);
-  props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
-  ++props_idx;
+  if (STRINGP (Vinvocation_name))
+    {
+      /* The name of the program.  */
+      props[props_idx] = &prop_ptr[props_idx];
+      props[props_idx]->name = xstrdup (SmProgram);
+      props[props_idx]->type = xstrdup (SmARRAY8);
+      props[props_idx]->num_vals = 1;
+      props[props_idx]->vals = &values[val_idx++];
+      props[props_idx]->vals[0].length = SBYTES (Vinvocation_name);
+      props[props_idx]->vals[0].value = SDATA (Vinvocation_name);
+      ++props_idx;
+    }
 
   /* User id.  */
-  props[props_idx] = &prop_ptr[props_idx];
-  props[props_idx]->name = xstrdup (SmUserID);
-  props[props_idx]->type = xstrdup (SmARRAY8);
-  props[props_idx]->num_vals = 1;
-  props[props_idx]->vals = &values[val_idx++];
-  props[props_idx]->vals[0].length = SBYTES (Vuser_login_name);
-  props[props_idx]->vals[0].value = SDATA (Vuser_login_name);
-  ++props_idx;
-
+  Lisp_Object user_login_name = Fuser_login_name (Qnil);
+  if (STRINGP (user_login_name))
+    {
+      props[props_idx] = &prop_ptr[props_idx];
+      props[props_idx]->name = xstrdup (SmUserID);
+      props[props_idx]->type = xstrdup (SmARRAY8);
+      props[props_idx]->num_vals = 1;
+      props[props_idx]->vals = &values[val_idx++];
+      props[props_idx]->vals[0].length = SBYTES (user_login_name);
+      props[props_idx]->vals[0].value = SDATA (user_login_name);
+      ++props_idx;
+    }
 
+  char *cwd = get_current_dir_name ();
   if (cwd)
     {
       props[props_idx] = &prop_ptr[props_idx];
@@ -372,6 +378,7 @@ create_client_leader_window (struct x_display_info *dpyinfo, char *client_ID)
                            -1, -1, 1, 1,
                            CopyFromParent, CopyFromParent, CopyFromParent);
 
+  validate_x_resource_name ();
   class_hints.res_name = SSDATA (Vx_resource_name);
   class_hints.res_class = SSDATA (Vx_resource_class);
   XSetClassHint (dpyinfo->display, w, &class_hints);
@@ -402,22 +409,24 @@ x_session_initialize (struct x_display_info *dpyinfo)
 
   /* Check if we where started by the session manager.  If so, we will
      have a previous id.  */
-  if (! NILP (Vx_session_previous_id) && STRINGP (Vx_session_previous_id))
+  if (STRINGP (Vx_session_previous_id))
     previous_id = SSDATA (Vx_session_previous_id);
 
   /* Construct the path to the Emacs program.  */
-  if (! NILP (Vinvocation_directory))
+  if (STRINGP (Vinvocation_directory))
     name_len += SBYTES (Vinvocation_directory);
-  name_len += SBYTES (Vinvocation_name);
+  if (STRINGP (Vinvocation_name))
+    name_len += SBYTES (Vinvocation_name);
 
   /* This malloc will not be freed, but it is only done once, and hopefully
      not very large   */
   emacs_program = xmalloc (name_len + 1);
   char *z = emacs_program;
 
-  if (! NILP (Vinvocation_directory))
+  if (STRINGP (Vinvocation_directory))
     z = lispstpcpy (z, Vinvocation_directory);
-  lispstpcpy (z, Vinvocation_name);
+  if (STRINGP (Vinvocation_name))
+    lispstpcpy (z, Vinvocation_name);
 
   /* The SM protocol says all callbacks are mandatory, so set up all
      here and in the mask passed to SmcOpenConnection.  */
-- 
2.1.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* bug#20191: 25.0.50; SIGABRT in re_match_2_internal
  2015-03-27 19:37         ` Paul Eggert
@ 2015-03-28  8:38           ` Nicolas Richard
  0 siblings, 0 replies; 8+ messages in thread
From: Nicolas Richard @ 2015-03-28  8:38 UTC (permalink / raw)
  To: Paul Eggert; +Cc: 20191-done

Paul Eggert <eggert@cs.ucla.edu> writes:
> Thanks.  I reproduced that problem.  It's an issue with the Emacs
> debugger, not with regular-expression matching.  (The regular
> expression matcher is very slow with your example -- which is a
> problem, but I suggest filing a separate bug report for the
> performance problem, as this bug report is about a SIGABRT.)

Ok, I'll do that.
Thanks for the fixes.

-- 
Nicolas





^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2015-03-28  8:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-03-24 15:14 bug#20191: 25.0.50; SIGABRT in re_match_2_internal Nicolas Richard
     [not found] ` <handler.20191.B.142721003329390.ack@debbugs.gnu.org>
2015-03-24 16:22   ` bug#20191: Acknowledgement (25.0.50; SIGABRT in re_match_2_internal) Nicolas Richard
2015-03-24 17:25 ` bug#20191: 25.0.50; SIGABRT in re_match_2_internal Paul Eggert
2015-03-25  6:45   ` Nicolas Richard
2015-03-26 17:49     ` Paul Eggert
2015-03-27 16:00       ` Nicolas Richard
2015-03-27 19:37         ` Paul Eggert
2015-03-28  8:38           ` Nicolas Richard

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.