[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