Bug 354551

Summary: Crash when creating text file and calling "Save-As" with other extension from krviewer (internal editor)
Product: [Applications] krusader Reporter: Werner <werasm>
Component: krviewerAssignee: Krusader Bugs Distribution List <krusader-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: crash CC: alex.bikadorov, krusader-bugs-null
Priority: NOR    
Version First Reported In: 2.4.0-beta3 "Single Step"   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Werner 2015-10-29 10:32:55 UTC
- I create a text file x.h by right-clicking and selecting "Create New", "Text File" from context menu.
- I save the empty text file as x.cpp, whereafter both Krusader and the interal editor stops working.
- Note: UTF8 encoding was used.

Reproducible: Always

Steps to Reproduce:
1. Create text file x.h from by right clicking and selecting "Create New", "Text File" from context menu.
2. The internal editor automatically opens. 
3. From its menu, click "Save As" and save the file as x.cpp.

Actual Results:  
Krusader crashes

Expected Results:  
Krusader should continue working and I should be able to edit the renamed file.

From crash report:

ProblemType: Crash
ApportVersion: 2.14.1-0ubuntu3.18
Architecture: amd64
CrashCounter: 1
CurrentDesktop: Unity

... stack trace end

 #1994 0x00007f243d72687a in QMetaObject::activate (sender=sender@entry=0x2bbcb30, m=m@entry=0x612fc0 <PanelViewerBase::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff6000eae0) at kernel/qobject.cpp:3539
         receiverInSameThread = true
         previousSender = 0x7fff6000ec20
         callFunction = 0x5369c0 <KrViewer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>
         receiver = 0x2f722f0
         currentSender = {sender = 0x2bbcb30, signal = 32, ref = 1}
         method_relative = 10
         c = 0x3432430
         last = 0x3432430
         methodOffset = <optimized out>
         signal_absolute_index = 32
         empty_argv = {0x0}
         locker = {val = 38210512}
         connectionLists = 0x3433bb0
         list = 0x3433d50
         signalOffset = <optimized out>
         signal_index = <optimized out>
         currentThreadId = 139793674733504
 #1995 0x0000000000537f65 in PanelViewerBase::urlChanged (this=this@entry=0x2bbcb30, _t1=_t1@entry=0x2bbcb30, _t2=...) at /build/buildd/krusader-2.4.0~beta3/obj-x86_64-linux-gnu/krusader/KViewer/panelviewer.moc:133
         _a = {0x0, 0x7fff6000ead8, 0x7fff6000eb30}
 #1996 0x0000000000533d3e in setUrl (url=<error reading variable: access outside bounds of object referenced via synthetic pointer>, this=0x2bbcb30) at /build/buildd/krusader-2.4.0~beta3/krusader/KViewer/panelviewer.h:46
 No locals.
 #1997 KrViewer::refreshTab (this=0x2f722f0, pvb=0x2bbcb30) at /build/buildd/krusader-2.4.0~beta3/krusader/KViewer/krviewer.cpp:539
         ndx = <optimized out>
 #1998 0x00007f243d72687a in QMetaObject::activate (sender=0x2bbcb30, m=m@entry=0x612fc0 <PanelViewerBase::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff6000ec80) at kernel/qobject.cpp:3539
         receiverInSameThread = true
         previousSender = 0x7fff6000edc0
         callFunction = 0x5369c0 <KrViewer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>
         receiver = 0x2f722f0
         currentSender = {sender = 0x2bbcb30, signal = 32, ref = 1}
         method_relative = 10
         c = 0x3432430
         last = 0x3432430
         methodOffset = <optimized out>
         signal_absolute_index = 32
         empty_argv = {0x0}
         locker = {val = 38210512}
         connectionLists = 0x3433bb0
         list = 0x3433d50
         signalOffset = <optimized out>
         signal_index = <optimized out>
         currentThreadId = 139793674733504
 #1999 0x0000000000537f65 in PanelViewerBase::urlChanged (this=<optimized out>, _t1=0x2bbcb30, _t2=...) at /build/buildd/krusader-2.4.0~beta3/obj-x86_64-linux-gnu/krusader/KViewer/panelviewer.moc:133
         _a = {0x0, 0x7fff6000ec78, 0x7fff6000ecd0}
Title: krusader crashed with SIGSEGV in KUrl::equals()
Uname: Linux 3.15.0-031500-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
Comment 1 Alex Bikadorov 2018-05-12 19:00:24 UTC
Cannot reproduce.
Please try again with Krusader 2.5 or higher.