Problems with upgrade from 4.0 to 4.1

classic Classic list List threaded Threaded
28 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Problems with upgrade from 4.0 to 4.1

Giles Godart-Brown
I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was working
fine.

1) there were a few missing 'my's and I got the following errors when I
first started mh 4.1
in Benchmarks.pl
Global symbol "$v_speed_benchmark" requires explicit package name at
(eval 682) line 816.
Global symbol "$v_speed_benchmark" requires explicit package name at
(eval 682) line 816.

in mh_control.pl
Global symbol "$v_repeat_last_spoken" requires explicit package name at
(eval 682) line 907.

in eliza_server.pl
Global symbol "$f_eliza_deep_thoughts" requires explicit package name at
(eval 682) line 3833

2) my X10 proxy does not start.  I've not changed the config since 4.0
when it ran OK - have I missed anything?

Giles



------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Giles Godart-Brown
Proxy server now running OK I've tracked it down by adding my's in
proxy_client_server.pl
proxy_server.pl

error was
Global symbol "$proxy_server" requires explicit package name at (eval
412) line 416.

Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?

G

On 01/03/2016 16:06, Giles Godart-Brown wrote:

> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
> working fine.
>
> 1) there were a few missing 'my's and I got the following errors when
> I first started mh 4.1
> in Benchmarks.pl
> Global symbol "$v_speed_benchmark" requires explicit package name at
> (eval 682) line 816.
> Global symbol "$v_speed_benchmark" requires explicit package name at
> (eval 682) line 816.
>
> in mh_control.pl
> Global symbol "$v_repeat_last_spoken" requires explicit package name
> at (eval 682) line 907.
>
> in eliza_server.pl
> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
> at (eval 682) line 3833
>
> 2) my X10 proxy does not start.  I've not changed the config since 4.0
> when it ran OK - have I missed anything?
>
> Giles
>
>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Lieven Hollevoet
Administrator
Hello Giles,

I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?

Best regards,
 Lieven.



> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>
> Proxy server now running OK I've tracked it down by adding my's in
> proxy_client_server.pl
> proxy_server.pl
>
> error was
> Global symbol "$proxy_server" requires explicit package name at (eval
> 412) line 416.
>
> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>
> G
>
> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>> working fine.
>>
>> 1) there were a few missing 'my's and I got the following errors when
>> I first started mh 4.1
>> in Benchmarks.pl
>> Global symbol "$v_speed_benchmark" requires explicit package name at
>> (eval 682) line 816.
>> Global symbol "$v_speed_benchmark" requires explicit package name at
>> (eval 682) line 816.
>>
>> in mh_control.pl
>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>> at (eval 682) line 907.
>>
>> in eliza_server.pl
>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>> at (eval 682) line 3833
>>
>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>> when it ran OK - have I missed anything?
>>
>> Giles
>>
>>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> ________________________________________________________
> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users


signature.asc (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Lieven Hollevoet
Administrator
Hello Giles,

I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:

Command: mh
Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
Pgm  version: 4.1
Last updated: Tue Mar  1 19:41:01 2016
Perl version: 5.020002
OS   version: darwin darwin

Starts with no visible errors or warnings.

Best regards,
 Lieven.


> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>
> Hello Giles,
>
> I’ll see if I can reproduce with the same perl version.
>
> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>
> Best regards,
> Lieven.
>
>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>
>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>
>> G
>>
>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>> Hello Giles,
>>>
>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>
>>> Best regards,
>>> Lieven.
>>>
>>>
>>>
>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>
>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>> proxy_client_server.pl
>>>> proxy_server.pl
>>>>
>>>> error was
>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>> 412) line 416.
>>>>
>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>
>>>> G
>>>>
>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>> working fine.
>>>>>
>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>> I first started mh 4.1
>>>>> in Benchmarks.pl
>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>> (eval 682) line 816.
>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>> (eval 682) line 816.
>>>>>
>>>>> in mh_control.pl
>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>> at (eval 682) line 907.
>>>>>
>>>>> in eliza_server.pl
>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>> at (eval 682) line 3833
>>>>>
>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>> when it ran OK - have I missed anything?
>>>>>
>>>>> Giles
>>>>>
>>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>> Monitor end-to-end web transactions and take corrective actions now
>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>> ________________________________________________________
>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>
>>
>

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users


signature.asc (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Giles Godart-Brown
I can confirm that 4.0 runs fine out of the box with this version of
perl (5.20.2) on Raspian Jessie.

4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
mh_control.pl, eliza_server.pl to add a my in front of the variables in
the email below.

Just to be sure I reverted
my $v_repeat_last_spoken ...
to
$v_repeat_last_spoken ...

  in mh_control.pl and it gives the error 'Global symbol
"$v_repeat_last_spoken" requires explicit package name at (eval 682)
line 911' on this installation

I'm just cautious as to whether this should be a 'my' or an 'our' though
it seems to be working fine.

Thanks
Giles

On 01/03/2016 19:10, Lieven Hollevoet wrote:

> Hello Giles,
>
> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>
> Command: mh
> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
> Pgm  version: 4.1
> Last updated: Tue Mar  1 19:41:01 2016
> Perl version: 5.020002
> OS   version: darwin darwin
>
> Starts with no visible errors or warnings.
>
> Best regards,
>   Lieven.
>
>
>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>
>> Hello Giles,
>>
>> I’ll see if I can reproduce with the same perl version.
>>
>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>
>> Best regards,
>> Lieven.
>>
>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>
>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>
>>> G
>>>
>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>> Hello Giles,
>>>>
>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>
>>>> Best regards,
>>>> Lieven.
>>>>
>>>>
>>>>
>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>
>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>> proxy_client_server.pl
>>>>> proxy_server.pl
>>>>>
>>>>> error was
>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>> 412) line 416.
>>>>>
>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>
>>>>> G
>>>>>
>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>> working fine.
>>>>>>
>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>> I first started mh 4.1
>>>>>> in Benchmarks.pl
>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>> (eval 682) line 816.
>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>> (eval 682) line 816.
>>>>>>
>>>>>> in mh_control.pl
>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>> at (eval 682) line 907.
>>>>>>
>>>>>> in eliza_server.pl
>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>> at (eval 682) line 3833
>>>>>>
>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>> when it ran OK - have I missed anything?
>>>>>>
>>>>>> Giles
>>>>>>
>>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>> ________________________________________________________
>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

H Plato
I have a fresh PI running jessie that I’ll install 4.1 stable onto.

Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.

Can you do me a favour, take out your my, and change the line break. So that this;

$v_speed_benchmark =
  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;

becomes this (take out all the preceding spaces so that the $ is the first character on the line)

$v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;


> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>
> I can confirm that 4.0 runs fine out of the box with this version of
> perl (5.20.2) on Raspian Jessie.
>
> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
> mh_control.pl, eliza_server.pl to add a my in front of the variables in
> the email below.
>
> Just to be sure I reverted
> my $v_repeat_last_spoken ...
> to
> $v_repeat_last_spoken ...
>
>  in mh_control.pl and it gives the error 'Global symbol
> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
> line 911' on this installation
>
> I'm just cautious as to whether this should be a 'my' or an 'our' though
> it seems to be working fine.
>
> Thanks
> Giles
>
> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>> Hello Giles,
>>
>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>
>> Command: mh
>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>> Pgm  version: 4.1
>> Last updated: Tue Mar  1 19:41:01 2016
>> Perl version: 5.020002
>> OS   version: darwin darwin
>>
>> Starts with no visible errors or warnings.
>>
>> Best regards,
>>  Lieven.
>>
>>
>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>
>>> Hello Giles,
>>>
>>> I’ll see if I can reproduce with the same perl version.
>>>
>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>
>>> Best regards,
>>> Lieven.
>>>
>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>
>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>
>>>> G
>>>>
>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>> Hello Giles,
>>>>>
>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>
>>>>> Best regards,
>>>>> Lieven.
>>>>>
>>>>>
>>>>>
>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>
>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>> proxy_client_server.pl
>>>>>> proxy_server.pl
>>>>>>
>>>>>> error was
>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>> 412) line 416.
>>>>>>
>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>
>>>>>> G
>>>>>>
>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>> working fine.
>>>>>>>
>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>> I first started mh 4.1
>>>>>>> in Benchmarks.pl
>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>> (eval 682) line 816.
>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>> (eval 682) line 816.
>>>>>>>
>>>>>>> in mh_control.pl
>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>> at (eval 682) line 907.
>>>>>>>
>>>>>>> in eliza_server.pl
>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>> at (eval 682) line 3833
>>>>>>>
>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>> when it ran OK - have I missed anything?
>>>>>>>
>>>>>>> Giles
>>>>>>>
>>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>> ________________________________________________________
>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>
>
>
> ------------------------------------------------------------------------------
> Site24x7 APM Insight: Get Deep Visibility into Application Performance
> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
> Monitor end-to-end web transactions and take corrective actions now
> Troubleshoot faster and improve end-user experience. Signup Now!
> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
> ________________________________________________________
> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Giles Godart-Brown
Your suggestion is spot on;  after the edit you propose below, mh starts
clean

I applied the same logic to mh_control.pl, eliza_server.pl and
proxy_server.pl and it is still OK

Thanks
Giles

On 01/03/2016 23:17, H Plato wrote:

> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>
> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>
> Can you do me a favour, take out your my, and change the line break. So that this;
>
> $v_speed_benchmark =
>    new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>
> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>
> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>
>
>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>
>> I can confirm that 4.0 runs fine out of the box with this version of
>> perl (5.20.2) on Raspian Jessie.
>>
>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>> the email below.
>>
>> Just to be sure I reverted
>> my $v_repeat_last_spoken ...
>> to
>> $v_repeat_last_spoken ...
>>
>>   in mh_control.pl and it gives the error 'Global symbol
>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>> line 911' on this installation
>>
>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>> it seems to be working fine.
>>
>> Thanks
>> Giles
>>
>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>> Hello Giles,
>>>
>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>
>>> Command: mh
>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>> Pgm  version: 4.1
>>> Last updated: Tue Mar  1 19:41:01 2016
>>> Perl version: 5.020002
>>> OS   version: darwin darwin
>>>
>>> Starts with no visible errors or warnings.
>>>
>>> Best regards,
>>>   Lieven.
>>>
>>>
>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>
>>>> Hello Giles,
>>>>
>>>> I’ll see if I can reproduce with the same perl version.
>>>>
>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>
>>>> Best regards,
>>>> Lieven.
>>>>
>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>
>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>
>>>>> G
>>>>>
>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>> Hello Giles,
>>>>>>
>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>
>>>>>> Best regards,
>>>>>> Lieven.
>>>>>>
>>>>>>
>>>>>>
>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>
>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>> proxy_client_server.pl
>>>>>>> proxy_server.pl
>>>>>>>
>>>>>>> error was
>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>> 412) line 416.
>>>>>>>
>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>
>>>>>>> G
>>>>>>>
>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>> working fine.
>>>>>>>>
>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>> I first started mh 4.1
>>>>>>>> in Benchmarks.pl
>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>> (eval 682) line 816.
>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>> (eval 682) line 816.
>>>>>>>>
>>>>>>>> in mh_control.pl
>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>> at (eval 682) line 907.
>>>>>>>>
>>>>>>>> in eliza_server.pl
>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>> at (eval 682) line 3833
>>>>>>>>
>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>
>>>>>>>> Giles
>>>>>>>>
>>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>> ________________________________________________________
>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>
>>
>> ------------------------------------------------------------------------------
>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>> Monitor end-to-end web transactions and take corrective actions now
>> Troubleshoot faster and improve end-user experience. Signup Now!
>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>> ________________________________________________________
>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

H Plato
OK, well that’s a really good catch. I’ll make those changes and put in a pull request.

If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.

Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.


> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
>
> Your suggestion is spot on;  after the edit you propose below, mh starts clean
>
> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
>
> Thanks
> Giles
>
> On 01/03/2016 23:17, H Plato wrote:
>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>>
>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>>
>> Can you do me a favour, take out your my, and change the line break. So that this;
>>
>> $v_speed_benchmark =
>>   new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>
>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>>
>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>
>>
>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>
>>> I can confirm that 4.0 runs fine out of the box with this version of
>>> perl (5.20.2) on Raspian Jessie.
>>>
>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>>> the email below.
>>>
>>> Just to be sure I reverted
>>> my $v_repeat_last_spoken ...
>>> to
>>> $v_repeat_last_spoken ...
>>>
>>>  in mh_control.pl and it gives the error 'Global symbol
>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>>> line 911' on this installation
>>>
>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>>> it seems to be working fine.
>>>
>>> Thanks
>>> Giles
>>>
>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>>> Hello Giles,
>>>>
>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>>
>>>> Command: mh
>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>>> Pgm  version: 4.1
>>>> Last updated: Tue Mar  1 19:41:01 2016
>>>> Perl version: 5.020002
>>>> OS   version: darwin darwin
>>>>
>>>> Starts with no visible errors or warnings.
>>>>
>>>> Best regards,
>>>>  Lieven.
>>>>
>>>>
>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>>
>>>>> Hello Giles,
>>>>>
>>>>> I’ll see if I can reproduce with the same perl version.
>>>>>
>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>>
>>>>> Best regards,
>>>>> Lieven.
>>>>>
>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>
>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>>
>>>>>> G
>>>>>>
>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>>> Hello Giles,
>>>>>>>
>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Lieven.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>
>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>>> proxy_client_server.pl
>>>>>>>> proxy_server.pl
>>>>>>>>
>>>>>>>> error was
>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>>> 412) line 416.
>>>>>>>>
>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>>
>>>>>>>> G
>>>>>>>>
>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>>> working fine.
>>>>>>>>>
>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>>> I first started mh 4.1
>>>>>>>>> in Benchmarks.pl
>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>> (eval 682) line 816.
>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>> (eval 682) line 816.
>>>>>>>>>
>>>>>>>>> in mh_control.pl
>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>>> at (eval 682) line 907.
>>>>>>>>>
>>>>>>>>> in eliza_server.pl
>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>>> at (eval 682) line 3833
>>>>>>>>>
>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>>
>>>>>>>>> Giles
>>>>>>>>>
>>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>> ________________________________________________________
>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>
>>>
>>> ------------------------------------------------------------------------------
>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>> Monitor end-to-end web transactions and take corrective actions now
>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>> ________________________________________________________
>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>
>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Giles Godart-Brown
I use Eclipse IDE which also uses perltidy and was caught by this a few
times until I added the perltidy command line option '-l 132' to make
sure it didn't wrap short lines

Giles

On 01/03/2016 23:53, H Plato wrote:

> OK, well that’s a really good catch. I’ll make those changes and put in a pull request.
>
> If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.
>
> Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.
>
>
>> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
>>
>> Your suggestion is spot on;  after the edit you propose below, mh starts clean
>>
>> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
>>
>> Thanks
>> Giles
>>
>> On 01/03/2016 23:17, H Plato wrote:
>>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>>>
>>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>>>
>>> Can you do me a favour, take out your my, and change the line break. So that this;
>>>
>>> $v_speed_benchmark =
>>>    new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>
>>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>>>
>>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>
>>>
>>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>
>>>> I can confirm that 4.0 runs fine out of the box with this version of
>>>> perl (5.20.2) on Raspian Jessie.
>>>>
>>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>>>> the email below.
>>>>
>>>> Just to be sure I reverted
>>>> my $v_repeat_last_spoken ...
>>>> to
>>>> $v_repeat_last_spoken ...
>>>>
>>>>   in mh_control.pl and it gives the error 'Global symbol
>>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>>>> line 911' on this installation
>>>>
>>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>>>> it seems to be working fine.
>>>>
>>>> Thanks
>>>> Giles
>>>>
>>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>>>> Hello Giles,
>>>>>
>>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>>>
>>>>> Command: mh
>>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>>>> Pgm  version: 4.1
>>>>> Last updated: Tue Mar  1 19:41:01 2016
>>>>> Perl version: 5.020002
>>>>> OS   version: darwin darwin
>>>>>
>>>>> Starts with no visible errors or warnings.
>>>>>
>>>>> Best regards,
>>>>>   Lieven.
>>>>>
>>>>>
>>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>>>
>>>>>> Hello Giles,
>>>>>>
>>>>>> I’ll see if I can reproduce with the same perl version.
>>>>>>
>>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>>>
>>>>>> Best regards,
>>>>>> Lieven.
>>>>>>
>>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>
>>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>>>
>>>>>>> G
>>>>>>>
>>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>>>> Hello Giles,
>>>>>>>>
>>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Lieven.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>
>>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>>>> proxy_client_server.pl
>>>>>>>>> proxy_server.pl
>>>>>>>>>
>>>>>>>>> error was
>>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>>>> 412) line 416.
>>>>>>>>>
>>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>>>
>>>>>>>>> G
>>>>>>>>>
>>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>>>> working fine.
>>>>>>>>>>
>>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>>>> I first started mh 4.1
>>>>>>>>>> in Benchmarks.pl
>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>
>>>>>>>>>> in mh_control.pl
>>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>>>> at (eval 682) line 907.
>>>>>>>>>>
>>>>>>>>>> in eliza_server.pl
>>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>>>> at (eval 682) line 3833
>>>>>>>>>>
>>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>>>
>>>>>>>>>> Giles
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>>> ________________________________________________________
>>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>>
>>>> ------------------------------------------------------------------------------
>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>> Monitor end-to-end web transactions and take corrective actions now
>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>> ________________________________________________________
>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Lieven Hollevoet
Administrator
In reply to this post by H Plato
Hello,

I’m experimenting with the perltidy settings to fix this, but as far as I see there does not seem to be a simple solution for avoid the tidy script to touch those declarations.

What makes me wonder: the perltidy output is actually valid output according to me. What is actually going wrong here, is it the output of the perltidy script that is not OK, or is is the MisterHouse ‘code gatherer’ that does not work correctly if source code is split over more than one line?

Kind regards,
 Lieven.

> Op 2 mrt. 2016, om 00:53 heeft H Plato <[hidden email]> het volgende geschreven:
>
> OK, well that’s a really good catch. I’ll make those changes and put in a pull request.
>
> If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.
>
> Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.
>
>
>> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
>>
>> Your suggestion is spot on;  after the edit you propose below, mh starts clean
>>
>> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
>>
>> Thanks
>> Giles
>>
>> On 01/03/2016 23:17, H Plato wrote:
>>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>>>
>>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>>>
>>> Can you do me a favour, take out your my, and change the line break. So that this;
>>>
>>> $v_speed_benchmark =
>>>  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>
>>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>>>
>>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>
>>>
>>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>
>>>> I can confirm that 4.0 runs fine out of the box with this version of
>>>> perl (5.20.2) on Raspian Jessie.
>>>>
>>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>>>> the email below.
>>>>
>>>> Just to be sure I reverted
>>>> my $v_repeat_last_spoken ...
>>>> to
>>>> $v_repeat_last_spoken ...
>>>>
>>>> in mh_control.pl and it gives the error 'Global symbol
>>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>>>> line 911' on this installation
>>>>
>>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>>>> it seems to be working fine.
>>>>
>>>> Thanks
>>>> Giles
>>>>
>>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>>>> Hello Giles,
>>>>>
>>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>>>
>>>>> Command: mh
>>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>>>> Pgm  version: 4.1
>>>>> Last updated: Tue Mar  1 19:41:01 2016
>>>>> Perl version: 5.020002
>>>>> OS   version: darwin darwin
>>>>>
>>>>> Starts with no visible errors or warnings.
>>>>>
>>>>> Best regards,
>>>>> Lieven.
>>>>>
>>>>>
>>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>>>
>>>>>> Hello Giles,
>>>>>>
>>>>>> I’ll see if I can reproduce with the same perl version.
>>>>>>
>>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>>>
>>>>>> Best regards,
>>>>>> Lieven.
>>>>>>
>>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>
>>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>>>
>>>>>>> G
>>>>>>>
>>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>>>> Hello Giles,
>>>>>>>>
>>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Lieven.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>
>>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>>>> proxy_client_server.pl
>>>>>>>>> proxy_server.pl
>>>>>>>>>
>>>>>>>>> error was
>>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>>>> 412) line 416.
>>>>>>>>>
>>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>>>
>>>>>>>>> G
>>>>>>>>>
>>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>>>> working fine.
>>>>>>>>>>
>>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>>>> I first started mh 4.1
>>>>>>>>>> in Benchmarks.pl
>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>
>>>>>>>>>> in mh_control.pl
>>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>>>> at (eval 682) line 907.
>>>>>>>>>>
>>>>>>>>>> in eliza_server.pl
>>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>>>> at (eval 682) line 3833
>>>>>>>>>>
>>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>>>
>>>>>>>>>> Giles
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>>> ________________________________________________________
>>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>> Monitor end-to-end web transactions and take corrective actions now
>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>> ________________________________________________________
>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>
>>
>

------------------------------------------------------------------------------

________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users


signature.asc (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Lieven Hollevoet
Administrator
In reply to this post by Giles Godart-Brown
Hello all,

I’ve created a new pull request based on the modified perltidy settings from Giles.

Please see here:
https://github.com/hollie/misterhouse/pull/578

Can you please test if this works fine, if it does then I’ll release a new stable to fix this problem.

Kind regards,
 Lieven.

> Op 2 mrt. 2016, om 09:30 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>
> I use Eclipse IDE which also uses perltidy and was caught by this a few times until I added the perltidy command line option '-l 132' to make sure it didn't wrap short lines
>
> Giles
>
> On 01/03/2016 23:53, H Plato wrote:
>> OK, well that’s a really good catch. I’ll make those changes and put in a pull request.
>>
>> If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.
>>
>> Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.
>>
>>
>>> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>
>>> Your suggestion is spot on;  after the edit you propose below, mh starts clean
>>>
>>> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
>>>
>>> Thanks
>>> Giles
>>>
>>> On 01/03/2016 23:17, H Plato wrote:
>>>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>>>>
>>>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>>>>
>>>> Can you do me a favour, take out your my, and change the line break. So that this;
>>>>
>>>> $v_speed_benchmark =
>>>>   new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>
>>>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>>>>
>>>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>
>>>>
>>>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>>
>>>>> I can confirm that 4.0 runs fine out of the box with this version of
>>>>> perl (5.20.2) on Raspian Jessie.
>>>>>
>>>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>>>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>>>>> the email below.
>>>>>
>>>>> Just to be sure I reverted
>>>>> my $v_repeat_last_spoken ...
>>>>> to
>>>>> $v_repeat_last_spoken ...
>>>>>
>>>>>  in mh_control.pl and it gives the error 'Global symbol
>>>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>>>>> line 911' on this installation
>>>>>
>>>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>>>>> it seems to be working fine.
>>>>>
>>>>> Thanks
>>>>> Giles
>>>>>
>>>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>>>>> Hello Giles,
>>>>>>
>>>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>>>>
>>>>>> Command: mh
>>>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>>>>> Pgm  version: 4.1
>>>>>> Last updated: Tue Mar  1 19:41:01 2016
>>>>>> Perl version: 5.020002
>>>>>> OS   version: darwin darwin
>>>>>>
>>>>>> Starts with no visible errors or warnings.
>>>>>>
>>>>>> Best regards,
>>>>>>  Lieven.
>>>>>>
>>>>>>
>>>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>>>>
>>>>>>> Hello Giles,
>>>>>>>
>>>>>>> I’ll see if I can reproduce with the same perl version.
>>>>>>>
>>>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Lieven.
>>>>>>>
>>>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>
>>>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>>>>
>>>>>>>> G
>>>>>>>>
>>>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>>>>> Hello Giles,
>>>>>>>>>
>>>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Lieven.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>>
>>>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>>>>> proxy_client_server.pl
>>>>>>>>>> proxy_server.pl
>>>>>>>>>>
>>>>>>>>>> error was
>>>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>>>>> 412) line 416.
>>>>>>>>>>
>>>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>>>>
>>>>>>>>>> G
>>>>>>>>>>
>>>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>>>>> working fine.
>>>>>>>>>>>
>>>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>>>>> I first started mh 4.1
>>>>>>>>>>> in Benchmarks.pl
>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>>
>>>>>>>>>>> in mh_control.pl
>>>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>>>>> at (eval 682) line 907.
>>>>>>>>>>>
>>>>>>>>>>> in eliza_server.pl
>>>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>>>>> at (eval 682) line 3833
>>>>>>>>>>>
>>>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>>>>
>>>>>>>>>>> Giles
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>>>> ________________________________________________________
>>>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>>>
>>>>> ------------------------------------------------------------------------------
>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>> ________________________________________________________
>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>
>

------------------------------------------------------------------------------

________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users


signature.asc (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

H Plato
MH also looks for objects in usercode (including the code/common directory), where the object is within 3 spaces or tabs from the start of the line.

(from bin/mh)

            # Pull it out as an mh object IF:
            #  - It has 0 to 3 blanks in front of it (no my, not indented more than 3 blanks)
            my ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;

            # Allow for type->new(..)
            ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*(\S+?) *-> *new/ unless $type;

I don’t really know why that limitation is in place, and what the intent was. Does anyone know the thinking behind this? Bruce can you comment?  Maybe we should allow any global items anywhere on the line? ie:

            my ( $object, $type ) = $record =~ /^\s*(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;


> On Mar 6, 2016, at 2:24 PM, Lieven Hollevoet <[hidden email]> wrote:
>
> Hello all,
>
> I’ve created a new pull request based on the modified perltidy settings from Giles.
>
> Please see here:
> https://github.com/hollie/misterhouse/pull/578
>
> Can you please test if this works fine, if it does then I’ll release a new stable to fix this problem.
>
> Kind regards,
> Lieven.
>
>> Op 2 mrt. 2016, om 09:30 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>
>> I use Eclipse IDE which also uses perltidy and was caught by this a few times until I added the perltidy command line option '-l 132' to make sure it didn't wrap short lines
>>
>> Giles
>>
>> On 01/03/2016 23:53, H Plato wrote:
>>> OK, well that’s a really good catch. I’ll make those changes and put in a pull request.
>>>
>>> If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.
>>>
>>> Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.
>>>
>>>
>>>> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>
>>>> Your suggestion is spot on;  after the edit you propose below, mh starts clean
>>>>
>>>> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
>>>>
>>>> Thanks
>>>> Giles
>>>>
>>>> On 01/03/2016 23:17, H Plato wrote:
>>>>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>>>>>
>>>>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>>>>>
>>>>> Can you do me a favour, take out your my, and change the line break. So that this;
>>>>>
>>>>> $v_speed_benchmark =
>>>>>  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>>
>>>>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>>>>>
>>>>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>>
>>>>>
>>>>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>>>
>>>>>> I can confirm that 4.0 runs fine out of the box with this version of
>>>>>> perl (5.20.2) on Raspian Jessie.
>>>>>>
>>>>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>>>>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>>>>>> the email below.
>>>>>>
>>>>>> Just to be sure I reverted
>>>>>> my $v_repeat_last_spoken ...
>>>>>> to
>>>>>> $v_repeat_last_spoken ...
>>>>>>
>>>>>> in mh_control.pl and it gives the error 'Global symbol
>>>>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>>>>>> line 911' on this installation
>>>>>>
>>>>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>>>>>> it seems to be working fine.
>>>>>>
>>>>>> Thanks
>>>>>> Giles
>>>>>>
>>>>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>>>>>> Hello Giles,
>>>>>>>
>>>>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>>>>>
>>>>>>> Command: mh
>>>>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>>>>>> Pgm  version: 4.1
>>>>>>> Last updated: Tue Mar  1 19:41:01 2016
>>>>>>> Perl version: 5.020002
>>>>>>> OS   version: darwin darwin
>>>>>>>
>>>>>>> Starts with no visible errors or warnings.
>>>>>>>
>>>>>>> Best regards,
>>>>>>> Lieven.
>>>>>>>
>>>>>>>
>>>>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>>>>>
>>>>>>>> Hello Giles,
>>>>>>>>
>>>>>>>> I’ll see if I can reproduce with the same perl version.
>>>>>>>>
>>>>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Lieven.
>>>>>>>>
>>>>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>
>>>>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>>>>>
>>>>>>>>> G
>>>>>>>>>
>>>>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>>>>>> Hello Giles,
>>>>>>>>>>
>>>>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>> Lieven.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>>>
>>>>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>>>>>> proxy_client_server.pl
>>>>>>>>>>> proxy_server.pl
>>>>>>>>>>>
>>>>>>>>>>> error was
>>>>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>>>>>> 412) line 416.
>>>>>>>>>>>
>>>>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>>>>>
>>>>>>>>>>> G
>>>>>>>>>>>
>>>>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>>>>>> working fine.
>>>>>>>>>>>>
>>>>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>>>>>> I first started mh 4.1
>>>>>>>>>>>> in Benchmarks.pl
>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>>>
>>>>>>>>>>>> in mh_control.pl
>>>>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>>>>>> at (eval 682) line 907.
>>>>>>>>>>>>
>>>>>>>>>>>> in eliza_server.pl
>>>>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>>>>>> at (eval 682) line 3833
>>>>>>>>>>>>
>>>>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>>>>>
>>>>>>>>>>>> Giles
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>>>>> ________________________________________________________
>>>>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>>>>
>>>>>> ------------------------------------------------------------------------------
>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>> ________________________________________________________
>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>
>>
>


------------------------------------------------------------------------------
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Lieven Hollevoet
Administrator
Hello,

I’m trying to reproduce the problem that was reported in order to see how we can fix this.

I installed perl 5.20.2, did a fresh checkout form origin/stable, navigated to bin and launched MisterHouse with ./mhl.

Apart from the expected missing GD and Tk modules on my system everything launches correctly without errors.

Pgm  version: 4.1
Last updated: Thu Mar 17 21:08:54 2016
Perl version: 5.020002
OS   version: darwin darwin

So: I’m unable to reproduce the problem Giles is experiencing.

Is there anybody else who can reproduce this? If so, can you please indicate what to do starting from a clean checkout to trigger the issue?

Thanks,
 Lieven.


> Op 6 mrt. 2016, om 22:38 heeft H Plato <[hidden email]> het volgende geschreven:
>
> MH also looks for objects in usercode (including the code/common directory), where the object is within 3 spaces or tabs from the start of the line.
>
> (from bin/mh)
>
>            # Pull it out as an mh object IF:
>            #  - It has 0 to 3 blanks in front of it (no my, not indented more than 3 blanks)
>            my ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
>
>            # Allow for type->new(..)
>            ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*(\S+?) *-> *new/ unless $type;
>
> I don’t really know why that limitation is in place, and what the intent was. Does anyone know the thinking behind this? Bruce can you comment?  Maybe we should allow any global items anywhere on the line? ie:
>
>            my ( $object, $type ) = $record =~ /^\s*(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
>
>
>> On Mar 6, 2016, at 2:24 PM, Lieven Hollevoet <[hidden email]> wrote:
>>
>> Hello all,
>>
>> I’ve created a new pull request based on the modified perltidy settings from Giles.
>>
>> Please see here:
>> https://github.com/hollie/misterhouse/pull/578
>>
>> Can you please test if this works fine, if it does then I’ll release a new stable to fix this problem.
>>
>> Kind regards,
>> Lieven.
>>
>>> Op 2 mrt. 2016, om 09:30 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>
>>> I use Eclipse IDE which also uses perltidy and was caught by this a few times until I added the perltidy command line option '-l 132' to make sure it didn't wrap short lines
>>>
>>> Giles
>>>
>>> On 01/03/2016 23:53, H Plato wrote:
>>>> OK, well that’s a really good catch. I’ll make those changes and put in a pull request.
>>>>
>>>> If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.
>>>>
>>>> Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.
>>>>
>>>>
>>>>> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>>
>>>>> Your suggestion is spot on;  after the edit you propose below, mh starts clean
>>>>>
>>>>> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
>>>>>
>>>>> Thanks
>>>>> Giles
>>>>>
>>>>> On 01/03/2016 23:17, H Plato wrote:
>>>>>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>>>>>>
>>>>>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>>>>>>
>>>>>> Can you do me a favour, take out your my, and change the line break. So that this;
>>>>>>
>>>>>> $v_speed_benchmark =
>>>>>> new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>>>
>>>>>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>>>>>>
>>>>>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>>>
>>>>>>
>>>>>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>>>>
>>>>>>> I can confirm that 4.0 runs fine out of the box with this version of
>>>>>>> perl (5.20.2) on Raspian Jessie.
>>>>>>>
>>>>>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>>>>>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>>>>>>> the email below.
>>>>>>>
>>>>>>> Just to be sure I reverted
>>>>>>> my $v_repeat_last_spoken ...
>>>>>>> to
>>>>>>> $v_repeat_last_spoken ...
>>>>>>>
>>>>>>> in mh_control.pl and it gives the error 'Global symbol
>>>>>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>>>>>>> line 911' on this installation
>>>>>>>
>>>>>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>>>>>>> it seems to be working fine.
>>>>>>>
>>>>>>> Thanks
>>>>>>> Giles
>>>>>>>
>>>>>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>>>>>>> Hello Giles,
>>>>>>>>
>>>>>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>>>>>>
>>>>>>>> Command: mh
>>>>>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>>>>>>> Pgm  version: 4.1
>>>>>>>> Last updated: Tue Mar  1 19:41:01 2016
>>>>>>>> Perl version: 5.020002
>>>>>>>> OS   version: darwin darwin
>>>>>>>>
>>>>>>>> Starts with no visible errors or warnings.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Lieven.
>>>>>>>>
>>>>>>>>
>>>>>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>>>>>>
>>>>>>>>> Hello Giles,
>>>>>>>>>
>>>>>>>>> I’ll see if I can reproduce with the same perl version.
>>>>>>>>>
>>>>>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Lieven.
>>>>>>>>>
>>>>>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>>
>>>>>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>>>>>>
>>>>>>>>>> G
>>>>>>>>>>
>>>>>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>>>>>>> Hello Giles,
>>>>>>>>>>>
>>>>>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>>>>>>
>>>>>>>>>>> Best regards,
>>>>>>>>>>> Lieven.
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>>>>
>>>>>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>>>>>>> proxy_client_server.pl
>>>>>>>>>>>> proxy_server.pl
>>>>>>>>>>>>
>>>>>>>>>>>> error was
>>>>>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>>>>>>> 412) line 416.
>>>>>>>>>>>>
>>>>>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>>>>>>
>>>>>>>>>>>> G
>>>>>>>>>>>>
>>>>>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>>>>>>> working fine.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>>>>>>> I first started mh 4.1
>>>>>>>>>>>>> in Benchmarks.pl
>>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>>>>
>>>>>>>>>>>>> in mh_control.pl
>>>>>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>>>>>>> at (eval 682) line 907.
>>>>>>>>>>>>>
>>>>>>>>>>>>> in eliza_server.pl
>>>>>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>>>>>>> at (eval 682) line 3833
>>>>>>>>>>>>>
>>>>>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Giles
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>>>>>> ________________________________________________________
>>>>>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>>>>>
>>>>>>> ------------------------------------------------------------------------------
>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>> ________________________________________________________
>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>
>>>
>>
>

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users


signature.asc (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

H Plato
I just tried this. Downloaded a fresh new stable branch.

MH started up without an issue with the default common code files.  However I enabled some xAP code ( bsc.pl test_xap.pl xAP_command.pl xAP_send.pl ), and MH crashes. This is due to the lines that have objects (the new BSCMH_Item and new Timer) being in column 5. Delete 2 spaces, so that the $ character is at column 3, and mh starts up without an issue.

--
3/17/16 08:04:14 PM    0 files deleted, 5 files changed: bsc.pl organizer_tasks.pl test_xap.pl xAP_command.pl xAP_send.pl
03/17/16 08:04:14 PM: Saving object states ... done
03/17/16 08:04:14 PM Reevaluating user code

Error in user code file ./../data/mh_temp.user_code

  03/17/16 08:04:14 PM: Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1483.
Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1484.
Global symbol "$bsc_presence_device" requires explicit package name at (eval 6769) line 1485.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1492.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1493.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1494.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1495.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1496.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1498.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1499.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1500.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1501.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1502.
Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1506.
Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1507.
Global symbol "$bsc_presence_device" requires explicit package name at (eval 6769) line 1513.
Global symbol "$bsc_info_timer" requires explicit package name at (eval 6769) line 1520.
Global symbol "$bsc_info_timer" requires explicit package name at (eval 6769) line 1523.
Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1530.
Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1531.
Global symbol "$bsc_presence_device" requires explicit package name at (eval 6769) line 1532.
BEGIN not safe after errors--compilation aborted at (eval 6769) line 1569.
 at ./mh line 31.
        main::__ANON__("Global symbol \"\$bsc_x10_device\" requires explicit package nam"...) called at (eval 6769) line 1569
Line 1478:  
Line 1479:  $bsc_prefer_abstract = 0
Line 1480:    unless $bsc_prefer_abstract;   # support x10 devices in favor of abstract ones
Line 1481:  
Line 1482:  if ($::Startup) {
Line 1483:      $bsc_x10_device      = new BSCMH_Item(BSCMH_Item::DEVICE_TYPE_X10);
Line 1484:      $bsc_abstract_device = new BSCMH_Item(BSCMH_Item::DEVICE_TYPE_ABSTRACT);
Line 1485:      $bsc_presence_device = new BSCMH_Item(BSCMH_Item::DEVICE_TYPE_PRESENCE);
Line 1486:  
Line 1487:      if ( !($bsc_prefer_abstract) ) {
Line 1488:  
Can't locate object method "new" via package "Display" (perhaps you forgot to load "Display"?) at ./mh line 3454.
 at ./mh line 31.
        main::__ANON__("Can't locate object method \"new\" via package \"Display\" (perha"...) called at ./mh line 3454
        main::display("\x{a}Error in user code file ./../data/mh_temp.user_code\x{a}\x{a}  03/17"..., 60) called at ./mh line 3543
        main::eval_user_code_load called at ./mh line 8145
        main::write_user_code called at ./mh line 6212
        main::read_user_code("./../code/common/bsc.pl", "./../code/test/organizer_tasks.pl", "./../code/common/test_xap.pl", "./../code/common/xAP_command.pl", "./../code/common/xAP_send.pl") called at ./mh line 5740
        main::read_code called at ./mh line 2498
        main::check_for_nextpass_actions called at ./mh line 1807
        main::check_for_action called at ./mh line 4036
        main::monitor_commands called at ./mh line 8216

Since this mostly affects the code/common files, that pull request I put in with the manually edited files _should_ solve the problem.  Hopefully we can set perltidy to ignore lines that have an object declaration in it for the long-term solution.

> On Mar 17, 2016, at 2:26 PM, Lieven Hollevoet <[hidden email]> wrote:
>
> Hello,
>
> I’m trying to reproduce the problem that was reported in order to see how we can fix this.
>
> I installed perl 5.20.2, did a fresh checkout form origin/stable, navigated to bin and launched MisterHouse with ./mhl.
>
> Apart from the expected missing GD and Tk modules on my system everything launches correctly without errors.
>
> Pgm  version: 4.1
> Last updated: Thu Mar 17 21:08:54 2016
> Perl version: 5.020002
> OS   version: darwin darwin
>
> So: I’m unable to reproduce the problem Giles is experiencing.
>
> Is there anybody else who can reproduce this? If so, can you please indicate what to do starting from a clean checkout to trigger the issue?
>
> Thanks,
> Lieven.
>
>
>> Op 6 mrt. 2016, om 22:38 heeft H Plato <[hidden email]> het volgende geschreven:
>>
>> MH also looks for objects in usercode (including the code/common directory), where the object is within 3 spaces or tabs from the start of the line.
>>
>> (from bin/mh)
>>
>>           # Pull it out as an mh object IF:
>>           #  - It has 0 to 3 blanks in front of it (no my, not indented more than 3 blanks)
>>           my ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
>>
>>           # Allow for type->new(..)
>>           ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*(\S+?) *-> *new/ unless $type;
>>
>> I don’t really know why that limitation is in place, and what the intent was. Does anyone know the thinking behind this? Bruce can you comment?  Maybe we should allow any global items anywhere on the line? ie:
>>
>>           my ( $object, $type ) = $record =~ /^\s*(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
>>
>>
>>> On Mar 6, 2016, at 2:24 PM, Lieven Hollevoet <[hidden email]> wrote:
>>>
>>> Hello all,
>>>
>>> I’ve created a new pull request based on the modified perltidy settings from Giles.
>>>
>>> Please see here:
>>> https://github.com/hollie/misterhouse/pull/578
>>>
>>> Can you please test if this works fine, if it does then I’ll release a new stable to fix this problem.
>>>
>>> Kind regards,
>>> Lieven.
>>>
>>>> Op 2 mrt. 2016, om 09:30 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>
>>>> I use Eclipse IDE which also uses perltidy and was caught by this a few times until I added the perltidy command line option '-l 132' to make sure it didn't wrap short lines
>>>>
>>>> Giles
>>>>
>>>> On 01/03/2016 23:53, H Plato wrote:
>>>>> OK, well that’s a really good catch. I’ll make those changes and put in a pull request.
>>>>>
>>>>> If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.
>>>>>
>>>>> Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.
>>>>>
>>>>>
>>>>>> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>>>
>>>>>> Your suggestion is spot on;  after the edit you propose below, mh starts clean
>>>>>>
>>>>>> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
>>>>>>
>>>>>> Thanks
>>>>>> Giles
>>>>>>
>>>>>> On 01/03/2016 23:17, H Plato wrote:
>>>>>>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
>>>>>>>
>>>>>>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
>>>>>>>
>>>>>>> Can you do me a favour, take out your my, and change the line break. So that this;
>>>>>>>
>>>>>>> $v_speed_benchmark =
>>>>>>> new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>>>>
>>>>>>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
>>>>>>>
>>>>>>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
>>>>>>>
>>>>>>>
>>>>>>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
>>>>>>>>
>>>>>>>> I can confirm that 4.0 runs fine out of the box with this version of
>>>>>>>> perl (5.20.2) on Raspian Jessie.
>>>>>>>>
>>>>>>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
>>>>>>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
>>>>>>>> the email below.
>>>>>>>>
>>>>>>>> Just to be sure I reverted
>>>>>>>> my $v_repeat_last_spoken ...
>>>>>>>> to
>>>>>>>> $v_repeat_last_spoken ...
>>>>>>>>
>>>>>>>> in mh_control.pl and it gives the error 'Global symbol
>>>>>>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
>>>>>>>> line 911' on this installation
>>>>>>>>
>>>>>>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
>>>>>>>> it seems to be working fine.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>> Giles
>>>>>>>>
>>>>>>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
>>>>>>>>> Hello Giles,
>>>>>>>>>
>>>>>>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
>>>>>>>>>
>>>>>>>>> Command: mh
>>>>>>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
>>>>>>>>> Pgm  version: 4.1
>>>>>>>>> Last updated: Tue Mar  1 19:41:01 2016
>>>>>>>>> Perl version: 5.020002
>>>>>>>>> OS   version: darwin darwin
>>>>>>>>>
>>>>>>>>> Starts with no visible errors or warnings.
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Lieven.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
>>>>>>>>>>
>>>>>>>>>> Hello Giles,
>>>>>>>>>>
>>>>>>>>>> I’ll see if I can reproduce with the same perl version.
>>>>>>>>>>
>>>>>>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
>>>>>>>>>>
>>>>>>>>>> Best regards,
>>>>>>>>>> Lieven.
>>>>>>>>>>
>>>>>>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>>>
>>>>>>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
>>>>>>>>>>>
>>>>>>>>>>> G
>>>>>>>>>>>
>>>>>>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
>>>>>>>>>>>> Hello Giles,
>>>>>>>>>>>>
>>>>>>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
>>>>>>>>>>>>
>>>>>>>>>>>> Best regards,
>>>>>>>>>>>> Lieven.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
>>>>>>>>>>>>> proxy_client_server.pl
>>>>>>>>>>>>> proxy_server.pl
>>>>>>>>>>>>>
>>>>>>>>>>>>> error was
>>>>>>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
>>>>>>>>>>>>> 412) line 416.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
>>>>>>>>>>>>>
>>>>>>>>>>>>> G
>>>>>>>>>>>>>
>>>>>>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
>>>>>>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
>>>>>>>>>>>>>> working fine.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
>>>>>>>>>>>>>> I first started mh 4.1
>>>>>>>>>>>>>> in Benchmarks.pl
>>>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
>>>>>>>>>>>>>> (eval 682) line 816.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> in mh_control.pl
>>>>>>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
>>>>>>>>>>>>>> at (eval 682) line 907.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> in eliza_server.pl
>>>>>>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
>>>>>>>>>>>>>> at (eval 682) line 3833
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
>>>>>>>>>>>>>> when it ran OK - have I missed anything?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Giles
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>>>>>>> ________________________________________________________
>>>>>>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>>>>>>
>>>>>>>> ------------------------------------------------------------------------------
>>>>>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>>>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>>>>>> Monitor end-to-end web transactions and take corrective actions now
>>>>>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>>>>>> http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
>>>>>>>> ________________________________________________________
>>>>>>>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>>>>>>>
>>>>
>>>
>>
>


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Eloy Paris
Hello,

Sorry, I have not been following this discussion but the indentation
issue brought up by Howard below caught my attention...

As everybody knows, Perl is not like Python when it comes to
indentation, i.e. indentation only affects readability but not program
execution.

If indentation is causing issues, as explained by Howard below, then it
must be because the MH code that stitches together the different user
code files is mishandling certain cases.

Instead of working around the issue by reducing indentation (and thus
reducing code readability as well), could these particular corner cases
not be handled by declaring the objects in #noloop=start/#noloop=stop
sections (at the top of the user code file) like this:

# noloop=start

my $bsc_x10_device;
my $bsc_abstract_device;
my $bsc_presence_device;
my $bsc_info_timer;

# noloop=stop

Then I think the rest of the code could be left as-is.

(Note: The # noloop=start/# noloop=stop is probably not even necessary
as the MH "stitching" code is probably smart enough to realize these
are variable declarations so it'll put them outside the loop code
anyway. The important thing is that those declarations happen before the
variables are used later in user code.)

I haven't tested the above but if it works I think it'd be a more
elegant solution than decreasing indentation.

Cheers,

Eloy Paris.-

On Thu, Mar 17, 2016 at 08:11:53PM -0600, H Plato wrote:

> I just tried this. Downloaded a fresh new stable branch.
>
> MH started up without an issue with the default common code files.  However I enabled some xAP code ( bsc.pl test_xap.pl xAP_command.pl xAP_send.pl ), and MH crashes. This is due to the lines that have objects (the new BSCMH_Item and new Timer) being in column 5. Delete 2 spaces, so that the $ character is at column 3, and mh starts up without an issue.
>
> --
> 3/17/16 08:04:14 PM    0 files deleted, 5 files changed: bsc.pl organizer_tasks.pl test_xap.pl xAP_command.pl xAP_send.pl
> 03/17/16 08:04:14 PM: Saving object states ... done
> 03/17/16 08:04:14 PM Reevaluating user code
>
> Error in user code file ./../data/mh_temp.user_code
>
>   03/17/16 08:04:14 PM: Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1483.
> Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1484.
> Global symbol "$bsc_presence_device" requires explicit package name at (eval 6769) line 1485.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1492.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1493.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1494.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1495.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1496.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1498.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1499.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1500.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1501.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1502.
> Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1506.
> Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1507.
> Global symbol "$bsc_presence_device" requires explicit package name at (eval 6769) line 1513.
> Global symbol "$bsc_info_timer" requires explicit package name at (eval 6769) line 1520.
> Global symbol "$bsc_info_timer" requires explicit package name at (eval 6769) line 1523.
> Global symbol "$bsc_x10_device" requires explicit package name at (eval 6769) line 1530.
> Global symbol "$bsc_abstract_device" requires explicit package name at (eval 6769) line 1531.
> Global symbol "$bsc_presence_device" requires explicit package name at (eval 6769) line 1532.
> BEGIN not safe after errors--compilation aborted at (eval 6769) line 1569.
>  at ./mh line 31.
> main::__ANON__("Global symbol \"\$bsc_x10_device\" requires explicit package nam"...) called at (eval 6769) line 1569
> Line 1478:  
> Line 1479:  $bsc_prefer_abstract = 0
> Line 1480:    unless $bsc_prefer_abstract;   # support x10 devices in favor of abstract ones
> Line 1481:  
> Line 1482:  if ($::Startup) {
> Line 1483:      $bsc_x10_device      = new BSCMH_Item(BSCMH_Item::DEVICE_TYPE_X10);
> Line 1484:      $bsc_abstract_device = new BSCMH_Item(BSCMH_Item::DEVICE_TYPE_ABSTRACT);
> Line 1485:      $bsc_presence_device = new BSCMH_Item(BSCMH_Item::DEVICE_TYPE_PRESENCE);
> Line 1486:  
> Line 1487:      if ( !($bsc_prefer_abstract) ) {
> Line 1488:  
> Can't locate object method "new" via package "Display" (perhaps you forgot to load "Display"?) at ./mh line 3454.
>  at ./mh line 31.
> main::__ANON__("Can't locate object method \"new\" via package \"Display\" (perha"...) called at ./mh line 3454
> main::display("\x{a}Error in user code file ./../data/mh_temp.user_code\x{a}\x{a}  03/17"..., 60) called at ./mh line 3543
> main::eval_user_code_load called at ./mh line 8145
> main::write_user_code called at ./mh line 6212
> main::read_user_code("./../code/common/bsc.pl", "./../code/test/organizer_tasks.pl", "./../code/common/test_xap.pl", "./../code/common/xAP_command.pl", "./../code/common/xAP_send.pl") called at ./mh line 5740
> main::read_code called at ./mh line 2498
> main::check_for_nextpass_actions called at ./mh line 1807
> main::check_for_action called at ./mh line 4036
> main::monitor_commands called at ./mh line 8216
>
> Since this mostly affects the code/common files, that pull request I put in with the manually edited files _should_ solve the problem.  Hopefully we can set perltidy to ignore lines that have an object declaration in it for the long-term solution.
>
> > On Mar 17, 2016, at 2:26 PM, Lieven Hollevoet <[hidden email]> wrote:
> >
> > Hello,
> >
> > I’m trying to reproduce the problem that was reported in order to see how we can fix this.
> >
> > I installed perl 5.20.2, did a fresh checkout form origin/stable, navigated to bin and launched MisterHouse with ./mhl.
> >
> > Apart from the expected missing GD and Tk modules on my system everything launches correctly without errors.
> >
> > Pgm  version: 4.1
> > Last updated: Thu Mar 17 21:08:54 2016
> > Perl version: 5.020002
> > OS   version: darwin darwin
> >
> > So: I’m unable to reproduce the problem Giles is experiencing.
> >
> > Is there anybody else who can reproduce this? If so, can you please indicate what to do starting from a clean checkout to trigger the issue?
> >
> > Thanks,
> > Lieven.
> >
> >
> >> Op 6 mrt. 2016, om 22:38 heeft H Plato <[hidden email]> het volgende geschreven:
> >>
> >> MH also looks for objects in usercode (including the code/common directory), where the object is within 3 spaces or tabs from the start of the line.
> >>
> >> (from bin/mh)
> >>
> >>           # Pull it out as an mh object IF:
> >>           #  - It has 0 to 3 blanks in front of it (no my, not indented more than 3 blanks)
> >>           my ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
> >>
> >>           # Allow for type->new(..)
> >>           ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*(\S+?) *-> *new/ unless $type;
> >>
> >> I don’t really know why that limitation is in place, and what the intent was. Does anyone know the thinking behind this? Bruce can you comment?  Maybe we should allow any global items anywhere on the line? ie:
> >>
> >>           my ( $object, $type ) = $record =~ /^\s*(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
> >>
> >>
> >>> On Mar 6, 2016, at 2:24 PM, Lieven Hollevoet <[hidden email]> wrote:
> >>>
> >>> Hello all,
> >>>
> >>> I’ve created a new pull request based on the modified perltidy settings from Giles.
> >>>
> >>> Please see here:
> >>> https://github.com/hollie/misterhouse/pull/578
> >>>
> >>> Can you please test if this works fine, if it does then I’ll release a new stable to fix this problem.
> >>>
> >>> Kind regards,
> >>> Lieven.
> >>>
> >>>> Op 2 mrt. 2016, om 09:30 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
> >>>>
> >>>> I use Eclipse IDE which also uses perltidy and was caught by this a few times until I added the perltidy command line option '-l 132' to make sure it didn't wrap short lines
> >>>>
> >>>> Giles
> >>>>
> >>>> On 01/03/2016 23:53, H Plato wrote:
> >>>>> OK, well that’s a really good catch. I’ll make those changes and put in a pull request.
> >>>>>
> >>>>> If anyone else sees any issues with "Global symbol “XXX" requires explicit package name” please post to the list.
> >>>>>
> >>>>> Lieven/Kevin might be good to check into the perltidy settings to see if there is some way we can exclude statements that have an object definition (ie new) from being changed.
> >>>>>
> >>>>>
> >>>>>> On Mar 1, 2016, at 4:30 PM, Giles Godart-Brown <[hidden email]> wrote:
> >>>>>>
> >>>>>> Your suggestion is spot on;  after the edit you propose below, mh starts clean
> >>>>>>
> >>>>>> I applied the same logic to mh_control.pl, eliza_server.pl and proxy_server.pl and it is still OK
> >>>>>>
> >>>>>> Thanks
> >>>>>> Giles
> >>>>>>
> >>>>>> On 01/03/2016 23:17, H Plato wrote:
> >>>>>>> I have a fresh PI running jessie that I’ll install 4.1 stable onto.
> >>>>>>>
> >>>>>>> Something doesn’t seem quite right. v_speed_benchmark is an object, so it shouldn’t need a ‘my’. The only thing I can think of is that the ‘perltidy’ script to make all the code more readable has messed with the parser. MH is sometimes very specific about the position of where code should be.
> >>>>>>>
> >>>>>>> Can you do me a favour, take out your my, and change the line break. So that this;
> >>>>>>>
> >>>>>>> $v_speed_benchmark =
> >>>>>>> new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
> >>>>>>>
> >>>>>>> becomes this (take out all the preceding spaces so that the $ is the first character on the line)
> >>>>>>>
> >>>>>>> $v_speed_benchmark =  new Voice_Cmd '[Start a by name,Start a by speed,Stop the] speed benchmark’;
> >>>>>>>
> >>>>>>>
> >>>>>>>> On Mar 1, 2016, at 4:06 PM, Giles Godart-Brown <[hidden email]> wrote:
> >>>>>>>>
> >>>>>>>> I can confirm that 4.0 runs fine out of the box with this version of
> >>>>>>>> perl (5.20.2) on Raspian Jessie.
> >>>>>>>>
> >>>>>>>> 4.1 is also running fine now I've edited proxy_server.pl, Benchmarks.pl,
> >>>>>>>> mh_control.pl, eliza_server.pl to add a my in front of the variables in
> >>>>>>>> the email below.
> >>>>>>>>
> >>>>>>>> Just to be sure I reverted
> >>>>>>>> my $v_repeat_last_spoken ...
> >>>>>>>> to
> >>>>>>>> $v_repeat_last_spoken ...
> >>>>>>>>
> >>>>>>>> in mh_control.pl and it gives the error 'Global symbol
> >>>>>>>> "$v_repeat_last_spoken" requires explicit package name at (eval 682)
> >>>>>>>> line 911' on this installation
> >>>>>>>>
> >>>>>>>> I'm just cautious as to whether this should be a 'my' or an 'our' though
> >>>>>>>> it seems to be working fine.
> >>>>>>>>
> >>>>>>>> Thanks
> >>>>>>>> Giles
> >>>>>>>>
> >>>>>>>> On 01/03/2016 19:10, Lieven Hollevoet wrote:
> >>>>>>>>> Hello Giles,
> >>>>>>>>>
> >>>>>>>>> I tried to reproduce the problem you have with the same perl version you’re using, but I’m afraid I can’t:
> >>>>>>>>>
> >>>>>>>>> Command: mh
> >>>>>>>>> Pgm  path   : /Users/lieven/projects/mrhouse/master/bin
> >>>>>>>>> Pgm  version: 4.1
> >>>>>>>>> Last updated: Tue Mar  1 19:41:01 2016
> >>>>>>>>> Perl version: 5.020002
> >>>>>>>>> OS   version: darwin darwin
> >>>>>>>>>
> >>>>>>>>> Starts with no visible errors or warnings.
> >>>>>>>>>
> >>>>>>>>> Best regards,
> >>>>>>>>> Lieven.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>> Op 1 mrt. 2016, om 19:42 heeft Lieven Hollevoet <[hidden email]> het volgende geschreven:
> >>>>>>>>>>
> >>>>>>>>>> Hello Giles,
> >>>>>>>>>>
> >>>>>>>>>> I’ll see if I can reproduce with the same perl version.
> >>>>>>>>>>
> >>>>>>>>>> Would it be much work for you to confirm that v4.0 is actually running fine on your system with that perl version?
> >>>>>>>>>>
> >>>>>>>>>> Best regards,
> >>>>>>>>>> Lieven.
> >>>>>>>>>>
> >>>>>>>>>>> Op 1 mrt. 2016, om 19:33 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
> >>>>>>>>>>>
> >>>>>>>>>>> Yes - new version of perl as well (5.20.2), but I'm pretty sure I fired up 4.0 OK on the new version first.
> >>>>>>>>>>>
> >>>>>>>>>>> G
> >>>>>>>>>>>
> >>>>>>>>>>> On 01/03/2016 18:30, Lieven Hollevoet wrote:
> >>>>>>>>>>>> Hello Giles,
> >>>>>>>>>>>>
> >>>>>>>>>>>> I read in the other thread you also updated the OS at the same time. Could it be that you’re running a different version of Perl now?
> >>>>>>>>>>>>
> >>>>>>>>>>>> Best regards,
> >>>>>>>>>>>> Lieven.
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Op 1 mrt. 2016, om 17:18 heeft Giles Godart-Brown <[hidden email]> het volgende geschreven:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Proxy server now running OK I've tracked it down by adding my's in
> >>>>>>>>>>>>> proxy_client_server.pl
> >>>>>>>>>>>>> proxy_server.pl
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> error was
> >>>>>>>>>>>>> Global symbol "$proxy_server" requires explicit package name at (eval
> >>>>>>>>>>>>> 412) line 416.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Oddly 4.0 is the same as 4.1 here, is there a new use:Strict somewhere else?
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> G
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On 01/03/2016 16:06, Giles Godart-Brown wrote:
> >>>>>>>>>>>>>> I've noticed some issues during my 4.0 to 4.1 upgrade.  4.0 was
> >>>>>>>>>>>>>> working fine.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> 1) there were a few missing 'my's and I got the following errors when
> >>>>>>>>>>>>>> I first started mh 4.1
> >>>>>>>>>>>>>> in Benchmarks.pl
> >>>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
> >>>>>>>>>>>>>> (eval 682) line 816.
> >>>>>>>>>>>>>> Global symbol "$v_speed_benchmark" requires explicit package name at
> >>>>>>>>>>>>>> (eval 682) line 816.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> in mh_control.pl
> >>>>>>>>>>>>>> Global symbol "$v_repeat_last_spoken" requires explicit package name
> >>>>>>>>>>>>>> at (eval 682) line 907.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> in eliza_server.pl
> >>>>>>>>>>>>>> Global symbol "$f_eliza_deep_thoughts" requires explicit package name
> >>>>>>>>>>>>>> at (eval 682) line 3833
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> 2) my X10 proxy does not start.  I've not changed the config since 4.0
> >>>>>>>>>>>>>> when it ran OK - have I missed anything?
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Giles
> >>>>>>>>>>>>>>

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Eloy Paris
On Fri, Mar 18, 2016 at 02:24:03PM -0400, Eloy Paris wrote:

[...]

> Instead of working around the issue by reducing indentation (and thus
> reducing code readability as well), could these particular corner cases
> not be handled by declaring the objects in #noloop=start/#noloop=stop
> sections (at the top of the user code file) like this:
>
> # noloop=start
>
> my $bsc_x10_device;
> my $bsc_abstract_device;
> my $bsc_presence_device;
> my $bsc_info_timer;
>
> # noloop=stop
>
> Then I think the rest of the code could be left as-is.

... and perltidy will not have to be tweaked to ignore lines that have
an object declarations in them (if that's even possible).

Cheers,

Eloy Paris.-


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Lieven Hollevoet
Administrator
Hello,

I agree with Eloy, we need to adapt the code merger part of Misterhouse so that is works correctly, we should not try to fix perltidy.

Best regards,
 Lieven.

> Op 18 mrt. 2016, om 19:43 heeft Eloy Paris <[hidden email]> het volgende geschreven:
>
> On Fri, Mar 18, 2016 at 02:24:03PM -0400, Eloy Paris wrote:
>
> [...]
>
>> Instead of working around the issue by reducing indentation (and thus
>> reducing code readability as well), could these particular corner cases
>> not be handled by declaring the objects in #noloop=start/#noloop=stop
>> sections (at the top of the user code file) like this:
>>
>> # noloop=start
>>
>> my $bsc_x10_device;
>> my $bsc_abstract_device;
>> my $bsc_presence_device;
>> my $bsc_info_timer;
>>
>> # noloop=stop
>>
>> Then I think the rest of the code could be left as-is.
>
> ... and perltidy will not have to be tweaked to ignore lines that have
> an object declarations in them (if that's even possible).
>
> Cheers,
>
> Eloy Paris.-
>
>
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
> ________________________________________________________
> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users


signature.asc (465 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

H Plato
I just tried this with bsc.pl, and it didn’t work. It doesn’t seem like the #noloop directives fix MH objects that are indented more than 3 blanks. Looking at MH, it sets a flag if  $record =~ /#\s*noloop\s*$/i so it doesn’t care about the position of the ‘noloop’ statement, however objects will only be pulled into the MH object pool if it has less than three blanks in front:

           # Pull it out as an mh object IF:
           #  - It has 0 to 3 blanks in front of it (no my, not indented more than 3 blanks)
           #    Allow for new XYZ(stuff), new XYZ;, new XYZ qq|stuff|, etc
           #           my ($object, $type) = $record =~ /^\s*(\$\S+)\s*=\s*new\s+(\S+?)\s*[\(\;]/;
           #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+(\S+?)\s*[\(\"\'\;\n]/;

           #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([^\s\(\;]+)/; # <- Did not parse on RH 9.0 perl 5.8!  Ok without last \s
           #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9\_\-]+)/;
           my ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;

I don’t quite know the background behind this design choice. I’m guessing that it was done so that global objects need to be specified with intent (ie first three blanks), however I’m not sure if this is still needed. Changing the line to:

           my ( $object, $type ) = $record =~ /^\*(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;

would find objects regardless of position, however I don’t know what else might break.  Any old-timers around that might have an idea the background behind 'all MH objects must be within 3 blanks of the start of the line’ approach?

> On Mar 19, 2016, at 8:51 AM, Lieven Hollevoet <[hidden email]> wrote:
>
> Hello,
>
> I agree with Eloy, we need to adapt the code merger part of Misterhouse so that is works correctly, we should not try to fix perltidy.
>
> Best regards,
> Lieven.
>
>> Op 18 mrt. 2016, om 19:43 heeft Eloy Paris <[hidden email]> het volgende geschreven:
>>
>> On Fri, Mar 18, 2016 at 02:24:03PM -0400, Eloy Paris wrote:
>>
>> [...]
>>
>>> Instead of working around the issue by reducing indentation (and thus
>>> reducing code readability as well), could these particular corner cases
>>> not be handled by declaring the objects in #noloop=start/#noloop=stop
>>> sections (at the top of the user code file) like this:
>>>
>>> # noloop=start
>>>
>>> my $bsc_x10_device;
>>> my $bsc_abstract_device;
>>> my $bsc_presence_device;
>>> my $bsc_info_timer;
>>>
>>> # noloop=stop
>>>
>>> Then I think the rest of the code could be left as-is.
>>
>> ... and perltidy will not have to be tweaked to ignore lines that have
>> an object declarations in them (if that's even possible).
>>
>> Cheers,
>>
>> Eloy Paris.-
>>
>>
>> ------------------------------------------------------------------------------
>> Transform Data into Opportunity.
>> Accelerate data analysis in your applications with
>> Intel Data Analytics Acceleration Library.
>> Click to learn more.
>> http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
>> ________________________________________________________
>> To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users
>>
>


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Eloy Paris
Hi Howard,

Did you try putting the object declarations as close as possible to the
top of bsc.pl and without indentation? I think you can even leave out
the #noloop directives:

my $bsc_x10_device;
my $bsc_abstract_device;
my $bsc_presence_device;
my $bsc_info_timer;

The idea is that by the time Perl sees the indented "$object = new
XXXXX" statements later in the file, the object has already been
declared.

Cheers,

Eloy Paris.-

On Sat, Mar 19, 2016 at 10:51:15AM -0600, H Plato wrote:

> I just tried this with bsc.pl, and it didn’t work. It doesn’t seem like the #noloop directives fix MH objects that are indented more than 3 blanks. Looking at MH, it sets a flag if  $record =~ /#\s*noloop\s*$/i so it doesn’t care about the position of the ‘noloop’ statement, however objects will only be pulled into the MH object pool if it has less than three blanks in front:
>
>            # Pull it out as an mh object IF:
>            #  - It has 0 to 3 blanks in front of it (no my, not indented more than 3 blanks)
>            #    Allow for new XYZ(stuff), new XYZ;, new XYZ qq|stuff|, etc
>            #           my ($object, $type) = $record =~ /^\s*(\$\S+)\s*=\s*new\s+(\S+?)\s*[\(\;]/;
>            #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+(\S+?)\s*[\(\"\'\;\n]/;
>
>            #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([^\s\(\;]+)/; # <- Did not parse on RH 9.0 perl 5.8!  Ok without last \s
>            #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9\_\-]+)/;
>            my ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
>
> I don’t quite know the background behind this design choice. I’m guessing that it was done so that global objects need to be specified with intent (ie first three blanks), however I’m not sure if this is still needed. Changing the line to:
>
>            my ( $object, $type ) = $record =~ /^\*(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
>
> would find objects regardless of position, however I don’t know what else might break.  Any old-timers around that might have an idea the background behind 'all MH objects must be within 3 blanks of the start of the line’ approach?
>
> > On Mar 19, 2016, at 8:51 AM, Lieven Hollevoet <[hidden email]> wrote:
> >
> > Hello,
> >
> > I agree with Eloy, we need to adapt the code merger part of Misterhouse so that is works correctly, we should not try to fix perltidy.
> >
> > Best regards,
> > Lieven.
> >
> >> Op 18 mrt. 2016, om 19:43 heeft Eloy Paris <[hidden email]> het volgende geschreven:
> >>
> >> On Fri, Mar 18, 2016 at 02:24:03PM -0400, Eloy Paris wrote:
> >>
> >> [...]
> >>
> >>> Instead of working around the issue by reducing indentation (and thus
> >>> reducing code readability as well), could these particular corner cases
> >>> not be handled by declaring the objects in #noloop=start/#noloop=stop
> >>> sections (at the top of the user code file) like this:
> >>>
> >>> # noloop=start
> >>>
> >>> my $bsc_x10_device;
> >>> my $bsc_abstract_device;
> >>> my $bsc_presence_device;
> >>> my $bsc_info_timer;
> >>>
> >>> # noloop=stop
> >>>
> >>> Then I think the rest of the code could be left as-is.
> >>
> >> ... and perltidy will not have to be tweaked to ignore lines that have
> >> an object declarations in them (if that's even possible).
> >>
> >> Cheers,
> >>
> >> Eloy Paris.-
> >>

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

Reply | Threaded
Open this post in threaded view
|

Re: Problems with upgrade from 4.0 to 4.1

Eloy Paris
Hi Howard,

I tested putting the object declarations at the top of the file,
leaving everything else untouched, and MH does not crash anymore due to
undeclared variables at startup.

diff --git a/code/common/bsc.pl b/code/common/bsc.pl
index a4aa28a..3d35703 100644
--- a/code/common/bsc.pl
+++ b/code/common/bsc.pl
@@ -33,6 +33,11 @@ use BSC;
 # bsc_info_interval = 10
 # bsc_prefer_abstract = 0
 
+my $bsc_x10_device;
+my $bsc_abstract_device;
+my $bsc_presence_device;
+my $bsc_info_timer;
+
 my $bsc_info_interval = $::config_parms{bsc_info_interval};
 $bsc_info_interval = 10
   if !$bsc_info_interval;    # send out BSC info messages every 10 minutes

You found the reason things break when more than three whitespace
characters are used. The workaround is simple in those cases -- do not
rely on the MH code that stitches user code together being smart and
manually declare the variables before they are used, as shown in the
previous example patch.

However, if we want to continue to rely on MH being smart and try to
take every possible case into consideration, then your proposed change
should be considered. I don't know what could break, though -- I suppose
that since the net that catches object declarations will be wider we
might find some places where objects could be re-declared, which would
case MH to crash at startup.

Cheers,

Eloy Paris.-

On Sat, Mar 19, 2016 at 10:06:55PM -0400, Eloy Paris wrote:

> Hi Howard,
>
> Did you try putting the object declarations as close as possible to the
> top of bsc.pl and without indentation? I think you can even leave out
> the #noloop directives:
>
> my $bsc_x10_device;
> my $bsc_abstract_device;
> my $bsc_presence_device;
> my $bsc_info_timer;
>
> The idea is that by the time Perl sees the indented "$object = new
> XXXXX" statements later in the file, the object has already been
> declared.
>
> Cheers,
>
> Eloy Paris.-
>
> On Sat, Mar 19, 2016 at 10:51:15AM -0600, H Plato wrote:
>
> > I just tried this with bsc.pl, and it didn’t work. It doesn’t seem like the #noloop directives fix MH objects that are indented more than 3 blanks. Looking at MH, it sets a flag if  $record =~ /#\s*noloop\s*$/i so it doesn’t care about the position of the ‘noloop’ statement, however objects will only be pulled into the MH object pool if it has less than three blanks in front:
> >
> >            # Pull it out as an mh object IF:
> >            #  - It has 0 to 3 blanks in front of it (no my, not indented more than 3 blanks)
> >            #    Allow for new XYZ(stuff), new XYZ;, new XYZ qq|stuff|, etc
> >            #           my ($object, $type) = $record =~ /^\s*(\$\S+)\s*=\s*new\s+(\S+?)\s*[\(\;]/;
> >            #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+(\S+?)\s*[\(\"\'\;\n]/;
> >
> >            #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([^\s\(\;]+)/; # <- Did not parse on RH 9.0 perl 5.8!  Ok without last \s
> >            #           my ($object, $type) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9\_\-]+)/;
> >            my ( $object, $type ) = $record =~ /^\s{0,3}(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
> >
> > I don’t quite know the background behind this design choice. I’m guessing that it was done so that global objects need to be specified with intent (ie first three blanks), however I’m not sure if this is still needed. Changing the line to:
> >
> >            my ( $object, $type ) = $record =~ /^\*(\$\S+)\s*=\s*new\s+([A-Za-z0-9:\_\-]+)/;
> >
> > would find objects regardless of position, however I don’t know what else might break.  Any old-timers around that might have an idea the background behind 'all MH objects must be within 3 blanks of the start of the line’ approach?
> >
> > > On Mar 19, 2016, at 8:51 AM, Lieven Hollevoet <[hidden email]> wrote:
> > >
> > > Hello,
> > >
> > > I agree with Eloy, we need to adapt the code merger part of Misterhouse so that is works correctly, we should not try to fix perltidy.
> > >
> > > Best regards,
> > > Lieven.
> > >
> > >> Op 18 mrt. 2016, om 19:43 heeft Eloy Paris <[hidden email]> het volgende geschreven:
> > >>
> > >> On Fri, Mar 18, 2016 at 02:24:03PM -0400, Eloy Paris wrote:
> > >>
> > >> [...]
> > >>
> > >>> Instead of working around the issue by reducing indentation (and thus
> > >>> reducing code readability as well), could these particular corner cases
> > >>> not be handled by declaring the objects in #noloop=start/#noloop=stop
> > >>> sections (at the top of the user code file) like this:
> > >>>
> > >>> # noloop=start
> > >>>
> > >>> my $bsc_x10_device;
> > >>> my $bsc_abstract_device;
> > >>> my $bsc_presence_device;
> > >>> my $bsc_info_timer;
> > >>>
> > >>> # noloop=stop
> > >>>
> > >>> Then I think the rest of the code could be left as-is.
> > >>
> > >> ... and perltidy will not have to be tweaked to ignore lines that have
> > >> an object declarations in them (if that's even possible).
> > >>
> > >> Cheers,
> > >>
> > >> Eloy Paris.-
> > >>

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
________________________________________________________
To unsubscribe from this list, go to: https://lists.sourceforge.net/lists/listinfo/misterhouse-users

12