Bug 291694 - Newline in filename crashes Dolphin
Summary: Newline in filename crashes Dolphin
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 1.7
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Peter Penz
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-16 20:25 UTC by Jonathan Mast
Modified: 2012-01-20 16:13 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.8.0


Attachments
Backtrace (5.36 KB, text/plain)
2012-01-18 01:50 UTC, Jonathan Mast
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Mast 2012-01-16 20:25:31 UTC
Version:           1.7 (using KDE 4.7.3) 
OS:                Linux

If you have a file with a newline (\n) in the name dolphin crashes when opening the containing folder.

Reproducible: Always

Steps to Reproduce:
Open dolphin.
Right click an empty area and click Create New > Text File
Enter foo\n as the name and click OK


Actual Results:  
Dolphin Crashes(Seg. Fault)

Expected Results:  
Create a file with a newline in the name
Comment 1 Peter Penz 2012-01-16 21:46:36 UTC
Thanks for the report, but I cannot reproduce the issue with KDE 4.7.4 and also not with trunk (KDE 4.8). Could you please provide a backtrace of the crash (see http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports#Backtraces)?
Comment 2 Jonathan Mast 2012-01-18 01:50:00 UTC
Created attachment 67958 [details]
Backtrace

I discovered that it is the dropbox(dolphin-box-plugin) plugin that is causing this so I will report the bug there.
Comment 3 Peter Penz 2012-01-18 08:37:51 UTC
Application: Dolphin (dolphin), signal: Segmentation fault
__libc_enable_asynccancel () at ../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:66
        in ../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S
[Current thread is 1 (Thread 0x7fee56b5c780 (LWP 11978))]

Thread 4 (Thread 0x7fee44530700 (LWP 11979)):
#0  0x00007fee56448ac0 in pthread_mutex_unlock (mutex=0x1b2b3f8) at forward.c:184
#1  0x00007fee4eb5e3f5 in g_main_context_query () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fee4eb5ee6a in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fee4eb5f429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007fee52876f3e in QEventDispatcherGlib::processEvents (this=0x1b28040, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fee5284acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fee5284aef7 in QEventLoop::exec (this=0x7fee4452fdd0, flags=...) at kernel/qeventloop.cpp:201
#7  0x00007fee5276227f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#8  0x00007fee5282dcbf in QInotifyFileSystemWatcherEngine::run (this=0x1b293a0) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007fee52764d05 in QThreadPrivate::start (arg=0x1b293a0) at thread/qthread_unix.cpp:331
#10 0x00007fee4f030efc in start_thread (arg=0x7fee44530700) at pthread_create.c:304
#11 0x00007fee5643a89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fee4179a700 (LWP 11982)):
#0  0x00007fee5642e773 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fee4eb5ef68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fee4eb5f429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fee52876f3e in QEventDispatcherGlib::processEvents (this=0x1f0b200, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007fee5284acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fee5284aef7 in QEventLoop::exec (this=0x7fee41799dd0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fee5276227f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:498
#7  0x00007fee5282dcbf in QInotifyFileSystemWatcherEngine::run (this=0x1fe8d10) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fee52764d05 in QThreadPrivate::start (arg=0x1fe8d10) at thread/qthread_unix.cpp:331
#9  0x00007fee4f030efc in start_thread (arg=0x7fee4179a700) at pthread_create.c:304
#10 0x00007fee5643a89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fee3bde2700 (LWP 12003)):
[KCrash Handler]
#6  0x00007fee40099c9e in ?? () from /usr/lib/kde4/dolphin-box-plugin.so
#7  0x00007fee557c5c37 in UpdateItemStatesThread::run (this=0x23a94b0) at ../../../dolphin/src/views/versioncontrol/updateitemstatesthread.cpp:68
#8  0x00007fee52764d05 in QThreadPrivate::start (arg=0x23a94b0) at thread/qthread_unix.cpp:331
#9  0x00007fee4f030efc in start_thread (arg=0x7fee3bde2700) at pthread_create.c:304
#10 0x00007fee5643a89d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fee56b5c780 (LWP 11978)):
#0  __libc_enable_asynccancel () at ../nptl/sysdeps/unix/sysv/linux/x86_64/cancellation.S:66
#1  0x00007fee5642e758 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:85
#2  0x00007fee4c8d54f2 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007fee4c8d5a3f in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#4  0x00007fee4c8d5ac4 in xcb_writev () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#5  0x00007fee5019c597 in _XSend () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#6  0x00007fee5019c909 in _XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#7  0x00007fee5018d19f in XEventsQueued () from /usr/lib/x86_64-linux-gnu/libX11.so.6
#8  0x00007fee532f3f07 in x11EventSourcePrepare (s=0x1953610, timeout=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:77
#9  0x00007fee4eb5dff2 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 0x00007fee4eb5edfd in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 0x00007fee4eb5f429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#12 0x00007fee52876ed6 in QEventDispatcherGlib::processEvents (this=0x1931a00, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#13 0x00007fee532f407e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#14 0x00007fee5284acf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#15 0x00007fee5284aef7 in QEventLoop::exec (this=0x7fff0be9e580, flags=...) at kernel/qeventloop.cpp:201
#16 0x00007fee5284f789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#17 0x00007fee56743269 in kdemain (argc=5, argv=0x7fff0be9ead8) at ../../../dolphin/src/main.cpp:85
#18 0x00007fee5637a30d in __libc_start_main (main=0x400640 <main(int, char**)>, argc=5, ubp_av=0x7fff0be9ead8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff0be9eac8) at libc-start.c:226
#19 0x0000000000400671 in _start ()
Comment 4 Peter Penz 2012-01-18 08:43:32 UTC
Thanks for the backtrace. I'm quite sure that it has been fixed in the meantime in 4.8 but I currently cannot test the issue due to limited time and some other issues that need to be fixed. It would be great if you could check again whether the issue still occurs as after 4.8 gets available and let us know here whether my "I'm quite sure" was valid ;-)
Comment 5 Jonathan Mast 2012-01-20 16:02:14 UTC
I tested this with 4.8 RC2 in a VirtualBox and it appears to be fixed.