[Geany] Crash on some php files (opensolaris)

Andras Barna andras.barna at xxxxx
Sun Apr 27 16:37:39 UTC 2008


thank you

On Sun, Apr 27, 2008 at 6:17 PM, Enrico Tröger <enrico.troeger at uvena.de> wrote:
> On Fri, 25 Apr 2008 20:00:12 +0300, Andris Raugulis <ar at null.lv> wrote:
>
>  > > > svn worth a try?
>  > > Sure! It only can get better ;-).
>  >
>  > Sorry to jump in unasked, but I had similar issues with Geany 0.13.
>  > When I opened PHP files, Geany crashed within vStringNCatS function.
>  >
>  > I spent quite a time debugging and found that issue lies in regexps.
>  > Don't know if it will help with your OpenSolaris, but I can tell
>  > what I did to solve it in FreeBSD:
>  >
>  > I compiled Geany with -lgnuregex and changed related .c files to
>  > include proper GNU regex header.
>  Could you next time report such problems to us? Thanks.
>
>  Both problems (your FreeBSD changes and the OpenSolaris crashes) should
>  be fixed in SVN r2532.
>
>  Over the weekend I spent some time in installing OpenSolaris and after
>  the third try it finally worked ;-). And luckily I was able to
>  reproduce and fix the crash.
>
>  Once discovered the problem seems quiteobvious:
>  we had a file "regex.h" in tagmanager/include/ which was intended to be
>  included only if there is no system-wide regex.h (e.g. on Windows).
>  This file contains the GNU regex interface. Due to missing #ifdefs this
>  file was unintentionally included in every build. This was ok when the
>  system-wide (usually in /usr/include) regex.h was compatible as it is
>  on most GNU systems.
>
>  On those where it is not (like on OpenSolaris) it crashes. Since SVN
>  r2532 regex.h is only included when no system-wide one was found and
>  the related code can be compiled in with the configure option
>  "--enable-gnu-regex". Then Geany has its own GNU regex implementation.
>  But this should only be used when the system has no support for regex
>  (not sure if this can happen on other systems than Windows, just in
>  case).
>
>  There was an additional problem in the code in src/encodings.c which
>  used the "buffer" element of the regex_t struct which seems to be only
>  present in the GNU regex implementation. This has been removed and so
>  the regex code in src/encodings.c will also work on non-GNU systems
>  (hopefully).
>
>
>
>
>  Regards,
>  Enrico
>
>  --
>  Get my GPG key from http://www.uvena.de/pub.asc
>
> _______________________________________________
>  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