[Geany] Crash on some php files (opensolaris)

Andras Barna andras.barna at xxxxx
Tue Apr 22 17:39:04 UTC 2008


with -g3 and -Wdisabled-optimization

t at 1 (l at 1) signal SEGV (no mapping at the fault address) in
vStringNCatS at line 135 in file "vstring.c"
  135       while (*p != '\0'  &&  remain > 0)
(dbx) where
current thread: t at 1
dbx: read of 4 bytes at address 3 failed
dbx: attempt to read frame failed -- cannot get return address
=>[1] vStringNCatS(string = 0x8a56ab0, s = 0x114b1f80 "<bad address
0x114b1f80>", length = 0), line 135 in "vstring.c"
  [2] substitute(in = 0x8a58fc0 "$username = $_POST['username'];\n",
out = 0x8a4b048 "\3", nmatch = 10, pmatch = 0x8046ec8), line 443 in
"lregex.c"
  [3] matchTagPattern(line = 0x8a56a98, patbuf = 0x8a51ce8, pmatch =
0x8046ec8), line 457 in "lregex.c"
  [4] matchRegexPattern(line = 0x8a56a98, patbuf = 0x8a51ce8), line
497 in "lregex.c"
(dbx)


t at 1 (l at 1) stopped in vStringNCatS at line 132 in file "vstring.c"
  132       const char *p = s;
(dbx) where
current thread: t at 1
=>[1] vStringNCatS(string = 0x8a59ba0, s = 0x87c4298
"/var/apache2/2.2/htdocs/adduseraction.php", length = 23U), line 132
in "vstring.c"
  [2] vStringNCopyS(string = 0x8a59ba0, s = 0x87c4298
"/var/apache2/2.2/htdocs/adduseraction.php", length = 23U), line 203
in "vstring.c"
  [3] setInputFileName(fileName = 0x87c4298
"/var/apache2/2.2/htdocs/adduseraction.php"), line 66 in "read.c"
  [4] fileOpen(fileName = 0x87c4298
"/var/apache2/2.2/htdocs/adduseraction.php", language = 6), line 264
in "read.c"
  [5] tm_source_file_parse(source_file = 0x8a4bc48), line 128 in
"tm_source_file.c"
  [6] tm_source_file_update(source_file = 0x8a4bc48, force = 1,
recurse = 0, update_parent = 1), line 166 in "tm_source_file.c"
  [7] document_update_tag_list(idx = 0, update = 1), line 1959 in "document.c"
  [8] document_set_filetype(idx = 0, type = 0x840ce40), line 2092 in
"document.c"
  [9] document_open_file_full(idx = 0, filename = 0x889f3c8
"/var/apache2/2.2/htdocs/adduseraction.php", pos = 0, readonly = 0, ft
= (nil), forced_enc = (nil)), line 1115 in "document.c"
  [10] document_open_file(locale_filename = 0x889f3c8
"/var/apache2/2.2/htdocs/adduseraction.php", readonly = 0, ft = (nil),
forced_enc = (nil)), line 688 in "document.c"
  [11] document_open_files(filenames = 0x88f4848, readonly = 0, ft =
(nil), forced_enc = (nil)), line 1201 in "document.c"
  [12] on_file_open_dialog_response(dialog = 0x886e028, response = -3,
user_data = (nil)), line 97 in "dialogs.c"
  [13] g_cclosure_marshal_VOID__INT(0x88ea368, 0x0, 0x2, 0x80472bc,
0x804721c, 0x0), at 0xd17b3677
  [14] g_closure_invoke(0x88ea368, 0x0, 0x2, 0x80472bc, 0x804721c), at
0xd179ef63
  [15] signal_emit_unlocked_R(0x8858ad0, 0x0, 0x886e028, 0x0,
0x80472bc), at 0xd17b2cb6
  [16] g_signal_emit_valist(0x886e028, 0x12e, 0x0, 0x8047528), at 0xd17b1fc8
  [17] g_signal_emit(0x886e028, 0x12e, 0x0, 0xfffffffd), at 0xd17b215d
  [18] gtk_dialog_response(0x886e028, 0xfffffffd), at 0xd1bc7f1b
  [19] action_widget_activated(0x88c84b0, 0x886e028), at 0xd1bc78ba
  [20] g_cclosure_marshal_VOID__VOID(0x88bfbd0, 0x0, 0x1, 0x80476cc,
0x804762c, 0x0), at 0xd17b3431
  [21] g_closure_invoke(0x88bfbd0, 0x0, 0x1, 0x80476cc, 0x804762c), at
0xd179ef63
  [22] signal_emit_unlocked_R(0x8255410, 0x0, 0x88c84b0, 0x0,
0x80476cc), at 0xd17b2cb6
  [23] g_signal_emit_valist(0x88c84b0, 0x72, 0x0, 0x8047938), at 0xd17b1fc8
  [24] g_signal_emit(0x88c84b0, 0x72, 0x0), at 0xd17b215d
  [25] gtk_button_clicked(0x88c84b0), at 0xd1b84584
  [26] gtk_button_finish_activate(0x88c84b0, 0x1), at 0xd1b854f3
  [27] button_activate_timeout(0x88c84b0), at 0xd1b853d4
  [28] gdk_threads_dispatch(0x89eebc0), at 0xd17fe7ab
  [29] g_timeout_dispatch(0x893da78, 0xd17fe768, 0x89eebc0), at 0xd1a2a6bc
  [30] g_main_dispatch(0x81f79b0), at 0xd1a27c76
  [31] g_main_context_dispatch(0x81f79b0), at 0xd1a28d85
  [32] g_main_context_iterate(0x81f79b0, 0x1, 0x1, 0x81d5bb0), at 0xd1a291a2
  [33] g_main_loop_run(0x86c3190), at 0xd1a297a4
  [34] gtk_main(0x0, 0x81a6a18, 0x5, 0x81bdc58, 0x8047b60, 0x8184545),
at 0xd1c3a9de
  [35] main(argc = 1, argv = 0x8047b94), line 911 in "main.c"
(dbx)


On Tue, Apr 22, 2008 at 7:32 PM, Nick Treleaven
<nick.treleaven at btinternet.com> wrote:
> On Tue, 22 Apr 2008 15:35:39 +0200
>
> Enrico Tröger <enrico.troeger at uvena.de> wrote:
>
>
> > On Tue, 22 Apr 2008 15:33:01 +0100, Nick Treleaven
>  > <nick.treleaven at btinternet.com> wrote:
>  >
>
> > > Thanks for the trace - but can you provide us with one of the PHP
>  > > source files that causes Geany to crash - or if not a small test
>  > > case that we can use to reproduce it?
>  > I'm sorry. I should have mentioned it in my answer.
>  > Andras sent a link to the files on IRC. Here it is:
>  > http://sartek.net/~sartek/php.tar.gz
>
>  Thanks.
>
>
>  > But at least on my system, the files open fine.
>
>  Yes, on Fedora 5 they also open fine.
>
>  CTags has no relevant updates over Geany 0.14 for lregex.c, so it's
>  strange that CTags works.
>
>  But it might help to see more of the backtrace after the segfault, e.g.
>  what functions called matchRegex().
>
>  Also for debugging it might be more useful to get a trace from a build
>  with no optimization, as it seems a number of static functions called
>  by matchRegex() have been optimized out, and this is probably where
>  the problem is.
>
>
>
>  Regards,
>  Nick
>  _______________________________________________
>  Geany mailing list
>  Geany at uvena.de
>  http://lists.uvena.de/cgi-bin/mailman/listinfo/geany
>



-- 
Andy
http://blog.sartek.net


More information about the Users mailing list