Menu

#992 Segfault in php.c

None
closed-invalid
None
Unknown
5
2014-08-17
2013-08-30
Adduc
No

Built from git (changeset 4786796e9aff75e67d8a6abdd61f5bbe7e1a7e66)

I received a repeatable segfault working with a PHP file when attempting to add an opening "<?php" tag at the absolute end of the file.

Running Ubuntu 13.04

(gdb) run -v
Starting program: /usr/local/bin/geany -v
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7ffff7ffa000
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Geany-INFO: Geany 1.24, en_US.UTF-8
Geany-INFO: GTK 2.24.17, GLib 2.36.0
Geany-INFO: System data dir: /usr/local/share/geany
Geany-INFO: User config dir: /home/jlong/.config/geany
[New Thread 0x7fffed8f5700 (LWP 27901)]
[New Thread 0x7fffed0f4700 (LWP 27902)]
Geany-INFO: System plugin path: /usr/local/lib/geany
Geany-INFO: Added filetype Scala (55).
Geany-INFO: Added filetype Cython (56).
Geany-INFO: Added filetype Rust (57).
Geany-INFO: Added filetype Go (58).
Geany-INFO: Added filetype Genie (59).
Geany-INFO: Disabling terminal support
Geany-INFO: Loaded:   /usr/local/lib/geany/filebrowser.so (File Browser)
Geany-INFO: [REDACTED]/phpfile.php : PHP (UTF-8)
Geany-INFO: Loaded /usr/local/share/geany/php.tags (PHP), 4396 tag(s).
Geany-INFO: [REDACTED]/phpfile2.php : PHP (UTF-8)
Geany-INFO: [REDACTED]/phpfile3.php : PHP (UTF-8)
Geany-INFO: [REDACTED]/phpfile4.php : PHP (UTF-8)
Geany-INFO: [REDACTED]/phpfile5.php : PHP (UTF-8)
Geany-INFO: [REDACTED]/phpfile6.php : PHP (UTF-8)
Geany-INFO: [REDACTED]/phpfile7.php : PHP (UTF-8)
Geany-INFO: [REDACTED]/phpfile8.php : PHP (UTF-8)

(geany:27897): LIBDBUSMENU-GTK-CRITICAL **: watch_submenu: assertion `GTK_IS_MENU_SHELL(menu)' failed
Geany-INFO: [REDACTED]/phpfile.ctp : PHP (UTF-8)
[Thread 0x7fffed8f5700 (LWP 27901) exited]

Program received signal SIGSEGV, Segmentation fault.
0x00000000005ed7e8 in parseIdentifier (string=0x12ea410, 
    firstChar=firstChar@entry=112) at php.c:658
658                     vStringPut (string, (char) c);
(gdb) bt
#0  0x00000000005ed7e8 in parseIdentifier (string=0x12ea410, 
    firstChar=firstChar@entry=112) at php.c:658
#1  0x00000000005ee1fc in readToken (token=token@entry=0x13497b0) at php.c:976
#2  0x00000000005ee81b in enterScope (parentToken=parentToken@entry=0x121c140, 
    extraScope=extraScope@entry=0x0, parentKind=parentKind@entry=-1) at php.c:1402
#3  0x00000000005eed77 in findPhpTags () at php.c:1421
#4  0x00000000005f7ac2 in tm_source_file_buffer_parse (
    source_file=source_file@entry=0x1146e20, 
    text_buf=0x12c0840 "<style>\n    #product-list {\n        font-size:0;\n    }\n\n    #product-list > div {\n        width:48%;\n        display:inline-block;\n        margin:2% 1%;\n    }\n\n    #product-list a {\n        color:inhe"..., 
    buf_size=buf_size@entry=1535) at tm_source_file.c:214
#5  0x00000000005f7ba0 in tm_source_file_buffer_update (source_file=0x1146e20, 
    text_buf=<optimized out>, buf_size=buf_size@entry=1535, 
    update_parent=update_parent@entry=1) at tm_source_file.c:297
#6  0x000000000046314a in document_update_tags (doc=0xab8e60) at document.c:2293
#7  0x0000000000463345 in on_document_update_tag_list_idle (data=0xab8e60)
    at document.c:2356
#8  0x00007ffff6113b1b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#9  0x00007ffff6112f05 in g_main_context_dispatch ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007ffff6113248 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007ffff61136ba in g_main_loop_run ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007ffff78d4fe7 in gtk_main ()
   from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#13 0x00000000004504f6 in main (argc=1, argv=0x7fffffffe178) at main.c:1221

Discussion

  • Adduc

    Adduc - 2013-08-30

    I set Colomban Wendling as the owner as I've seen he's worked on a lot of the PHP-related functionality in the past few months.

     
  • Colomban Wendling

    Hum, this is weird, [git:66396e7ca7e892d734daf9b6579b3dce9a742548] should have fixed this.

    Anyway, I cannot reproduce by simply opening a PHP tag at the very end of the input, could you provide a sample file please?

     

    Related

    Commit: [66396e]

  • Adduc

    Adduc - 2013-09-01

    You're entirely right, I was running an out of date dev version; building an up-to-date version I am unable to replicate this.

    You can close this, the issue's with the user, not geany.

     
  • Anonymous

    Anonymous - 2013-09-01
    • status: open --> closed-invalid
     

Log in to post a comment.