UUIDs not so unique

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

UUIDs not so unique

Philippe Marschall-2-3
Hi

I have run into an issue where there wouldn't any unique UUIDs be
produced any more.

((1 to: 100) collect: [ :i |
        UUID new asString ]) asSet size

answers 2 or 3 in my image.

My system:
linux 64bit
cog r2462
Pharo 1.3 latest updates
(no changes to the UUID class)

I found the issue because there are several versions of Seaside-Core in
the WIP repository [1] with the same UUID. For example
Seaside-Core-pmm.728 and Seaside-Core-pmm.729 or Seaside-Core-pmm.727
and Seaside-Core-pmm.726.

Since this means I can't write any Seaside code anymore I'm obviously
not happy.

 [1] http://www.squeaksource.com/SeasideWip

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

EstebanLM
yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:

UUID>>#primMakeUUID
        <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
        UUIDGenerator default generateBytes: self forVersion: 4.

just comment the primitive call.

cheers,
Esteban

El 19/07/2011, a las 3:45p.m., Philippe Marschall escribió:

> Hi
>
> I have run into an issue where there wouldn't any unique UUIDs be
> produced any more.
>
> ((1 to: 100) collect: [ :i |
> UUID new asString ]) asSet size
>
> answers 2 or 3 in my image.
>
> My system:
> linux 64bit
> cog r2462
> Pharo 1.3 latest updates
> (no changes to the UUID class)
>
> I found the issue because there are several versions of Seaside-Core in
> the WIP repository [1] with the same UUID. For example
> Seaside-Core-pmm.728 and Seaside-Core-pmm.729 or Seaside-Core-pmm.727
> and Seaside-Core-pmm.726.
>
> Since this means I can't write any Seaside code anymore I'm obviously
> not happy.
>
> [1] http://www.squeaksource.com/SeasideWip
>
> Cheers
> Philippe
>
>


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Philippe Marschall-2
On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>
> UUID>>#primMakeUUID
> <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
> UUIDGenerator default generateBytes: self forVersion: 4.
>
> just comment the primitive call.

Guys, srsly? Is this some kind of practical joke? You have been shipping
with a known bug that has a trivial fix and eats peoples code? You are
wondering why nobody takes you seriously and you don't have more users?
You teach software engineering?

This is exactly the kind of shit that makes me want to never again use
Pharo in production. This is the reason why I don't recommend Pharo to
other people.

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

SergeStinckwich
On Wed, Jul 20, 2011 at 1:36 PM, Philippe Marschall
<[hidden email]> wrote:

> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>
>> UUID>>#primMakeUUID
>>       <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>       UUIDGenerator default generateBytes: self forVersion: 4.
>>
>> just comment the primitive call.
>
> Guys, srsly? Is this some kind of practical joke? You have been shipping
> with a known bug that has a trivial fix and eats peoples code? You are
> wondering why nobody takes you seriously and you don't have more users?
> You teach software engineering?

Hum, you know like in most open-source software project, nothing
happens by magic, unfortunately.
Human ressources are very scarce as Pharo is a part-time project for
most of us. Maybe your problem will required some interactions between
VM guys and Pharoers. Not something that could be done in 5 minutes.

Did you submit an issue in the bug tracker just to keep track of it ?
Did you package some patch that could be used more easily by people
who do the release ?

> This is exactly the kind of shit that makes me want to never again use
> Pharo in production. This is the reason why I don't recommend Pharo to
> other people.

If you use Pharo in production did you give money to support the project ?
Pharo is not supported by a company (not yet), so no commitments could
be done on the speed of the adoption of patches.
People are just doing their best to enhance the system. And if you
help them (by packaging patches that solve some problems), everyone
will win in the long term.

Best regards,
--
Serge Stinckwich
UMI UMMISCO 209 (IRD/UPMC), Hanoi, Vietnam
Every DSL ends up being Smalltalk
http://doesnotunderstand.org/

Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Camillo Bruni
In reply to this post by Philippe Marschall-2
On 2011-07-20, at 08:36, Philippe Marschall wrote:

> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>
>> UUID>>#primMakeUUID
>> <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>> UUIDGenerator default generateBytes: self forVersion: 4.
>>
>> just comment the primitive call.
>
> Guys, srsly? Is this some kind of practical joke? You have been shipping
> with a known bug that has a trivial fix and eats peoples code? You are
> wondering why nobody takes you seriously and you don't have more users?
> You teach software engineering?
>
> This is exactly the kind of shit that makes me want to never again use
> Pharo in production. This is the reason why I don't recommend Pharo to
> other people.

If you don't like don't use it, otherwise help improving it! ;) simple as that :D

cami


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Scott Gibson

On Jul 20, 2011, at 6:54 AM, Camillo Bruni wrote:

> On 2011-07-20, at 08:36, Philippe Marschall wrote:
>> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>>
>>> UUID>>#primMakeUUID
>>> <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>> UUIDGenerator default generateBytes: self forVersion: 4.
>>>
>>> just comment the primitive call.
>>
>> Guys, srsly? Is this some kind of practical joke? You have been shipping
>> with a known bug that has a trivial fix and eats peoples code? You are
>> wondering why nobody takes you seriously and you don't have more users?
>> You teach software engineering?
>>
>> This is exactly the kind of shit that makes me want to never again use
>> Pharo in production. This is the reason why I don't recommend Pharo to
>> other people.
>
> If you don't like don't use it, otherwise help improving it! ;) simple as that :D
>

Which is an adequate response unless it is also followed by another in wonder as to why people are not using Pharo more.  :-)

Scott

> cami
>
>


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

EstebanLM
In reply to this post by Philippe Marschall-2
Hi Philippe,
There is no need to be so dramatic :)
it was not a *known* issue.
Better: *I* knew it, because I found same problem last week. I thought it was a problem with my virtual machines, which is still not production released, just collecting issues -like this-, that's why I didn't ran to solve it. When you described the problem, I thought it was same bug... and that's why I started think it was a general UUID plugin bug...
we are collecting this problems, and solving them as soon as we can...

please, be a little patient, your feedback is very important to us.

cheers,
Esteban

El 20/07/2011, a las 3:36a.m., Philippe Marschall escribió:

> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>
>> UUID>>#primMakeUUID
>> <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>> UUIDGenerator default generateBytes: self forVersion: 4.
>>
>> just comment the primitive call.
>
> Guys, srsly? Is this some kind of practical joke? You have been shipping
> with a known bug that has a trivial fix and eats peoples code? You are
> wondering why nobody takes you seriously and you don't have more users?
> You teach software engineering?
>
> This is exactly the kind of shit that makes me want to never again use
> Pharo in production. This is the reason why I don't recommend Pharo to
> other people.
>
> Cheers
> Philippe
>
>


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Philippe Marschall-2
In reply to this post by SergeStinckwich
On 07/20/2011 09:00 AM, Serge Stinckwich wrote:

> On Wed, Jul 20, 2011 at 1:36 PM, Philippe Marschall
> <[hidden email]> wrote:
>> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>>
>>> UUID>>#primMakeUUID
>>>       <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>>       UUIDGenerator default generateBytes: self forVersion: 4.
>>>
>>> just comment the primitive call.
>>
>> Guys, srsly? Is this some kind of practical joke? You have been shipping
>> with a known bug that has a trivial fix and eats peoples code? You are
>> wondering why nobody takes you seriously and you don't have more users?
>> You teach software engineering?
>
> Hum, you know like in most open-source software project, nothing
> happens by magic, unfortunately.
> Human ressources are very scarce as Pharo is a part-time project for
> most of us. Maybe your problem will required some interactions between
> VM guys and Pharoers. Not something that could be done in 5 minutes.
>
> Did you submit an issue in the bug tracker just to keep track of it ?
> Did you package some patch that could be used more easily by people
> who do the release ?
>
>> This is exactly the kind of shit that makes me want to never again use
>> Pharo in production. This is the reason why I don't recommend Pharo to
>> other people.
>
> If you use Pharo in production did you give money to support the project ?
> Pharo is not supported by a company (not yet), so no commitments could
> be done on the speed of the adoption of patches.
> People are just doing their best to enhance the system. And if you
> help them (by packaging patches that solve some problems), everyone
> will win in the long term.

And that is completely fine. But then you don't have to be surprised
when people don't take you serious, you don't have more users and you
don't have any enterprise penetration.

To quote from the project page:
"We want Pharo to be the obvious choice for professional development in
an open-source Smalltalk."

Pro tip: if you want to be the obvious choice for professional
development don't eat peoples code.

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Clara Allende
Pharo is not a few guys' project, it's everyone's who wants to join in :) Nevertheless, not everybody has enough time to do all the changes they wish to improve the system. So, you shouldn't be surprised if these things happen and they aren't fixed right away. Instead, if you really really want to collaborate with the project, don't get on your nerves and either submit an issue or help fixing it,  I'm sure we'll all appreciate them both. Certainly there's a lot of work to do, but there's no magic in here, and this isn't the kind of thing you do from one day to another....

Cheers

2011/7/20 Philippe Marschall <[hidden email]>
On 07/20/2011 09:00 AM, Serge Stinckwich wrote:
> On Wed, Jul 20, 2011 at 1:36 PM, Philippe Marschall
> <[hidden email]> wrote:
>> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>>
>>> UUID>>#primMakeUUID
>>>       <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>>       UUIDGenerator default generateBytes: self forVersion: 4.
>>>
>>> just comment the primitive call.
>>
>> Guys, srsly? Is this some kind of practical joke? You have been shipping
>> with a known bug that has a trivial fix and eats peoples code? You are
>> wondering why nobody takes you seriously and you don't have more users?
>> You teach software engineering?
>
> Hum, you know like in most open-source software project, nothing
> happens by magic, unfortunately.
> Human ressources are very scarce as Pharo is a part-time project for
> most of us. Maybe your problem will required some interactions between
> VM guys and Pharoers. Not something that could be done in 5 minutes.
>
> Did you submit an issue in the bug tracker just to keep track of it ?
> Did you package some patch that could be used more easily by people
> who do the release ?
>
>> This is exactly the kind of shit that makes me want to never again use
>> Pharo in production. This is the reason why I don't recommend Pharo to
>> other people.
>
> If you use Pharo in production did you give money to support the project ?
> Pharo is not supported by a company (not yet), so no commitments could
> be done on the speed of the adoption of patches.
> People are just doing their best to enhance the system. And if you
> help them (by packaging patches that solve some problems), everyone
> will win in the long term.

And that is completely fine. But then you don't have to be surprised
when people don't take you serious, you don't have more users and you
don't have any enterprise penetration.

To quote from the project page:
"We want Pharo to be the obvious choice for professional development in
an open-source Smalltalk."

Pro tip: if you want to be the obvious choice for professional
development don't eat peoples code.

Cheers
Philippe



Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Hilaire Fernandes
In reply to this post by Philippe Marschall-2-3
Le 19/07/2011 20:45, Philippe Marschall a écrit :
> ((1 to: 100) collect: [ :i |
> UUID new asString ]) asSet size
>

For me it produce a 100 size set.
I am using Pharo 1.3 and a self compiled VM, the one I ship in DrGeo (VM
version 4.0.3-2202). You may want to test with this VM
https://gforge.inria.fr/frs/download.php/28574/DrGeo.app-11.06.zip

Hilaire


--
Education 0.2 -- http://blog.ofset.org/hilaire


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Benoit St-Jean
In reply to this post by Philippe Marschall-2
Hi guys,

If I might add, considering the fact that Pharo is putting **lots** of efforts into unit testing and automated builds using Hudson/Jenkins, we are getting closer to "as good as it gets" when you talk about stability of the image and serious testing and coverage.  However, we can't trap every bug all the time, for every combination of image/VM/OS !!!

If every time I caught a bug I would have used the argument "this is exactly the kind of shit that makes me want to never again use <whatever> in production", I would still work out of paper and pencil.  No Oracle, no VisualAge, no VisualWorks, no Dolphin, no DB/2, no Windows, no Linux, no MS-Office, no OpenOffice, no MySQL, no Apache, no whateveryoucouldthinkabout...

number of images * number of VMs * number of OSes = A LOT TO COVER AND TEST.

Let's all keep that in mind...

Besides, I still haven't found a single piece of software without a bug!  Pharo ain't different.

Gentlemen, back to your class browsers and let's make this thing even better!
 
-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)
Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Philippe Marschall-2
On 07/20/2011 03:09 PM, Benoit St-Jean wrote:

> Hi guys,
>
> If I might add, considering the fact that Pharo is putting **lots** of efforts
> into unit testing and automated builds using Hudson/Jenkins, we are getting
> closer to "as good as it gets" when you talk about stability of the image and
> serious testing and coverage.  However, we can't trap every bug all the time,
> for every combination of image/VM/OS !!!
>
> If every time I caught a bug I would have used the argument "this is exactly the
> kind of shit that makes me want to never again use <whatever> in production", I
> would still work out of paper and pencil.  No Oracle, no VisualAge, no
> VisualWorks, no Dolphin, no DB/2, no Windows, no Linux, no MS-Office, no
> OpenOffice, no MySQL, no Apache, no whateveryoucouldthinkabout...
>
> number of images * number of VMs * number of OSes = A LOT TO COVER AND TEST.
>
> Let's all keep that in mind...
>
> Besides, I still haven't found a single piece of software without a bug!  Pharo
> ain't different.
>
> Gentlemen, back to your class browsers and let's make this thing even better!

You realize the irony of asking people to write more code when they
report that the SCM just broke on them?

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Benoit St-Jean
I realize that counting all the time we all took to write all those emails filling up this thread, we surely would have had time to:

1) report the problem in the bug tracker
2) write a temporary fix
3) write unit tests to check for this bug
4) run the test suite
5) move on to something else (and wait for a "proper" fix)

:)



-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)



From: Philippe Marschall <[hidden email]>
To: [hidden email]
Sent: Wed, July 20, 2011 10:00:23 AM
Subject: Re: [Pharo-project] UUIDs not so unique

On 07/20/2011 03:09 PM, Benoit St-Jean wrote:

> Hi guys,
>
> If I might add, considering the fact that Pharo is putting **lots** of efforts
> into unit testing and automated builds using Hudson/Jenkins, we are getting
> closer to "as good as it gets" when you talk about stability of the image and
> serious testing and coverage.  However, we can't trap every bug all the time,
> for every combination of image/VM/OS !!!
>
> If every time I caught a bug I would have used the argument "this is exactly the
> kind of shit that makes me want to never again use <whatever> in production", I
> would still work out of paper and pencil.  No Oracle, no VisualAge, no
> VisualWorks, no Dolphin, no DB/2, no Windows, no Linux, no MS-Office, no
> OpenOffice, no MySQL, no Apache, no whateveryoucouldthinkabout...
>
> number of images * number of VMs * number of OSes = A LOT TO COVER AND TEST.
>
> Let's all keep that in mind...
>
> Besides, I still haven't found a single piece of software without a bug!  Pharo
> ain't different.
>
> Gentlemen, back to your class browsers and let's make this thing even better!

You realize the irony of asking people to write more code when they
report that the SCM just broke on them?

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Igor Stasenko
In reply to this post by Philippe Marschall-2
On 20 July 2011 14:42, Philippe Marschall
<[hidden email]> wrote:

> On 07/20/2011 09:00 AM, Serge Stinckwich wrote:
>> On Wed, Jul 20, 2011 at 1:36 PM, Philippe Marschall
>> <[hidden email]> wrote:
>>> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>>>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>>>
>>>> UUID>>#primMakeUUID
>>>>       <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>>>       UUIDGenerator default generateBytes: self forVersion: 4.
>>>>
>>>> just comment the primitive call.
>>>
>>> Guys, srsly? Is this some kind of practical joke? You have been shipping
>>> with a known bug that has a trivial fix and eats peoples code? You are
>>> wondering why nobody takes you seriously and you don't have more users?
>>> You teach software engineering?
>>
>> Hum, you know like in most open-source software project, nothing
>> happens by magic, unfortunately.
>> Human ressources are very scarce as Pharo is a part-time project for
>> most of us. Maybe your problem will required some interactions between
>> VM guys and Pharoers. Not something that could be done in 5 minutes.
>>
>> Did you submit an issue in the bug tracker just to keep track of it ?
>> Did you package some patch that could be used more easily by people
>> who do the release ?
>>
>>> This is exactly the kind of shit that makes me want to never again use
>>> Pharo in production. This is the reason why I don't recommend Pharo to
>>> other people.
>>
>> If you use Pharo in production did you give money to support the project ?
>> Pharo is not supported by a company (not yet), so no commitments could
>> be done on the speed of the adoption of patches.
>> People are just doing their best to enhance the system. And if you
>> help them (by packaging patches that solve some problems), everyone
>> will win in the long term.
>
> And that is completely fine. But then you don't have to be surprised
> when people don't take you serious, you don't have more users and you
> don't have any enterprise penetration.
>
> To quote from the project page:
> "We want Pharo to be the obvious choice for professional development in
> an open-source Smalltalk."
>
> Pro tip: if you want to be the obvious choice for professional
> development don't eat peoples code.
>

Philippe, you are using Cog VMs which are under development.
Of course , we're all expecting that there is no regressions
introduced. But sometimes this happens.
This is normal for development process.
So, you discovered a bug, which needs to be fixed. But blaming pharo
for something, which we're not responsible for is a mistake.

You should know better who to blame. Since you using "cog r2462", why
you addressing your claims to Pharo instead of VM developers?
Pharo images run on top of different VMs, and depending which one you
using, you mileage could vary.

Well, maybe it wasn't clear to you. But keep in mind, depending on
what VM you using, you may have or not have bugs.

At the end of this week (i hope) i will set up a test runners for VMs
we're building, so we can automatically track regressions from change
to change,
including one you discovered.

Feel free to submit an additional test for UUID to prevent this
regression in a future. Something like:

size := ((1 to: 100) collect: [ :i |
       UUID new asString ]) asSet size

self assert: size = 100

and we will happily integrate it.

> Cheers
> Philippe


--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Igor Stasenko
In reply to this post by EstebanLM
On 20 July 2011 14:29, Esteban Lorenzano <[hidden email]> wrote:
> Hi Philippe,
> There is no need to be so dramatic :)
> it was not a *known* issue.
> Better: *I* knew it, because I found same problem last week. I thought it was a problem with my virtual machines, which is still not production released, just collecting issues -like this-, that's why I didn't ran to solve it. When you described the problem, I thought it was same bug... and that's why I started think it was a general UUID plugin bug...
> we are collecting this problems, and solving them as soon as we can...
>
> please, be a little patient, your feedback is very important to us.
>

Esteban, i think this bug is introduced after merging the plugin
codebase by Andreas (cog-->squeak trunk)

> cheers,
> Esteban
>
> El 20/07/2011, a las 3:36a.m., Philippe Marschall escribió:
>
>> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>>
>>> UUID>>#primMakeUUID
>>>      <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>>      UUIDGenerator default generateBytes: self forVersion: 4.
>>>
>>> just comment the primitive call.
>>
>> Guys, srsly? Is this some kind of practical joke? You have been shipping
>> with a known bug that has a trivial fix and eats peoples code? You are
>> wondering why nobody takes you seriously and you don't have more users?
>> You teach software engineering?
>>
>> This is exactly the kind of shit that makes me want to never again use
>> Pharo in production. This is the reason why I don't recommend Pharo to
>> other people.
>>
>> Cheers
>> Philippe
>>
>>
>
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Philippe Marschall-2
In reply to this post by Igor Stasenko
On 07/20/2011 04:14 PM, Igor Stasenko wrote:

> On 20 July 2011 14:42, Philippe Marschall
> <[hidden email]> wrote:
>> On 07/20/2011 09:00 AM, Serge Stinckwich wrote:
>>> On Wed, Jul 20, 2011 at 1:36 PM, Philippe Marschall
>>> <[hidden email]> wrote:
>>>> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>>>>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>>>>
>>>>> UUID>>#primMakeUUID
>>>>>       <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>>>>       UUIDGenerator default generateBytes: self forVersion: 4.
>>>>>
>>>>> just comment the primitive call.
>>>>
>>>> Guys, srsly? Is this some kind of practical joke? You have been shipping
>>>> with a known bug that has a trivial fix and eats peoples code? You are
>>>> wondering why nobody takes you seriously and you don't have more users?
>>>> You teach software engineering?
>>>
>>> Hum, you know like in most open-source software project, nothing
>>> happens by magic, unfortunately.
>>> Human ressources are very scarce as Pharo is a part-time project for
>>> most of us. Maybe your problem will required some interactions between
>>> VM guys and Pharoers. Not something that could be done in 5 minutes.
>>>
>>> Did you submit an issue in the bug tracker just to keep track of it ?
>>> Did you package some patch that could be used more easily by people
>>> who do the release ?
>>>
>>>> This is exactly the kind of shit that makes me want to never again use
>>>> Pharo in production. This is the reason why I don't recommend Pharo to
>>>> other people.
>>>
>>> If you use Pharo in production did you give money to support the project ?
>>> Pharo is not supported by a company (not yet), so no commitments could
>>> be done on the speed of the adoption of patches.
>>> People are just doing their best to enhance the system. And if you
>>> help them (by packaging patches that solve some problems), everyone
>>> will win in the long term.
>>
>> And that is completely fine. But then you don't have to be surprised
>> when people don't take you serious, you don't have more users and you
>> don't have any enterprise penetration.
>>
>> To quote from the project page:
>> "We want Pharo to be the obvious choice for professional development in
>> an open-source Smalltalk."
>>
>> Pro tip: if you want to be the obvious choice for professional
>> development don't eat peoples code.
>>
>
> Philippe, you are using Cog VMs which are under development.
> Of course , we're all expecting that there is no regressions
> introduced. But sometimes this happens.
> This is normal for development process.
> So, you discovered a bug, which needs to be fixed. But blaming pharo
> for something, which we're not responsible for is a mistake.
>
> You should know better who to blame. Since you using "cog r2462", why
> you addressing your claims to Pharo instead of VM developers?
> Pharo images run on top of different VMs, and depending which one you
> using, you mileage could vary.
>
> Well, maybe it wasn't clear to you. But keep in mind, depending on
> what VM you using, you may have or not have bugs.

So which WM do I have to use that when UUIDs don't work it's not my
fault because I didn't fix the code?

Cheers
Philippe


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

EstebanLM
In reply to this post by Igor Stasenko
Hi,
I already fixed this bug, on cocoa vm's (5 minutes ago).
I hope igor will check my changes and propagate them to unix/windows (it was, at least, present too on unix machines, but as I don't know which uuid library is correct for unix machines, I can not fix it myself)

Philippe... I know it is lame... but if you want to recover your packages, all I can think is to re-save packages with new vm (or with primitive call removed) as I previous suggested.
I'm sorry for the mess, I hope this is not drawing back the good energy all of us are putting in our projects.

cheers,
Esteban

El 20/07/2011, a las 11:20a.m., Igor Stasenko escribió:

> On 20 July 2011 14:29, Esteban Lorenzano <[hidden email]> wrote:
>> Hi Philippe,
>> There is no need to be so dramatic :)
>> it was not a *known* issue.
>> Better: *I* knew it, because I found same problem last week. I thought it was a problem with my virtual machines, which is still not production released, just collecting issues -like this-, that's why I didn't ran to solve it. When you described the problem, I thought it was same bug... and that's why I started think it was a general UUID plugin bug...
>> we are collecting this problems, and solving them as soon as we can...
>>
>> please, be a little patient, your feedback is very important to us.
>>
>
> Esteban, i think this bug is introduced after merging the plugin
> codebase by Andreas (cog-->squeak trunk)
>
>> cheers,
>> Esteban
>>
>> El 20/07/2011, a las 3:36a.m., Philippe Marschall escribió:
>>
>>> On 07/19/2011 09:41 PM, Esteban Lorenzano wrote:
>>>> yes... there is a problem in latest vm's and UUID generation (I don't know if it is present at any vm or just mines, but well...). For the moment, faster solution is by deactivating uuid primitive, at:
>>>>
>>>> UUID>>#primMakeUUID
>>>>      <primitive: 'primitiveMakeUUID' module: 'UUIDPlugin'>
>>>>      UUIDGenerator default generateBytes: self forVersion: 4.
>>>>
>>>> just comment the primitive call.
>>>
>>> Guys, srsly? Is this some kind of practical joke? You have been shipping
>>> with a known bug that has a trivial fix and eats peoples code? You are
>>> wondering why nobody takes you seriously and you don't have more users?
>>> You teach software engineering?
>>>
>>> This is exactly the kind of shit that makes me want to never again use
>>> Pharo in production. This is the reason why I don't recommend Pharo to
>>> other people.
>>>
>>> Cheers
>>> Philippe
>>>
>>>
>>
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>


Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Igor Stasenko
In reply to this post by Igor Stasenko
I changed the MakeUUID in sqUnixUUID.c to look like following:



int MakeUUID(char *location)
{
  uuid_t uuid;

#if defined(HAVE_UUIDGEN)
  uuidgen(&uuid, 1);
#elif defined(HAVE_UUID_GENERATE)
  uuid_generate(uuid);
#else
#error "No uuid function provided"
#endif

  memcpy((void *)location, (void *)&uuid, sizeof(uuid));
  return 1;
}


and during compiling cocoa vms it fails with error.
And before change the code was looking like following:

int MakeUUID(char *location)
{
  uuid_t uuid;

#if defined(HAVE_UUIDGEN)
  uuidgen(&uuid, 1);
#elif defined(HAVE_UUID_GENERATE)
  uuid_generate(uuid);
#endif

  memcpy((void *)location, (void *)&uuid, sizeof(uuid));
  return 1;
}

which means that if none HAVE_UUIDGEN or HAVE_UUID_GENERATE is
defined, then there is nothing got called
and memcpy then returns a random values on stack, copied from uuid to locaiton.

And first version of that file just contains :


int MakeUUID(char *location)
{
  uuid_t uuid;
  uuid_generate(uuid);
  memcpy((void *)location, (void *)&uuid, sizeof(uuid));
  return 1;
}

and then changed to:

#if defined(__NetBSD__)
  uuidgen(&uuid, 1);
#else
  uuid_generate(uuid);
#endif

and then changed to:

#if defined(HAVE_UUIDGEN)
  uuidgen(&uuid, 1);
#elif defined(HAVE_UUID_GENERATE)
  uuid_generate(uuid);
#endif

Blame:
Merge Levente's linux UUIDPlugin fix. Fix tickerSleepCycle decl in
heartbeat. Restore -O2 optimization for the interpreter.

Author: eliot
Date: 5 months ago
Commit: 757297f62c32eaf2af7f26ce66aa6499df776749



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

Igor Stasenko
Btw, Esteban
i wonder why you using sqUnixUUID.c in cocoa configs,
while MacOS config using sqMacUUID.c which using mac-specific function
to generate uuid.
See
Mac OS/plugins/UUIDPlugin/sqMacUUID.c

and apparently don't have the problem with defines.

--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: UUIDs not so unique

EstebanLM
In reply to this post by Igor Stasenko
he, we made same change... you are going to see a conflict in blessed sources :)

El 20/07/2011, a las 11:54a.m., Igor Stasenko escribió:

> I changed the MakeUUID in sqUnixUUID.c to look like following:
>
>
>
> int MakeUUID(char *location)
> {
>  uuid_t uuid;
>
> #if defined(HAVE_UUIDGEN)
>  uuidgen(&uuid, 1);
> #elif defined(HAVE_UUID_GENERATE)
>  uuid_generate(uuid);
> #else
> #error "No uuid function provided"
> #endif
>
>  memcpy((void *)location, (void *)&uuid, sizeof(uuid));
>  return 1;
> }
>
>
> and during compiling cocoa vms it fails with error.
> And before change the code was looking like following:
>
> int MakeUUID(char *location)
> {
>  uuid_t uuid;
>
> #if defined(HAVE_UUIDGEN)
>  uuidgen(&uuid, 1);
> #elif defined(HAVE_UUID_GENERATE)
>  uuid_generate(uuid);
> #endif
>
>  memcpy((void *)location, (void *)&uuid, sizeof(uuid));
>  return 1;
> }
>
> which means that if none HAVE_UUIDGEN or HAVE_UUID_GENERATE is
> defined, then there is nothing got called
> and memcpy then returns a random values on stack, copied from uuid to locaiton.
>
> And first version of that file just contains :
>
>
> int MakeUUID(char *location)
> {
>  uuid_t uuid;
>  uuid_generate(uuid);
>  memcpy((void *)location, (void *)&uuid, sizeof(uuid));
>  return 1;
> }
>
> and then changed to:
>
> #if defined(__NetBSD__)
>  uuidgen(&uuid, 1);
> #else
>  uuid_generate(uuid);
> #endif
>
> and then changed to:
>
> #if defined(HAVE_UUIDGEN)
>  uuidgen(&uuid, 1);
> #elif defined(HAVE_UUID_GENERATE)
>  uuid_generate(uuid);
> #endif
>
> Blame:
> Merge Levente's linux UUIDPlugin fix. Fix tickerSleepCycle decl in
> heartbeat. Restore -O2 optimization for the interpreter.
>
> Author: eliot
> Date: 5 months ago
> Commit: 757297f62c32eaf2af7f26ce66aa6499df776749
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>


12