Jehan, I will test it tomorrow. I will get back to you with the results. Thanks for your prompt response! Partha On Thu, Jul 18, 2013 at 11:42 AM, Jehan Pagès <jehan.marmottard@xxxxxxxxx>wrote: > Hi again, > > I have some working code in my working branch now where I applied the > concepts I wrote about (basically initializing the language store only > once and at the very start of the program, before any threading would > occur hopefully). > Don't know if that will be the finale code, but should be at least > good enough to test on OSX (I don't have access to a OSX machine to > reproduce the bug myself and see if this indeed fixes the issue). As > soon as the report is up, I'll upload the patch there so that someone > with OSX can test it and tell me if that fixes it. :-) > Thanks. > > Jehan > > > On Thu, Jul 18, 2013 at 9:47 PM, Jehan Pagès <jehan.marmottard@xxxxxxxxx> > wrote: > > Hey all, > > > > it seems I am the culprit for this bug. I don't have this crash on Linux > though. > > > > It looks like the implementation of setenv/getenv is different on OSX. > > According to glib doc, the problem may be that on some > > implementations, successive calls may use the same buffer. I guess > > that's the case on OSX. And also these calls are not thread-safe. Also > > the fact that there is no LANGUAGE env variable should normally not be > > a real problem. I don't have this variable set on my system either > > and, as I said, no crash here. I guess this brought the real issue of > > the OSX getenv/setenv implementation into light though. > > > > In any case, I think that the real solution is to have the list of all > > localized languages generated at startup, before any thread or > > anything happens (I just saw that's also what glib doc says: we should > > only use these calls on startup before any thread happens). Then we > > just use this pre-generated list each time it is needed. I was already > > thinking that the current design was bad anyway, because we are > > basically parsing a huge file of language codes and names each time we > > open the preference dialog! Such a waste of resources and time. > > I did not modify it at the time because I did not feel like using more > > time towards this, but I guess that should be the occasion to do it. > > > > In any case, please fill a bug report and I'll have a look! :-) > > > > Jehan > > > > > > On Thu, Jul 18, 2013 at 6:31 AM, Partha Bagchi <partha1b@xxxxxxxxx> > wrote: > >> Hey V, > >> > >> Thanks for checking on this. I am glad (in a way) that my system is not > the > >> only one having this issue! :) > >> > >> I will try to revert the above changes and see if the problem > disappears. > >> > >> Partha > >> > >> > >> > >> On Wed, Jul 17, 2013 at 7:51 AM, su_v <suv-sf@xxxxxxxxxxxxxxxxxxxxx> > wrote: > >> > >>> On 2013-07-17 01:19 +0100, Partha Bagchi wrote: > >>> > My recent (last built a few moment ago) git builds (2.9) have been > >>> > instantly segfaulting on MBR running Mountain Lion. > >>> > > >>> > gdb backtrace (or commandline execution) shows: > >>> > ./gimp-2.9 (pid:42315): [E]xit, [H]alt, show [S]tack trace or > [P]roceed: > >>> S > >>> > #0 0x00007fff8b257698 in __wait4 () > >>> > #1 0x00000001018de353 in g_on_error_stack_trace () > >>> > #2 0x00000001018de7f2 in g_on_error_query () > >>> > #3 0x000000010000fa54 in gimp_eek () > >>> > #4 0x000000010000fac8 in gimp_fatal_error () > >>> > #5 0x0000000100010326 in gimp_sigfatal_handler () > >>> > #6 <signal handler called> > >>> > #7 0x00007fff8c40887e in setenv () > >>> > #8 0x00000001018f76cf in g_setenv () > >>> > #9 0x0000000100168c11 in gimp_language_store_self_l10n () > >>> > #10 0x0000000101915c99 in emit_start_element () > >>> > #11 0x00000001019170b0 in g_markup_parse_context_parse () > >>> > #12 0x000000010035a7ba in gimp_xml_parser_parse_io_channel () > >>> > #13 0x000000010035a9ab in gimp_xml_parser_parse_file () > >>> > #14 0x0000000100168f71 in gimp_language_store_parse_iso_codes () > >>> > #15 0x000000010188619b in g_object_new_internal () > >>> > #16 0x0000000101886cdd in g_object_newv () > >>> > #17 0x0000000101886edc in g_object_new () > >>> > #18 0x0000000100168025 in gimp_language_entry_new () > >>> > #19 0x000000010017cc00 in gimp_prop_language_entry_new () > >>> > #20 0x00000001000a3df2 in gimp_text_options_gui () > >>> > #21 0x000000010005e9e6 in gimp_tools_restore () > >>> > #22 0x000000010001428b in gui_restore_callback () > >>> > #23 0x000000010187dd0d in g_closure_invoke () > >>> > #24 0x000000010189483b in signal_emit_unlocked_R () > >>> > #25 0x0000000101897111 in g_signal_emit_valist () > >>> > #26 0x0000000101897964 in g_signal_emit () > >>> > #27 0x000000010000f2fe in app_run () > >>> > #28 0x0000000100011994 in main () > >>> > > >>> > and gimp-2.9 --verbose > >>> > ... > >>> > Parsing '/Users/partha/Library/Application > >>> > Support/GIMP/2.9/tool-options/gimp-text-tool' > >>> > ./gimp-2.9: fatal error: Segmentation fault: 11 > >>> > ./gimp-2.9 (pid:42330): [E]xit, [H]alt, show [S]tack trace or > [P]roceed: > >>> > > >>> > Is anyone else on the Mac having this issue? Should I file a > bug-report? > >>> > >>> Reproduced (same stack trace) on MBR (13-inch, Late 2011) running OS X > >>> 10.7.5; dependencies for GIMP installed via MacPorts (custom portfiles > >>> for babl, gegl and GIMP git master). > >>> > >>> Workaround (at least for this segfault at launch time) is to run GIMP > >>> like this: > >>> > >>> $ echo $LANG > >>> en_US.UTF-8 > >>> $ LANGUAGE="$LANG" gimp --verbose > >>> > >>> > >>> Possibly related to the changes in > >>> < > >>> > https://git.gnome.org/browse/gimp/commit/?id=f6dcde1ee66fda4dfdc063022c4d2e901adb9a71 > >>> > > >>> < > >>> > https://git.gnome.org/browse/gimp/commit/?id=4eecd9b4ac71615f10819378938dcdce7e531167 > >>> > > >>> > >>> > >>> hth, V > >>> _______________________________________________ > >>> gimp-developer-list mailing list > >>> List address: gimp-developer-list@xxxxxxxxx > >>> List membership: > >>> https://mail.gnome.org/mailman/listinfo/gimp-developer-list > >>> > >> _______________________________________________ > >> gimp-developer-list mailing list > >> List address: gimp-developer-list@xxxxxxxxx > >> List membership: > https://mail.gnome.org/mailman/listinfo/gimp-developer-list > _______________________________________________ gimp-developer-list mailing list List address: gimp-developer-list@xxxxxxxxx List membership: https://mail.gnome.org/mailman/listinfo/gimp-developer-list