OpenFileDialog.ShowAsync segfaults on Linux
See original GitHub issuethis.FindControl<Button>("Da").Click += async (_, __) =>
{
var dialog = new OpenFileDialog();
var file = await dialog.ShowAsync(this);
Console.WriteLine(file[0]);
};
Causes a segfault inside GTK’s drawing code.
Back trace from lldb
$ lldb -- /opt/dotnet/dotnet SS14.Launcher.dll
(lldb) target create "/opt/dotnet/dotnet"
Current executable set to '/opt/dotnet/dotnet' (x86_64).
(lldb) settings set -- target.run-args "SS14.Launcher.dll"
(lldb) r
Process 6679 launched: '/opt/dotnet/dotnet' (x86_64)
Process 6679 stopped
* thread #9, name = 'dotnet', stop reason = signal SIGSEGV: address access protected (fault address: 0x7fffe7b198d0)
frame #0: 0x00007fffe7b198d0 libSkiaSharp.so
-> 0x7fffe7b198d0: rcr dh, 0x61
0x7fffe7b198d3: out 0xff, eax
0x7fffe7b198d5: jg 0x7fffe7b198d7
0x7fffe7b198d7: add al, al
(lldb) bt
* thread #9, name = 'dotnet', stop reason = signal SIGSEGV: address access protected (fault address: 0x7fffe7b198d0)
* frame #0: 0x00007fffe7b198d0 libSkiaSharp.so
frame #1: 0x00007fff7d23b9c8 libfreetype.so.6`___lldb_unnamed_symbol117$$libfreetype.so.6 + 344
frame #2: 0x00007fff20c447ed libcairo.so.2`___lldb_unnamed_symbol2013$$libcairo.so.2 + 2477
frame #3: 0x00007fff20beceb1 libcairo.so.2`___lldb_unnamed_symbol1100$$libcairo.so.2 + 113
frame #4: 0x00007fff20c21a48 libcairo.so.2`___lldb_unnamed_symbol1684$$libcairo.so.2 + 2792
frame #5: 0x00007fff20c038c2 libcairo.so.2`___lldb_unnamed_symbol1364$$libcairo.so.2 + 450
frame #6: 0x00007fff20c03df7 libcairo.so.2`___lldb_unnamed_symbol1365$$libcairo.so.2 + 183
frame #7: 0x00007fff20bab5c1 libcairo.so.2`___lldb_unnamed_symbol219$$libcairo.so.2 + 129
frame #8: 0x00007fff20c26160 libcairo.so.2`___lldb_unnamed_symbol1728$$libcairo.so.2 + 176
frame #9: 0x00007fff20bfd6c9 libcairo.so.2`___lldb_unnamed_symbol1308$$libcairo.so.2 + 713
frame #10: 0x00007fff20bb5082 libcairo.so.2`___lldb_unnamed_symbol475$$libcairo.so.2 + 386
frame #11: 0x00007fff20c0a342 libcairo.so.2`cairo_show_glyphs + 34
frame #12: 0x00007fff2063e6e4 libpangocairo-1.0.so.0`___lldb_unnamed_symbol56$$libpangocairo-1.0.so.0 + 660
frame #13: 0x00007fff2063e90d libpangocairo-1.0.so.0`___lldb_unnamed_symbol57$$libpangocairo-1.0.so.0 + 365
frame #14: 0x00007fff20b4aed0 libpango-1.0.so.0`pango_renderer_draw_glyph_item + 64
frame #15: 0x00007fff20b5069a libpango-1.0.so.0`pango_renderer_draw_layout_line + 1098
frame #16: 0x00007fff20b50af8 libpango-1.0.so.0`pango_renderer_draw_layout + 312
frame #17: 0x00007fff2063ad99 libpangocairo-1.0.so.0`___lldb_unnamed_symbol42$$libpangocairo-1.0.so.0 + 57
frame #18: 0x00007fff0ba81211 libgtk-3.so.0`gtk_render_layout + 449
frame #19: 0x00007fff0bb05b12 libgtk-3.so.0`___lldb_unnamed_symbol6216$$libgtk-3.so.0 + 338
frame #20: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #21: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #22: 0x00007fff0bafc601 libgtk-3.so.0`___lldb_unnamed_symbol6107$$libgtk-3.so.0 + 17
frame #23: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #24: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #25: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #26: 0x00007fff0bc031ad libgtk-3.so.0`___lldb_unnamed_symbol9650$$libgtk-3.so.0 + 29
frame #27: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #28: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #29: 0x00007fff0bc037a1 libgtk-3.so.0`___lldb_unnamed_symbol9666$$libgtk-3.so.0 + 17
frame #30: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #31: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #32: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #33: 0x00007fff0bb70a4d libgtk-3.so.0`___lldb_unnamed_symbol7540$$libgtk-3.so.0 + 45
frame #34: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #35: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #36: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #37: 0x00007fff0ba7a8f9 libgtk-3.so.0`___lldb_unnamed_symbol4558$$libgtk-3.so.0 + 57
frame #38: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #39: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #40: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #41: 0x00007fff0baf6b4d libgtk-3.so.0`___lldb_unnamed_symbol6018$$libgtk-3.so.0 + 29
frame #42: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #43: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #44: 0x00007fff0baf3a45 libgtk-3.so.0`___lldb_unnamed_symbol5995$$libgtk-3.so.0 + 21
frame #45: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #46: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #47: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #48: 0x00007fff0baf253d libgtk-3.so.0`___lldb_unnamed_symbol5957$$libgtk-3.so.0 + 29
frame #49: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #50: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #51: 0x00007fff0baf3a65 libgtk-3.so.0`___lldb_unnamed_symbol5996$$libgtk-3.so.0 + 21
frame #52: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #53: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #54: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #55: 0x00007fff0ba90bd4 libgtk-3.so.0`___lldb_unnamed_symbol4860$$libgtk-3.so.0 + 244
frame #56: 0x00007fff0b9b076f libgtk-3.so.0`___lldb_unnamed_symbol2776$$libgtk-3.so.0 + 239
frame #57: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #58: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #59: 0x00007fff0b9b07c0 libgtk-3.so.0`___lldb_unnamed_symbol2777$$libgtk-3.so.0 + 64
frame #60: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #61: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #62: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #63: 0x00007fff0ba6c470 libgtk-3.so.0`___lldb_unnamed_symbol4455$$libgtk-3.so.0 + 112
frame #64: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #65: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #66: 0x00007fff0ba67171 libgtk-3.so.0`___lldb_unnamed_symbol4394$$libgtk-3.so.0 + 17
frame #67: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #68: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #69: 0x00007fff0babaec3 libgtk-3.so.0`___lldb_unnamed_symbol5324$$libgtk-3.so.0 + 355
frame #70: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #71: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #72: 0x00007fff0bab8ac1 libgtk-3.so.0`___lldb_unnamed_symbol5293$$libgtk-3.so.0 + 17
frame #73: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #74: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #75: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #76: 0x00007fff0bc031ad libgtk-3.so.0`___lldb_unnamed_symbol9650$$libgtk-3.so.0 + 29
frame #77: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #78: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #79: 0x00007fff0bc037a1 libgtk-3.so.0`___lldb_unnamed_symbol9666$$libgtk-3.so.0 + 17
frame #80: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #81: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #82: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #83: 0x00007fff0bc031ad libgtk-3.so.0`___lldb_unnamed_symbol9650$$libgtk-3.so.0 + 29
frame #84: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #85: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #86: 0x00007fff0bc037a1 libgtk-3.so.0`___lldb_unnamed_symbol9666$$libgtk-3.so.0 + 17
frame #87: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #88: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #89: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #90: 0x00007fff0bc031ad libgtk-3.so.0`___lldb_unnamed_symbol9650$$libgtk-3.so.0 + 29
frame #91: 0x00007fff0bbb09bd libgtk-3.so.0`___lldb_unnamed_symbol8587$$libgtk-3.so.0 + 29
frame #92: 0x00007fff0bbbad31 libgtk-3.so.0`___lldb_unnamed_symbol8758$$libgtk-3.so.0 + 593
frame #93: 0x00007fff0bc037a1 libgtk-3.so.0`___lldb_unnamed_symbol9666$$libgtk-3.so.0 + 17
frame #94: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #95: 0x00007fff0bbc035f libgtk-3.so.0`gtk_container_propagate_draw + 495
frame #96: 0x00007fff0bbc172e libgtk-3.so.0`___lldb_unnamed_symbol8883$$libgtk-3.so.0 + 142
frame #97: 0x00007fff0b9890ad libgtk-3.so.0`___lldb_unnamed_symbol2470$$libgtk-3.so.0 + 173
frame #98: 0x00007fff0b9aa0ea libgtk-3.so.0`___lldb_unnamed_symbol2740$$libgtk-3.so.0 + 266
frame #99: 0x00007fff0b9942cb libgtk-3.so.0`___lldb_unnamed_symbol2578$$libgtk-3.so.0 + 315
frame #100: 0x00007fff0baf063a libgtk-3.so.0`gtk_main_do_event + 3898
frame #101: 0x00007fff20dc1694 libgdk-3.so.0`___lldb_unnamed_symbol1553$$libgdk-3.so.0 + 100
frame #102: 0x00007fff20db3f52 libgdk-3.so.0`___lldb_unnamed_symbol1402$$libgdk-3.so.0 + 498
frame #103: 0x00007fff20db393f libgdk-3.so.0`___lldb_unnamed_symbol1400$$libgdk-3.so.0 + 415
frame #104: 0x00007fff20db3b0d libgdk-3.so.0`___lldb_unnamed_symbol1401$$libgdk-3.so.0 + 301
frame #105: 0x00007fff20ccda5a libgobject-2.0.so.0`g_signal_emit_valist + 4426
frame #106: 0x00007fff20cce700 libgobject-2.0.so.0`g_signal_emit + 144
frame #107: 0x00007fff20dbd8b0 libgdk-3.so.0`___lldb_unnamed_symbol1503$$libgdk-3.so.0 + 1232
frame #108: 0x00007fff20dcc13c libgdk-3.so.0`___lldb_unnamed_symbol1628$$libgdk-3.so.0 + 44
frame #109: 0x00007fff7ce143c4 libglib-2.0.so.0`___lldb_unnamed_symbol335$$libglib-2.0.so.0 + 20
frame #110: 0x00007fff7ce14bb0 libglib-2.0.so.0`g_main_context_dispatch + 336
frame #111: 0x00007fff7ce16b11 libglib-2.0.so.0`___lldb_unnamed_symbol349$$libglib-2.0.so.0 + 545
frame #112: 0x00007fff7ce16b51 libglib-2.0.so.0`g_main_context_iteration + 49
frame #113: 0x00007fff0bae9dc7 libgtk-3.so.0`gtk_main_iteration + 23
frame #114: 0x00007fff800d604f
frame #115: 0x00007fff7f0650a0
frame #116: 0x00007ffff7246d7b libcoreclr.so`___lldb_unnamed_symbol6437$$libcoreclr.so + 124
frame #117: 0x00007ffff7156faa libcoreclr.so`___lldb_unnamed_symbol3544$$libcoreclr.so + 1210
frame #118: 0x00007ffff7162e21 libcoreclr.so`___lldb_unnamed_symbol3705$$libcoreclr.so + 417
frame #119: 0x00007ffff7123c13 libcoreclr.so`___lldb_unnamed_symbol2890$$libcoreclr.so + 451
frame #120: 0x00007ffff71243b0 libcoreclr.so`___lldb_unnamed_symbol2891$$libcoreclr.so + 64
frame #121: 0x00007ffff716307b libcoreclr.so`___lldb_unnamed_symbol3706$$libcoreclr.so + 363
frame #122: 0x00007ffff74ff062 libcoreclr.so`___lldb_unnamed_symbol14907$$libcoreclr.so + 402
frame #123: 0x00007ffff7f5257f libpthread.so.0`start_thread + 239
frame #124: 0x00007ffff7b350e3 libc.so.6`__GI___clone + 67
Issue Analytics
- State:
- Created 4 years ago
- Reactions:2
- Comments:11 (6 by maintainers)
Top Results From Across the Web
Avalonia SaveFileDialog freezes app, but OpenFileDialog ...
I think freezing in your code is caused by Result . Try to switch to async/await for both dialogs: var dlg = new...
Read more >OpenFileDialog Class - Typedescriptor
Manjaro Linux dialogs doesn't work #3248 ... Unexpected UI behavior after closing OpenFileDialog #3986 ... OpenFileDialog.ShowAsync segfaults on Linux #2817.
Read more >Lunacy Linux version crashes when Saving
ShowFileDialogAsync(FileDialog dialog, Window parent) at Avalonia.Controls.SaveFileDialog.ShowAsync(Window parent) at Lunacy.Services.
Read more >Segmentation fault with dialog [closed]
I'm getting a segmentation fault with the following script when it's more that one child dir past the pwd. The program kills with...
Read more >Identify what's causing segmentation faults (segfaults)
A segmentation fault (aka segfault) is a common condition that causes programs to crash; they are often associated with a file named core...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Workaround for 0.9.x:
Duplicate of https://github.com/AvaloniaUI/Avalonia/issues/4325
I have the same issue. Avalonia 0.9.12
Back Trace