Bug 26635 - resgen hangs a long time processing attached resx file
Summary: resgen hangs a long time processing attached resx file
Status: NEW
Alias: None
Product: Tools
Classification: Mono
Component: xbuild ()
Version: unspecified
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2015-02-02 10:26 UTC by marc hoffman
Modified: 2015-02-02 10:26 UTC (History)
1 user (show)

Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
resx file that shows the proble, (215.20 KB, application/octet-stream)
2015-02-02 10:26 UTC, marc hoffman
Details


Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 26635 on GitHub or Developer Community if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: GitHub Markdown or Developer Community HTML
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:
Status:
NEW

Description marc hoffman 2015-02-02 10:26:07 UTC
Created attachment 9597 [details]
resx file that shows the proble,

When building a WinForms project containing the attached .resx file on OS X, resgen.exe takes a LONG time (we're talking minutes) to process the file. So long, i initially assumed it was just stick for good. As a nasty side effect, killing he build will leave a 0-byte .resource file, so a subsequent build will seem tom succeed quickly (but end up embedding a bad .resource).

Mac OS X 10.10.2, Mono 3.12.0 and 3.10.0 32-bit.

Attaching the debugger, resgen seems to be stuck/spending its time here:

(lldb) bt
* thread #1: tid = 0xa9b731, 0x033f0f1b libfreetype.6.dylib`FT_MulFix_i386 + 59, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x033f0f1b libfreetype.6.dylib`FT_MulFix_i386 + 59
    frame #1: 0x033f851b libfreetype.6.dylib`cf2_glyphpath_hintPoint + 235
    frame #2: 0x033f7e61 libfreetype.6.dylib`cf2_glyphpath_pushPrevElem + 641
    frame #3: 0x033f4b35 libfreetype.6.dylib`cf2_glyphpath_curveTo + 501
    frame #4: 0x033f208e libfreetype.6.dylib`cf2_interpT2CharString + 2142
    frame #5: 0x033f12bb libfreetype.6.dylib`cf2_getGlyphOutline + 219
    frame #6: 0x033f0d96 libfreetype.6.dylib`cf2_decoder_parse_charstrings + 646
    frame #7: 0x033efdec libfreetype.6.dylib`cff_slot_load + 2060
    frame #8: 0x033e9c25 libfreetype.6.dylib`cff_glyph_load + 197
    frame #9: 0x033b1676 libfreetype.6.dylib`FT_Load_Glyph + 902
    frame #10: 0x0337c9d6 libfontconfig.1.dylib`FcFreeTypeCheckGlyph + 134
    frame #11: 0x0337b580 libfontconfig.1.dylib`FcFreeTypeCharSetAndSpacingForSize + 1376
    frame #12: 0x0337a709 libfontconfig.1.dylib`FcFreeTypeCharSetAndSpacing + 313
    frame #13: 0x0337939f libfontconfig.1.dylib`FcFreeTypeQueryFace + 6687
    frame #14: 0x0337a883 libfontconfig.1.dylib`FcFreeTypeQuery + 163
    frame #15: 0x033739e3 libfontconfig.1.dylib`FcFileScanFontConfig + 179
    frame #16: 0x03373916 libfontconfig.1.dylib`FcFileScanConfig + 118
    frame #17: 0x03373f76 libfontconfig.1.dylib`FcDirScanConfig + 902
    frame #18: 0x03374245 libfontconfig.1.dylib`FcDirCacheScan + 261
    frame #19: 0x03374340 libfontconfig.1.dylib`FcDirCacheRead + 112
    frame #20: 0x03369171 libfontconfig.1.dylib`FcConfigAddDirList + 193
    frame #21: 0x03369010 libfontconfig.1.dylib`FcConfigBuildFonts + 176
    frame #22: 0x0337d667 libfontconfig.1.dylib`FcInitLoadConfigAndFonts + 55
    frame #23: 0x0337d6d2 libfontconfig.1.dylib`FcInit + 50
    frame #24: 0x029482b2 libgdiplus.dylib`GdiplusStartup + 50
    frame #25: 0x007a9b60
    frame #26: 0x007a95d4
    frame #27: 0x005679b9
    frame #28: 0x0007adcf mono-sgen`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=<unavailable>, exc=<unavailable>) + 751 at mini.c:6738
    frame #29: 0x0023c8cf mono-sgen`mono_runtime_invoke(method=0x7d0c31bc, obj=0x00000000, params=<unavailable>, exc=<unavailable>) + 127 at object.c:2831
    frame #30: 0x0023cd4f mono-sgen`mono_runtime_class_init_full(vtable=0x7d0c31bc, raise_exception=<unavailable>) + 607 at object.c:376
    frame #31: 0x0007804f mono-sgen`mono_jit_compile_method_with_opt [inlined] mono_jit_compile_method_inner(method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, method=0x7d0c33bc, opt=<unavailable>) + 908 at mini.c:6222
    frame #32: 0x00077cc3 mono-sgen`mono_jit_compile_method_with_opt(method=<unavailable>, opt=<unavailable>, ex=<unavailable>) + 2707 at mini.c:6299
    frame #33: 0x000771d9 mono-sgen`mono_jit_compile_method(method=0x7d0c33bc) + 57 at mini.c:6336
    frame #34: 0x00128aaf mono-sgen`common_call_trampoline(m=<unavailable>, vtable_slot=<unavailable>, need_rgctx_tramp=0, regs=<unavailable>, code=<unavailable>, tramp=<unavailable>, vt=<unavailable>) + 975 at mini-trampolines.c:586
    frame #35: 0x001286cc mono-sgen`mono_magic_trampoline(regs=0xbff94470, code=0x007a91f8, arg=0x7d0c33bc, tramp=0x00000000) + 60 at mini-trampolines.c:706
    frame #36: 0x004d2088