Faculty of Information Technology
Software Engineering Group

Opened 7 years ago

Closed 7 years ago

#79 closed defect (worksforme)

Settings => mercurial+ => MessageNotUnderstood

Reported by: Patrik Svestka Owned by:
Priority: major Milestone:
Component: default Keywords:
Cc: Also affects CVS HEAD (eXept version): no

Description

When using the snapshot
Smalltalk versionString -> '6.2.5.2095'

WinX64 version.

I'm getting message when just clicking on the Mercurial+ :
[MessageNotUnderstood?]: UndefinedObject? does not understand: #asFilename in process SettingsDialog? [89]

Attachments (5)

Copy_Walkback_Text_to_copy.txt (5.6 KB) - added by Patrik Svestka 7 years ago.
settings.stx (6.6 KB) - added by Patrik Svestka 7 years ago.
HGSourceCodeManagementSettingsAppl-doCheckSettings.st (725 bytes) - added by Jan Vrany 7 years ago.
Fix for issue with DNU when setting the HG command (attempt 1)
stacktrace-issue73-2.txt (2.8 KB) - added by Jan Vrany 7 years ago.
HGSourceCodeManagementSettingsAppl-doSelectHGCommand.st (1.0 KB) - added by Jan Vrany 7 years ago.

Download all attachments as: .zip

Change History (21)

comment:1 Changed 7 years ago by Jan Vrany

Works for me. I need - as always - at least:

  • full stack trace (there's Context -> Copy Walkback Text to copy stack trace to clippboard
  • Your preferences - %USERPROFILE%\.smalltalk\settings.stc (if it exists, you may want to look at it in text editor to make sure it does not contain anything you consider confidential)

Changed 7 years ago by Patrik Svestka

Changed 7 years ago by Patrik Svestka

Attachment: settings.stx added

comment:2 Changed 7 years ago by Patrik Svestka

I've attached all the files you have requested.

comment:3 Changed 7 years ago by Jan Vrany

Status: newtesting

It seems that the problem is that there's no Mercurial installed on your system (or not found in @PATH@. This case was not handled, leading to DNU.

I believe 0ec4c46/stx.libscm fixes the issue. I cannot test on a real system for I don't have a Windows machine with no Mercurial installed.

Could you try build 2010 (or newer) and confirm?

comment:4 Changed 7 years ago by Patrik Svestka

The Mercurial was not in the PATH. I have tested such a situation - on version '6.2.5.2103' the error message did not appear.

However, if I want to add hg.exe (Mercurial installed at C:\Program Files\Mercurial) via browser button I got the following error:

[HGInvalidExecutableError]: 'hg' executable not configured and not found in standard places! in process SettingsDialog? [12]

HGCommand::showconfig class(HGCommand class) >> hgCommandValidate: nil {6758400} [10]
HGCommand::showconfig class(HGCommand class) >> hgExecutable {6762496} [10]
HGCommand::showconfig(HGCommand) >> executable {6766592} [2]
HGCommand::showconfig(HGCommand) >> execute {6770688} [19]
HGConfig >> root {6774784} [9]
HGConfig >> get:default: #(#ui #username) nil {6778880} [2]
HGConfig >> ui_username {6782976} [2]
HGSourceCodeManagementSettingsAppl >> doCheckUsername {6787072} [8]
HGSourceCodeManagementSettingsAppl >> doCheckSettings {6791168} [5]
HGSourceCodeManagementSettingsAppl(Object) >> perform: #doCheckSettings {6795264} [32]
InterestConverter? >> update:with:from: nil nil ValueHolder?(false) {6799360} [4]
[] in Object>>changed:with: >> value: InterestConverter?(sending #doCheckSettings to a HGSourceCodeManagementSettingsAppl) {6803456} [7]
IdentitySet?(Set) >> do: [] in Object>>changed:with: {6807552} [17]
ValueHolder?(Model) >> dependentsDo: [] in Object>>changed:with: {6811648} [12]
ValueHolder?(Object) >> changed:with: nil nil {6815744} [6]
ValueHolder?(Object) >> changed: nil {6819840} [6]
ValueHolder?(Object) >> changed {6823936} [6]
ValueHolder?(Object) >> perform: #changed {6828032} [32]
InterestConverter? >> update:with:from: #value true ValueHolder?(true) {6832128} [4]
[] in Object>>changed:with: >> value: InterestConverter?(sending #changed to ValueHolder?(false)) {6836224} [7]
IdentitySet?(Set) >> do: [] in Object>>changed:with: {6840320} [17]
ValueHolder?(Model) >> dependentsDo: [] in Object>>changed:with: {6844416} [12]
ValueHolder?(Object) >> changed:with: #value true {6848512} [6]
ValueHolder?(ValueModel?) >> value: true {6852608} [15]
HGSourceCodeManagementSettingsAppl >> doCheckCommand {6856704} [43]
HGSourceCodeManagementSettingsAppl >> doCheckSettings {6860800} [4]
HGSourceCodeManagementSettingsAppl(Object) >> perform: #doCheckSettings {6864896} [32]
InterestConverter? >> update:with:from: #value '"C:\Program Files\Mercurial\hg.exe"' ValueHolder?('"C:\Program Files\Mercurial\hg.exe"') {6868992} [4]
[] in Object>>changed:with: >> value: InterestConverter?(sending #doCheckSettings to a HGSourceCodeManagementSettingsAppl) {6873088} [7]
IdentitySet?(Set) >> do: [] in Object>>changed:with: {6877184} [17]
ValueHolder?(Model) >> dependentsDo: [] in Object>>changed:with: {6881280} [12]
ValueHolder?(Object) >> changed:with: #value '"C:\Program Files\Mercurial\hg.exe"' {6885376} [6]
ValueHolder?(ValueModel?) >> value: '"C:\Program Files\Mercurial\hg.exe"' {6889472} [15]
HGSourceCodeManagementSettingsAppl >> doSelectHGCommand {6893568} [10]
HGSourceCodeManagementSettingsAppl(Object) >> perform: #doSelectHGCommand {6897664} [32]
HGSourceCodeManagementSettingsAppl(Object) >> perform:withOptionalArgument: #doSelectHGCommand true {6901760} [8]
MessageSend? >> value: true {6905856} [4]
ButtonController? >> performAction {6909952} [35]
ButtonController? >> buttonRelease:x:y: 1 34 7 {6914048} [37]
ButtonController?(Object) >> perform:withArguments: #buttonRelease:x:y: #(1 34 7) {6918144} [170]
Button(DisplaySurface?) >> dispatchEvent:type:arguments:withFocusOn:delegate: WindowEvent::ButtonReleaseEvent?(#buttonRelease:x:y: view: Button args: #(1 34 7)) #buttonRelease:x:y: #(1 34 7) a FilenameEditField? true {6922240} [236]
Button(DisplaySurface?) >> dispatchEvent:withFocusOn:delegate: WindowEvent::ButtonReleaseEvent?(#buttonRelease:x:y: view: Button args: #(1 34 7)) a FilenameEditField? true {6926336} [5]
[] in WindowGroup?>>processEventsWithModalGroup: >> value {6930432} [231]
WindowGroup::LastEventQuery? class(GenericException? class) >> handle:do: [] in WindowGroup?>>processEventsWithModalGroup: [] in WindowGroup?>>processEventsWithModalGroup: {6934528} [14]
[] in WindowGroup?>>processEventsWithModalGroup: >> value {6938624} [17]
Block >> ensure: [] in WindowGroup?>>processEventsWithModalGroup: {6942720} [12]
WindowGroup? >> processEventsWithModalGroup: nil {6946816} [243]
[] in WindowGroup?>>eventLoopWhile:onLeave: >> value {6950912} [162]
SignalSet? >> handle:do: [] in WindowGroup?>>eventLoopWhile:onLeave: [] in WindowGroup?>>eventLoopWhile:onLeave: {6955008} [14]
[] in WindowGroup?>>eventLoopWhile:onLeave: >> value {6959104} [85]
Block >> ensure: [] in WindowGroup?>>startupWith: (optimized) {6963200} [12]
WindowGroup? >> eventLoopWhile:onLeave: [] in WindowGroup?>>startupWith: (optimized) [] in WindowGroup?>>startupWith: (optimized) {6967296} [194]
[] in WindowGroup?>>startupWith: >> value {6971392} [28]
Block >> ensure: [] in WindowGroup?>>startupWith: {6975488} [12]
[] in WindowGroup?>>startupWith: >> value {6979584} [29]
WindowGroup::WindowGroupQuery? class(Notification class) >> answer:do: WindowGroup?(SettingsDialog?) [] in WindowGroup?>>startupWith: {6983680} [10]
[] in WindowGroup?>>startupWith: >> value {6987776} [23]
ExceptionHandlerSet? >> handleDo: [] in WindowGroup?>>startupWith: {6991872} [14]
[] in Process>>start >> value {6995968} [35]
SignalSet? >> handle:do: [] in Process>>start [] in Process>>start {7000064} [14]
[] in Process>>start >> value {7004160} [23]
Block >> ensure: [] in Process>>start {7008256} [12]
Process >> start {7012352} [37]
UndefinedObject? >> nil {7016448} [0]

When there is a directory path, clicking on button browse does not follow the directory (e.g. "C:\Program Files\Mercurial\"), instead it starts from the directory where StX is located.

Changed 7 years ago by Jan Vrany

Fix for issue with DNU when setting the HG command (attempt 1)

comment:5 Changed 7 years ago by Jan Vrany

Ouch, mea culpa.

The above patch should "fix" that (even though this is quite ugly as it interferes
with the system preferences). Could you try it and confirm?

To load it, you may do

Smalltalk fileIn: '/tmp/HGSourceCodeManagementSettingsAppl-doCheckSettings.st'

comment:6 Changed 7 years ago by Patrik Svestka

Thank you for the loading procedure. I was wondering how to load the patch :)).

I confirm that this patch works. It now takes hg.exe and does not produce any errors. I did not yet commit any source code to Mercurial so I have to test the functionality too.

comment:7 Changed 7 years ago by Jan Vrany

Good. I'll commit that fix later together with fix for default path (not to always default to stx workdirectory)

comment:8 Changed 7 years ago by Jan Vrany

Fixed in b4c3383/stx.libscm and 52b1e45/stx.libscm.
Will be included from build 2014 onwards.

comment:9 Changed 7 years ago by Patrik Svestka

It works on build 2015, only the browse button does not work as expected. Still shows the StX directory instead of the path written there.

e.g.
When I have path "C:\Program Files\Mercurial\hg.exe" clicking on browse I expect to be at the directory "C:\Program Files\Mercurial\" not at "C:\prg_sdk\smalltalkx-jv-branch-6.2.5_x86_64-win32\bin\.\ "

comment:10 Changed 7 years ago by Patrik Svestka

When (build 2107) clicking on Mercurial+ settings this warning is displayed:
(probably some index issue?)

Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 9 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2

comment:11 in reply to:  9 Changed 7 years ago by Jan Vrany

Replying to patrik.svestka@…:

It works on build 2015, only the browse button does not work as expected. Still shows the StX directory instead of the path written there.

e.g.
When I have path "C:\Program Files\Mercurial\hg.exe" clicking on browse I expect to be at the directory "C:\Program Files\Mercurial\" not at "C:\prg_sdk\smalltalkx-jv-branch-6.2.5_x86_64-win32\bin\.\ "

Interesting. Works for me...

comment:12 in reply to:  10 Changed 7 years ago by Jan Vrany

Replying to patrik.svestka@…:

When (build 2107) clicking on Mercurial+ settings this warning is displayed:
(probably some index issue?)

Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 9 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2
Processor [info]: removing invalid read-select fileDescriptor: 5 idx: 2

This is unrelated. It's a known issue with I/O subsystem, which is rather tricky on Windows (due to rather stupid design of Windows, to put it mildly :) It should not harm, but it's annoying. Perhaps fill in another bug report. But fixing this would be difficult.

Changed 7 years ago by Jan Vrany

Attachment: stacktrace-issue73-2.txt added

comment:13 Changed 7 years ago by Jan Vrany

Update from patrik.svestka@...: another DNU, see stacktrace-issue73-2.txt​.
This happens on Windows box with no mercurial installed.

comment:14 Changed 7 years ago by Jan Vrany

comment:15 in reply to:  13 Changed 7 years ago by Jan Vrany

Replying to jan vrany:

Update from patrik.svestka@...: another DNU, see stacktrace-issue73-2.txt​.
This happens on Windows box with no mercurial installed.

This is fixed in fe7a227/stx.libscm

comment:16 Changed 7 years ago by Jan Vrany

Resolution: worksforme
Status: testingclosed

I have tested this again and also on Windows with no Mercurial installed. It does work for me, so I'm closing this. Please reopen if it still does not work for you (but make sure you have latest stx:libscm :-)

Note: See TracTickets for help on using tickets.