applications crash upon entering directories with cyrillic named files

Bug #28651 reported by Alexandre Prokoudine
8
Affects Status Importance Assigned to Milestone
libc (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

Any gtk2 based application crash when it enters a directory that has cyrillic letters in its name or just file with cyrillic letters inside. E.g. bluefish crashes when I try to open a file in such a directory via 'open file' dialog, and Nautilus restarts when I enter such a directory.

It happens on both a clean installation of DapperFlight2 and dist-upgraded version of it.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks for your bug. Could you get a backtrace of the crash (the bug-buddy dialog has it)? Probably a duplicate of #28640

Changed in gtk+2.0:
status: Unconfirmed → Needs Info
Revision history for this message
Alexandre Prokoudine (alexandre-prokoudine) wrote :
Download full text (5.4 KiB)

Would Inkscape count for example? :)

As soon as I enter such a directory, it crashes with:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1229998400 (LWP 30813)]
0xb6ce7d9c in wcsxfrm_l () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
#0 0xb6ce7d9c in wcsxfrm_l () from /lib/tls/i686/cmov/libc.so.6
#1 0xb6ce6da8 in wcsxfrm () from /lib/tls/i686/cmov/libc.so.6
#2 0xb6f07b61 in g_utf8_collate_key () from /usr/lib/libglib-2.0.so.0
#3 0xb6f07f19 in g_utf8_collate_key_for_filename () from /usr/lib/libglib-2.0.so.0
#4 0xb766b024 in gtk_file_info_get_display_key () from /usr/lib/libgtk-x11-2.0.so.0
#5 0xb765d058 in _gtk_file_chooser_default_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#6 0xb7763a8c in gtk_tree_model_sort_get_model () from /usr/lib/libgtk-x11-2.0.so.0
#7 0xb6ef2a17 in g_qsort_with_data () from /usr/lib/libglib-2.0.so.0
#8 0xb6ecd945 in g_array_sort_with_data () from /usr/lib/libglib-2.0.so.0
#9 0xb7764ba0 in gtk_tree_model_sort_clear_cache () from /usr/lib/libgtk-x11-2.0.so.0
#10 0xb77653d8 in gtk_tree_model_sort_clear_cache () from /usr/lib/libgtk-x11-2.0.so.0
#11 0xb7765fdd in gtk_tree_model_sort_convert_child_iter_to_iter () from /usr/lib/libgtk-x11-2.0.so.0
#12 0xb775d362 in gtk_tree_model_get_iter () from /usr/lib/libgtk-x11-2.0.so.0
#13 0xb778184e in gtk_tree_view_set_model () from /usr/lib/libgtk-x11-2.0.so.0
#14 0xb765d4b0 in _gtk_file_chooser_default_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#15 0xb765e272 in _gtk_file_chooser_default_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#16 0xb714b663 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#17 0xb713e798 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0xb714e715 in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0
#19 0xb7150238 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#20 0xb7150589 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0xb766d5c5 in _gtk_file_system_model_get_path () from /usr/lib/libgtk-x11-2.0.so.0
#22 0xb714b663 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#23 0xb713e798 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#24 0xb714e715 in g_signal_stop_emission () from /usr/lib/libgobject-2.0.so.0
#25 0xb7150238 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#26 0xb7153730 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#27 0xb64ca665 in gtk_file_system_gnome_vfs_new () from /usr/lib/gtk-2.0/2.4.0/filesystems/libgnome-vfs.so
#28 0xb740ebed in gnome_vfs_job_get_count () from /usr/lib/libgnomevfs-2.so.0
#29 0xb6ee6862 in g_child_watch_add () from /usr/lib/libglib-2.0.so.0
#30 0xb6ee4547 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#31 0xb6ee7606 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#32 0xb6ee7928 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#33 0xb763a1a3 in gtk_dialog_run () from /usr/lib/libgtk-x11-2.0.so.0
#34 0xb7ca31f4 in Gtk::Dialog::run () from /usr/lib/libgtkmm-2.4.so.1
#35 0x08293540 in Inkscape::UI::Dialogs::FileOpenDialogImpl::show (this=0xa21cb40) at dialogs/filedialog.cpp:899
#36 0x0816d595 in sp_file_open_dialog (object=0x0, data=...

Read more...

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks for your bug. That's a known libc issue, you can workaround it by setting LC_COLLATE=C by example

Changed in gtk+2.0:
status: Needs Info → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

And thank you for the backtrace, the wcsxfrm_l() to start shows it's that libc issue I pointed before

Revision history for this message
Alexandre Prokoudine (alexandre-prokoudine) wrote :

"That's a known libc issue, you can workaround it by setting LC_COLLATE=C by example"

Thank you for advice. How exactly can I do it, so that all applications benefit from it, not only those I run from console where I set the variable before?

Revision history for this message
Sebastien Bacher (seb128) wrote :

setting LC_COLLATE=C to /etc/environment should do the trick

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.