Faculty of Information Technology
Software Engineering Group

#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 19 months ago.
settings.stx (6.6 KB) - added by Patrik Svestka 19 months ago.
HGSourceCodeManagementSettingsAppl-doCheckSettings.st (725 bytes) - added by Jan Vrany 19 months ago.
Fix for issue with DNU when setting the HG command (attempt 1)
stacktrace-issue73-2.txt (2.8 KB) - added by Jan Vrany 18 months ago.
HGSourceCodeManagementSettingsAppl-doSelectHGCommand.st (1.0 KB) - added by Jan Vrany 18 months ago.

Download all attachments as: .zip

Change History (21)

comment:1 Changed 19 months 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 19 months ago by Patrik Svestka

Changed 19 months ago by Patrik Svestka

Attachment: settings.stx added

comment:2 Changed 19 months ago by Patrik Svestka

I've attached all the files you have requested.

comment:3 Changed 19 months 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 19 months 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 19 months ago by Jan Vrany

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

comment:5 Changed 19 months 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 19 months 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 19 months 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 19 months ago by Jan Vrany

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

comment:9 Changed 19 months 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 19 months 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 19 months 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 19 months 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 18 months ago by Jan Vrany

Attachment: stacktrace-issue73-2.txt added

comment:13 Changed 18 months 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 18 months ago by Jan Vrany

comment:15 in reply to:  13 Changed 18 months 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 18 months 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.