i just built a threaded cog VM for win32, and when i starting an image, a console window shows warnings: # Debug console # To close: F2 -> 'debug options' -> 'show output console' # To disable: F2 -> 'debug options' -> 'show console on errors' warning, processHasThreadId flag is unset; cannot function as a threaded VM if so. warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread warning: Process doesn't have threadId; VM will not thread however, in pharo we already introduced the threadId ivar: Link subclass: #Process instanceVariableNames: 'suspendedContext priority myList threadId errorHandler name env' classVariableNames: '' poolDictionaries: '' category: 'Kernel-Processes' could it be because of initial "warning, processHasThreadId flag is unset; cannot function as a threaded VM if so."? -- Best regards, Igor Stasenko. |
On 2/7/2012 3:39, Igor Stasenko wrote: > however, in pharo we already introduced the threadId ivar: > > Link subclass: #Process > instanceVariableNames: 'suspendedContext priority myList threadId > errorHandler name env' > classVariableNames: '' > poolDictionaries: '' > category: 'Kernel-Processes' > > could it be because of initial "warning, processHasThreadId flag is > unset; cannot function as a threaded VM if so."? Yes. The VM doesn't actually look at class Process - it only checks the flag in the image header. Cheers, - Andreas |
On 7 February 2012 08:48, Andreas Raab <[hidden email]> wrote: > > On 2/7/2012 3:39, Igor Stasenko wrote: >> >> however, in pharo we already introduced the threadId ivar: >> >> Link subclass: #Process >> instanceVariableNames: 'suspendedContext priority myList threadId >> errorHandler name env' >> classVariableNames: '' >> poolDictionaries: '' >> category: 'Kernel-Processes' >> >> could it be because of initial "warning, processHasThreadId flag is >> unset; cannot function as a threaded VM if so."? > > > Yes. The VM doesn't actually look at class Process - it only checks the flag > in the image header. So it is probably needs to be fixed to have warning which not lying to you :) > > Cheers, > - Andreas -- Best regards, Igor Stasenko. |
On 2/7/2012 16:06, Igor Stasenko wrote: > > On 7 February 2012 08:48, Andreas Raab<[hidden email]> wrote: >> On 2/7/2012 3:39, Igor Stasenko wrote: >>> however, in pharo we already introduced the threadId ivar: >>> >>> Link subclass: #Process >>> instanceVariableNames: 'suspendedContext priority myList threadId >>> errorHandler name env' >>> classVariableNames: '' >>> poolDictionaries: '' >>> category: 'Kernel-Processes' >>> >>> could it be because of initial "warning, processHasThreadId flag is >>> unset; cannot function as a threaded VM if so."? >> >> Yes. The VM doesn't actually look at class Process - it only checks the flag >> in the image header. > So it is probably needs to be fixed to have warning which not lying to you :) The warning is entirely correct, it tells you that the processHasThreadId ->FLAG<- isn't set. Cheers, - Andreas |
On 7 February 2012 17:16, Andreas Raab <[hidden email]> wrote: > > > > On 2/7/2012 16:06, Igor Stasenko wrote: >> >> >> On 7 February 2012 08:48, Andreas Raab<[hidden email]> wrote: >>> >>> On 2/7/2012 3:39, Igor Stasenko wrote: >>>> >>>> however, in pharo we already introduced the threadId ivar: >>>> >>>> Link subclass: #Process >>>> instanceVariableNames: 'suspendedContext priority myList threadId >>>> errorHandler name env' >>>> classVariableNames: '' >>>> poolDictionaries: '' >>>> category: 'Kernel-Processes' >>>> >>>> could it be because of initial "warning, processHasThreadId flag is >>>> unset; cannot function as a threaded VM if so."? >>> >>> >>> Yes. The VM doesn't actually look at class Process - it only checks the >>> flag >>> in the image header. >> >> So it is probably needs to be fixed to have warning which not lying to you >> :) > > > The warning is entirely correct, it tells you that the processHasThreadId > ->FLAG<- isn't set. > wheere you see any mention about flag? i think that it is clear to everyone who reading the above that it is not about flag, but about mising thread id var in Process. > Cheers, > - Andreas > > -- Best regards, Igor Stasenko. |
On Tue, Feb 7, 2012 at 7:36 AM, Igor Stasenko <[hidden email]> wrote:
Whatever. The VM doesn't know how to interrogate the class Process to find if it has the inst var. You tell the VM that Process has the inst var by setting the flag and saving the image. You set the flag using bit 0 of VM parameter 48. Find a nice accessor attached.
best, Eliot SmalltalkImage-processHasThreadIdInstVar.st (800 bytes) Download Attachment |
On 7 February 2012 19:48, Eliot Miranda <[hidden email]> wrote: > > > > On Tue, Feb 7, 2012 at 7:36 AM, Igor Stasenko <[hidden email]> wrote: >> >> >> On 7 February 2012 17:16, Andreas Raab <[hidden email]> wrote: >> > >> > >> > >> > On 2/7/2012 16:06, Igor Stasenko wrote: >> >> >> >> >> >> On 7 February 2012 08:48, Andreas Raab<[hidden email]> wrote: >> >>> >> >>> On 2/7/2012 3:39, Igor Stasenko wrote: >> >>>> >> >>>> however, in pharo we already introduced the threadId ivar: >> >>>> >> >>>> Link subclass: #Process >> >>>> instanceVariableNames: 'suspendedContext priority myList threadId >> >>>> errorHandler name env' >> >>>> classVariableNames: '' >> >>>> poolDictionaries: '' >> >>>> category: 'Kernel-Processes' >> >>>> >> >>>> could it be because of initial "warning, processHasThreadId flag is >> >>>> unset; cannot function as a threaded VM if so."? >> >>> >> >>> >> >>> Yes. The VM doesn't actually look at class Process - it only checks the >> >>> flag >> >>> in the image header. >> >> >> >> So it is probably needs to be fixed to have warning which not lying to you >> >> :) >> > >> > >> > The warning is entirely correct, it tells you that the processHasThreadId >> > ->FLAG<- isn't set. >> > >> warning: Process doesn't have threadId; VM will not thread >> >> wheere you see any mention about flag? >> i think that it is clear to everyone who reading the above that it is >> not about flag, but >> about mising thread id var in Process. > > > Whatever. The VM doesn't know how to interrogate the class Process to find if it has the inst var. You tell the VM that Process has the inst var by setting the flag and saving the image. You set the flag using bit 0 of VM parameter 48. Find a nice accessor attached. I know that. Just don't want a confusion to spread. For me, those warnings are not an issue. But if others start using that VM they will see that warning, which will lead to same silly questions by everyone. Actually, i'd rather turn these messages into notifications, not warnings. Because there are certain gap between things most people can ignore, and things that make them scared " oh my. it wanrs me about something that i don't understand.. it seems that my image/VM is broken, lets report that to mailing list..." -- Best regards, Igor Stasenko. |
On Tue, Feb 7, 2012 at 10:37 AM, Igor Stasenko <[hidden email]> wrote:
OK, so how about warning: VM parameter 48 indicates Process doesn't have threadId; VM will not thread ?
best, Eliot |
On 7 February 2012 21:33, Eliot Miranda <[hidden email]> wrote: > > > > OK, so how about > warning: VM parameter 48 indicates Process doesn't have threadId; VM will not thread Deal! :) > ? >> >> >> -- >> Best regards, >> Igor Stasenko. > > > > > -- > best, > Eliot > > -- Best regards, Igor Stasenko. |
Free forum by Nabble | Edit this page |