osSetTimeZone [Mandrake 2.2!, VisualWorks 7.4.0]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

osSetTimeZone [Mandrake 2.2!, VisualWorks 7.4.0]

Stew MacLean

Hi,

 

When deploying to my (very old) linux setup I’m experiencing the following walkback when setting time zone using the BottomFeeder parcel.

 

As its so low level I suspect that it’s to do with the age of the os, but that’s just a hunch.

 

Can anyone confirm or this or not? – thanks.

 

Cheers,

 

Stewart

 

Message not understood: #contentsOf:at:pointerKind:

…..

[7] MessageNotUnderstood(GenericException)>>raiseSignal

            Receiver: (id=11948) a MessageNotUnderstood

[8] CPointerType(Object)>>doesNotUnderstand:

            Receiver: (id=5119) void *

            Arg1: (id=13607) a Message with selector: #contentsOf:at:pointerKind: and arguments: #(#tm_mda...

[9] CCompositePointer>>memberAt:

            Receiver: (id=4955) a CCompositePointer {401F4360} (tm * )

            Arg1: (id=11355) #tm_mday

[10] UnixSystemSupport>>osTimestampNow

            Receiver: (id=6428) an UnixSystemSupport

[11] UnixSystemSupport(OSSystemSupport)>>osSetTimeZone

            Receiver: (id=6428) an UnixSystemSupport

[12] TimeZone class>>osSetTimeZone

            Receiver: (id=3038) TimeZone

Reply | Threaded
Open this post in threaded view
|

Re: osSetTimeZone [Mandrake 2.2!, VisualWorks 7.4.0]

Reinout Heeck

Stewart MacLean wrote:
> When deploying to my (very old) linux setup I’m experiencing the  
> following walkback when setting time zone using the BottomFeeder  
> parcel.
>
> As its so low level I suspect that it’s to do with the age of the  
> os, but that’s just a hunch.
>
> Can anyone confirm or this or not? – thanks.

To me frames [8] and [9] suggest that something is screwy in the  
DLLCC runtime layer (like yo are missing part of the implementation?)

R
-

>
>
> Cheers,
>
>
>
> Stewart
>
>
>
> Message not understood: #contentsOf:at:pointerKind:
>
> …..
>
> [7] MessageNotUnderstood(GenericException)>>raiseSignal
>
>             Receiver: (id=11948) a MessageNotUnderstood
>
> [8] CPointerType(Object)>>doesNotUnderstand:
>
>             Receiver: (id=5119) void *
>
>             Arg1: (id=13607) a Message with selector:  
> #contentsOf:at:pointerKind: and arguments: #(#tm_mda...
>
> [9] CCompositePointer>>memberAt:
>
>             Receiver: (id=4955) a CCompositePointer {401F4360} (tm * )
>
>             Arg1: (id=11355) #tm_mday
>
> [10] UnixSystemSupport>>osTimestampNow
>
>             Receiver: (id=6428) an UnixSystemSupport
>
> [11] UnixSystemSupport(OSSystemSupport)>>osSetTimeZone
>
>             Receiver: (id=6428) an UnixSystemSupport
>
> [12] TimeZone class>>osSetTimeZone
>
>             Receiver: (id=3038) TimeZone
>
>

Reply | Threaded
Open this post in threaded view
|

RE: osSetTimeZone [Mandrake 2.2!, VisualWorks 7.4.0]

Stew MacLean
Hi Reinout,

I've followed this through with the help of some tracing. I don't think
I'm missing code. I'm completely out my depth here, hopefully this may
mean something to somebody? Could it be that because I'm using such an
old version of Mandrake that the structure returned from localtime: is
invalid?

Cheers, Stewart

Call tree follows...

UnixSystemSupport>>osTimestampNow

        ....
        sysTime := self localtime: tp.
=============================================
UnixSystemSupport>>localtime: arg

        <C: struct tm *  localtime(time_t const * )>
        ^self externalAccessFailedWith: _errorCode
============================================================
osTimestampNow
        date := Date
                        newDay: (sysTime memberAt: #tm_mday)
================================================================
CCompositePointer>>memberAt:
       
        ^type referentType baseType
                contentsOf: aMember
                at: self
                pointerKind: type kind
-----------------------------------
Logged values in this method:

memberAt: #tm_mday class: ByteSymbol
type: tm *  class: CPointerType
type referentType: tm class: CTypedefType
baseType: void *  class CPointerType
=====================================================
CPointerType>>referentType

referentType
        "Answer the type the receiver references."

        ^referentType
======================================
CtypedefType>>baseType

CQualifiedType>>baseType
        "Answer the base type, removing any layers of typedef."

        ^type baseType
=================================================
CPointerType(Object)>>doesNotUnderstand:
>>
>>             Receiver: (id=5119) void *
>>
>>             Arg1: (id=13607) a Message with selector:
>> #contentsOf:at:pointerKind: and arguments: #(#tm_mda...





>-----Original Message-----
>From: Reinout Heeck [mailto:[hidden email]]
>Sent: 21 November 2006 3:48 a.m.
>To: vwnc-list NC
>Subject: Re: osSetTimeZone [Mandrake 2.2!, VisualWorks 7.4.0]
>
>
>Stewart MacLean wrote:
>> When deploying to my (very old) linux setup I'm experiencing the
>> following walkback when setting time zone using the BottomFeeder
>> parcel.
>>
>> As its so low level I suspect that it's to do with the age of the
>> os, but that's just a hunch.
>>
>> Can anyone confirm or this or not? - thanks.
>
>To me frames [8] and [9] suggest that something is screwy in the
>DLLCC runtime layer (like yo are missing part of the implementation?)
>
>R
>-
>>
>>
>> Cheers,
>>
>>
>>
>> Stewart
>>
>>
>>
>> Message not understood: #contentsOf:at:pointerKind:
>>
>> ...
>>
>> [7] MessageNotUnderstood(GenericException)>>raiseSignal
>>
>>             Receiver: (id=11948) a MessageNotUnderstood
>>
>> [8] CPointerType(Object)>>doesNotUnderstand:
>>
>>             Receiver: (id=5119) void *
>>
>>             Arg1: (id=13607) a Message with selector:
>> #contentsOf:at:pointerKind: and arguments: #(#tm_mda...
>>
>> [9] CCompositePointer>>memberAt:
>>
>>             Receiver: (id=4955) a CCompositePointer {401F4360} (tm *
)

>>
>>             Arg1: (id=11355) #tm_mday
>>
>> [10] UnixSystemSupport>>osTimestampNow
>>
>>             Receiver: (id=6428) an UnixSystemSupport
>>
>> [11] UnixSystemSupport(OSSystemSupport)>>osSetTimeZone
>>
>>             Receiver: (id=6428) an UnixSystemSupport
>>
>> [12] TimeZone class>>osSetTimeZone
>>
>>             Receiver: (id=3038) TimeZone
>>
>>



Reply | Threaded
Open this post in threaded view
|

Re: osSetTimeZone [Mandrake 2.2!, VisualWorks 7.4.0]

Reinout Heeck
I don't see it :-(


How does the result from #localtime: respond to #isValid? (Is it a  
null pointer?)


Is the input to #localtime: a reasonable value (seconds since 1970)?  
The man page
   man 3 localtime
does not suggest any specific failure modes on my installation.

Can you verify that the same image does work on a more modern Linux  
installation?


R
-


Stewart MacLean wrote:

> Hi Reinout,
>
> I've followed this through with the help of some tracing. I don't  
> think
> I'm missing code. I'm completely out my depth here, hopefully this may
> mean something to somebody? Could it be that because I'm using such an
> old version of Mandrake that the structure returned from localtime: is
> invalid?
>
> Cheers, Stewart
>
> Call tree follows...
>
> UnixSystemSupport>>osTimestampNow
>
> ....
> sysTime := self localtime: tp.
> =============================================
> UnixSystemSupport>>localtime: arg
>
> <C: struct tm *  localtime(time_t const * )>
> ^self externalAccessFailedWith: _errorCode
> ============================================================
> osTimestampNow
> date := Date
> newDay: (sysTime memberAt: #tm_mday)
> ================================================================
> CCompositePointer>>memberAt:
>
> ^type referentType baseType
> contentsOf: aMember
> at: self
> pointerKind: type kind
> -----------------------------------
> Logged values in this method:
>
> memberAt: #tm_mday class: ByteSymbol
> type: tm *  class: CPointerType
> type referentType: tm class: CTypedefType
> baseType: void *  class CPointerType
> =====================================================
> CPointerType>>referentType
>
> referentType
> "Answer the type the receiver references."
>
> ^referentType
> ======================================
> CtypedefType>>baseType
>
> CQualifiedType>>baseType
> "Answer the base type, removing any layers of typedef."
>
> ^type baseType
> =================================================
> CPointerType(Object)>>doesNotUnderstand:
>>>
>>>             Receiver: (id=5119) void *
>>>
>>>             Arg1: (id=13607) a Message with selector:
>>> #contentsOf:at:pointerKind: and arguments: #(#tm_mda...
>
>
>
>
>
>> -----Original Message-----
>> From: Reinout Heeck [mailto:[hidden email]]
>> Sent: 21 November 2006 3:48 a.m.
>> To: vwnc-list NC
>> Subject: Re: osSetTimeZone [Mandrake 2.2!, VisualWorks 7.4.0]
>>
>>
>> Stewart MacLean wrote:
>>> When deploying to my (very old) linux setup I'm experiencing the
>>> following walkback when setting time zone using the BottomFeeder
>>> parcel.
>>>
>>> As its so low level I suspect that it's to do with the age of the
>>> os, but that's just a hunch.
>>>
>>> Can anyone confirm or this or not? - thanks.
>>
>> To me frames [8] and [9] suggest that something is screwy in the
>> DLLCC runtime layer (like yo are missing part of the implementation?)
>>
>> R
>> -
>>>
>>>
>>> Cheers,
>>>
>>>
>>>
>>> Stewart
>>>
>>>
>>>
>>> Message not understood: #contentsOf:at:pointerKind:
>>>
>>> ...
>>>
>>> [7] MessageNotUnderstood(GenericException)>>raiseSignal
>>>
>>>             Receiver: (id=11948) a MessageNotUnderstood
>>>
>>> [8] CPointerType(Object)>>doesNotUnderstand:
>>>
>>>             Receiver: (id=5119) void *
>>>
>>>             Arg1: (id=13607) a Message with selector:
>>> #contentsOf:at:pointerKind: and arguments: #(#tm_mda...
>>>
>>> [9] CCompositePointer>>memberAt:
>>>
>>>             Receiver: (id=4955) a CCompositePointer {401F4360} (tm *
> )
>>>
>>>             Arg1: (id=11355) #tm_mday
>>>
>>> [10] UnixSystemSupport>>osTimestampNow
>>>
>>>             Receiver: (id=6428) an UnixSystemSupport
>>>
>>> [11] UnixSystemSupport(OSSystemSupport)>>osSetTimeZone
>>>
>>>             Receiver: (id=6428) an UnixSystemSupport
>>>
>>> [12] TimeZone class>>osSetTimeZone
>>>
>>>             Receiver: (id=3038) TimeZone
>>>
>>>
>
>
>
>