Author Topic: vsdiff problems  (Read 3294 times)

jvert

  • Community Member
  • Posts: 30
  • Hero Points: 2
vsdiff problems
« on: September 26, 2014, 07:59:50 pm »
The vsdiff tool used to be able to handle two directories. "vsdiff ~/dir1 ~/dir2" and automatically diff the contents of those directories. Now it just complains the file doesn't exist.

Also I am seeing a lot of crashes in vsdiff. If you run it from within slickedit, the whole editor just disappears. If you run vsdiff from the command line it dies with a segmentation fault. What is the best way to diagnose these problems? There is a stack trace below, let me know if you want a core dump or something.

Ubuntu 14.04, x64, v19 Beta5

here is a stack trace I got from gdb:

Code: [Select]
(gdb) bt
#0  0x00007ff351048246 in QFont::operator=(QFont const&) () from /opt/slickedit/bin/libQtGui.so.4
#1  0x000000000078afc8 in seLineLayout::appendCell(QFont const&, QColor, QColor, char const*, int) ()
#2  0x0000000000820207 in crt2_layout_line(crt2_t*, int) ()
#3  0x00000000008252bb in crt2_refresh(crt2_t*, QPainter*, QRect*, bool, bool, bool) [clone .isra.80] ()
#4  0x00000000006fbce8 in refreshwindow(int, int*, QPainter*, QRect*, bool) [clone .isra.90] ()
#5  0x00000000006fcedf in se_refresh(int) ()
#6  0x00000000006fd004 in vsRefresh ()
#7  0x00000000012d9650 in DiffGauge::setCaption(cmStringT<char, 1, 30>) ()
#8  0x00000000012d16d8 in tokenizeFile(int, cmArray<diffToken>&, int, int*, DiffGauge*) ()
#9  0x00000000012d1c73 in _DiffTokens ()
#10 0x00000000012d3250 in _DiffBalanceFiles ()
#11 0x00000000005e551f in call_dllpc(int, int, namelist_t*) ()
#12 0x0000000000708e99 in pmethod_op() ()
#13 0x0000000000708e99 in pmethod_op() ()
#14 0x00000000005e7c15 in run_proc(int) ()
#15 0x0000000000736fd4 in call_key_common(filewindow_t*, int, int, unsigned int, unsigned int, bool, unsigned char) ()
#16 0x000000000073720f in vs_call_keya(filewindow_t*, int, int) ()
#17 0x000000000063a622 in vsCtlSlickCExecuteEvent ()
#18 0x000000000063ab8d in vsQTSlickCExecuteMousePressEvent ()
#19 0x00007ff350e07090 in QWidget::event(QEvent*) () from /opt/slickedit/bin/libQtGui.so.4
#20 0x00007ff351215fe6 in QFrame::event(QEvent*) () from /opt/slickedit/bin/libQtGui.so.4
#21 0x00007ff35132376b in QAbstractItemView::viewportEvent(QEvent*) () from /opt/slickedit/bin/libQtGui.so.4
#22 0x00007ff35136b285 in QTreeView::viewportEvent(QEvent*) () from /opt/slickedit/bin/libQtGui.so.4
#23 0x00007ff35084eb48 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /opt/slickedit/bin/libQtCore.so.4
#24 0x00007ff350db9f1f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /opt/slickedit/bin/libQtGui.so.4
#25 0x00007ff350dbf5f9 in QApplication::notify(QObject*, QEvent*) () from /opt/slickedit/bin/libQtGui.so.4
#26 0x00007ff35084e9bc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /opt/slickedit/bin/libQtCore.so.4
#27 0x00007ff350dbaf22 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /opt/slickedit/bin/libQtGui.so.4
#28 0x00007ff350e33438 in ?? () from /opt/slickedit/bin/libQtGui.so.4
#29 0x00007ff350e3222a in QApplication::x11ProcessEvent(_XEvent*) () from /opt/slickedit/bin/libQtGui.so.4
#30 0x00007ff350e59942 in ?? () from /opt/slickedit/bin/libQtGui.so.4
#31 0x00007ff34f1fce04 in g_main_dispatch (context=0x3d8f9a0) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3064
#32 g_main_context_dispatch (context=context@entry=0x3d8f9a0) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3663
#33 0x00007ff34f1fd048 in g_main_context_iterate (context=context@entry=0x3d8f9a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3734
#34 0x00007ff34f1fd0ec in g_main_context_iteration (context=0x3d8f9a0, may_block=1) at /build/buildd/glib2.0-2.40.0/./glib/gmain.c:3795
#35 0x00007ff35087c5df in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/slickedit/bin/libQtCore.so.4
#36 0x00007ff350e595de in ?? () from /opt/slickedit/bin/libQtGui.so.4
#37 0x00007ff35084d802 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/slickedit/bin/libQtCore.so.4
#38 0x00007ff35084da57 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /opt/slickedit/bin/libQtCore.so.4
#39 0x0000000000678abb in gui_modal_wait(filewindow_t*) ()
#40 0x000000000068a2e4 in p_modal_wait_op() ()
#41 0x00000000005e7c15 in run_proc(int) ()
#42 0x00000000005d526e in run_proc_immediate2(m_s*, int, int, VSARGTYPE*, int, int) [clone .isra.14] ()
#43 0x00000000005d5f44 in run_proc_immediate(int, int, VSARGTYPE*, int, int) ()
#44 0x0000000000777470 in execute_command(VSLSTR*, int, int*, slickedit::SEString const&) ()
#45 0x00000000007051f2 in vsaexecutelstr(unsigned char*, int, VSLSTR*) ()
#46 0x000000000070680d in pexecute_op() ()
#47 0x00000000005e7c15 in run_proc(int) ()
#48 0x00000000006a72b5 in se_init(VSINIT*) ()
#49 0x00000000006832a7 in vsInit ()
#50 0x000000000051a0a6 in vmain(int, char**) ()
#51 0x000000000132f3f3 in xmain ()
#52 0x00000000004e7279 in main ()

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #1 on: September 26, 2014, 08:15:29 pm »
Is it reproducible?  Is there a pair of files that you can reliably reproduce this with?  What platform is this on?

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #2 on: September 28, 2014, 08:11:56 pm »
Is it reproducible?  Is there a pair of files that you can reliably reproduce this with?  What platform is this on?

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #3 on: September 29, 2014, 01:22:22 pm »
I fixed the issue with filenames you mentioned.  I did get a crash too, so I'm checking into that now.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #4 on: September 29, 2014, 05:23:50 pm »
I fixed two separate crash bugs.  One had been lurking for years.  Hopefully one of them was the one you were seeing.  Thanks for the report!

jvert

  • Community Member
  • Posts: 30
  • Hero Points: 2
Re: vsdiff problems
« Reply #5 on: September 30, 2014, 04:58:19 pm »
I just tried on beta6 and I'm still seeing a crash. I've attached a tar.gz file which repros the problem for me.

'vsdiff ours theirs' gives an error "File theirs/ours does not exist"
'vsdiff ours/ theirs/' works and brings up the multi-file diff UI (this is fixed since B5)

Now click on 'setup.py' and vsdiff will crash with a segmentation error.

If I do a single-file diff with 'vsdiff ours/setup.py theirs/setup.py' then it works fine.

Ubuntu 14.04, x64.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #6 on: September 30, 2014, 07:26:23 pm »
Definitely something bad going on here.  Let me see what I can figure out.

redwards

  • Community Member
  • Posts: 10
  • Hero Points: 0
Re: vsdiff problems
« Reply #7 on: October 01, 2014, 12:57:52 am »
I haven't been able to bring up vsdiff from the interface in Windows 64 for the beta cycle so far.  It just crashes and then causes the editor to crash as well.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #8 on: October 01, 2014, 01:08:54 pm »
I haven't been able to bring up vsdiff from the interface in Windows 64 for the beta cycle so far.  It just crashes and then causes the editor to crash as well.

How are you trying to bring it up?  Tools>File Difference?

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #9 on: October 01, 2014, 04:28:22 pm »
I just tried on beta6 and I'm still seeing a crash. I've attached a tar.gz file which repros the problem for me.

'vsdiff ours theirs' gives an error "File theirs/ours does not exist"
'vsdiff ours/ theirs/' works and brings up the multi-file diff UI (this is fixed since B5)

Now click on 'setup.py' and vsdiff will crash with a segmentation error.

If I do a single-file diff with 'vsdiff ours/setup.py theirs/setup.py' then it works fine.

Ubuntu 14.04, x64.

Please take the attached diff.e and load it (Macro>Load Module).  Does this fix the problem?

redwards

  • Community Member
  • Posts: 10
  • Hero Points: 0
Re: vsdiff problems
« Reply #10 on: October 01, 2014, 05:48:59 pm »
How are you trying to bring it up?  Tools>File Difference?

Yes.  Or just clicking the icon.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #11 on: October 01, 2014, 06:10:09 pm »
How are you trying to bring it up?  Tools>File Difference?

Yes.  Or just clicking the icon.
What happens if you try a clean config?  (Run the editor as "<path>vs -sc testconfig")

jvert

  • Community Member
  • Posts: 30
  • Hero Points: 2
Re: vsdiff problems
« Reply #12 on: October 01, 2014, 10:05:08 pm »
I just tried on beta6 and I'm still seeing a crash. I've attached a tar.gz file which repros the problem for me.

'vsdiff ours theirs' gives an error "File theirs/ours does not exist"
'vsdiff ours/ theirs/' works and brings up the multi-file diff UI (this is fixed since B5)

Now click on 'setup.py' and vsdiff will crash with a segmentation error.

If I do a single-file diff with 'vsdiff ours/setup.py theirs/setup.py' then it works fine.

Ubuntu 14.04, x64.

Please take the attached diff.e and load it (Macro>Load Module).  Does this fix the problem?

Yes, that fixed it! Thanks, Dan.

redwards

  • Community Member
  • Posts: 10
  • Hero Points: 0
Re: vsdiff problems
« Reply #13 on: October 02, 2014, 04:28:29 pm »
Quote
What happens if you try a clean config?  (Run the editor as "<path>vs -sc testconfig")

Well, yes, that works.  Something botched in the default config.

Dan

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2074
  • Hero Points: 101
Re: vsdiff problems
« Reply #14 on: October 02, 2014, 05:32:00 pm »
Can you zip up that config and send it to me?