Loading ...
Sorry, an error occurred while loading the content.
 

VM crashing, expected behavior?

Expand Messages
  • Tobias Pape
    Hi, Do you think that this code (message copy receiver: [ times delay: 300. benchmarks measurePerformance. ] Selector: value ) fork resume. should crash the
    Message 1 of 6 , Aug 14, 2012
      Hi,

      Do you think that this code

      (message copy receiver: [
      times delay: 300.
      benchmarks measurePerformance.
      ] Selector: 'value') fork resume.

      should crash the VM?

      Best
      -Tobias
    • David Ungar
      Must be a trick question. - David (from iPad, typos likely)
      Message 2 of 6 , Aug 14, 2012
        Must be a trick question. 

        - David (from iPad, typos likely)

        On Aug 14, 2012, at 7:16 AM, Tobias Pape <Das.Linux@...> wrote:

         

        Hi,

        Do you think that this code

        (message copy receiver: [
        times delay: 300.
        benchmarks measurePerformance.
        ] Selector: 'value') fork resume.

        should crash the VM?

        Best
        -Tobias

      • ungar@mac.com
        Self does not support non-lifo blocks. This should be an error, not a crash.
        Message 3 of 6 , Aug 14, 2012
          Self does not support non-lifo blocks. This should be an error, not a crash.


          On Aug 14, 2012, at 7:16 AM, Tobias Pape <Das.Linux@...> wrote:

           

          Hi,

          Do you think that this code

          (message copy receiver: [
          times delay: 300.
          benchmarks measurePerformance.
          ] Selector: 'value') fork resume.

          should crash the VM?

          Best
          -Tobias


        • Tobias Pape
          ... So, this is a non-lifo as it refers to times and benchmarks ? would [ | :myGlobals | myGlobals delay: 300. myGlobals measurePerformance. ] value:
          Message 4 of 6 , Aug 15, 2012
            Am 14.08.2012 um 23:15 schrieb ungar@...:

            > Self does not support non-lifo blocks. This should be an error, not a crash.
            >
            >
            > On Aug 14, 2012, at 7:16 AM, Tobias Pape <Das.Linux@...> wrote:
            >
            >> Hi,
            >>
            >> Do you think that this code
            >>
            >> (message copy receiver: [
            >> times delay: 300.
            >> benchmarks measurePerformance.
            >> ] Selector: 'value') fork resume.
            >>
            >> should crash the VM?

            So, this is a non-lifo as it refers to 'times' and 'benchmarks'?
            would

            [ | :myGlobals |
            myGlobals delay: 300.
            myGlobals measurePerformance.
            ] value: globals

            be non-lifo?

            Best
            -Tobias

            PS: what about re-introducing full block closures?
          • ungar@mac.com
            Looking at your original example, it seems clear to me that the process with the activation that creates the block finishes while the block is running. That s
            Message 5 of 6 , Aug 16, 2012
              Looking at your original example, it seems clear to me that the process with the activation that creates the block finishes
              while the block is running. That's why (I suspect) you get the crash.
              We check for *entering* a nonlifo block, but your example likely enters the block while its home is alive, then the delay
              gives the home time to go away.

              - David


              On Aug 15, 2012, at 2:50 AM, Tobias Pape <Das.Linux@...> wrote:

              >
              > Am 14.08.2012 um 23:15 schrieb ungar@...:
              >
              >> Self does not support non-lifo blocks. This should be an error, not a crash.
              >>
              >>
              >> On Aug 14, 2012, at 7:16 AM, Tobias Pape <Das.Linux@...> wrote:
              >>
              >>> Hi,
              >>>
              >>> Do you think that this code
              >>>
              >>> (message copy receiver: [
              >>> times delay: 300.
              >>> benchmarks measurePerformance.
              >>> ] Selector: 'value') fork resume.
              >>>
              >>> should crash the VM?
              >
              > So, this is a non-lifo as it refers to 'times' and 'benchmarks'?
              > would
              >
              > [ | :myGlobals |
              > myGlobals delay: 300.
              > myGlobals measurePerformance.
              > ] value: globals
              >
              > be non-lifo?
              >

              No, this should be OK.


              > Best
              > -Tobias
              >
              > PS: what about re-introducing full block closures?
              >
            • ungar@mac.com
              PS: Full block closures would be great, and we wanted to do it. But the students wanted to graduate, and Sun cancelled the project. I needed to pay the
              Message 6 of 6 , Aug 16, 2012
                PS: Full block closures would be great, and we wanted to do it. But the students wanted to graduate, and Sun cancelled the project.
                I needed to pay the mortgage.


                On Aug 16, 2012, at 5:29 PM, ungar@... wrote:

                 

                Looking at your original example, it seems clear to me that the process with the activation that creates the block finishes
                while the block is running. That's why (I suspect) you get the crash.
                We check for *entering* a nonlifo block, but your example likely enters the block while its home is alive, then the delay
                gives the home time to go away.

                - David

                On Aug 15, 2012, at 2:50 AM, Tobias Pape <Das.Linux@...> wrote:

                >
                > Am 14.08.2012 um 23:15 schrieb ungar@...:
                >
                >> Self does not support non-lifo blocks. This should be an error, not a crash.
                >>
                >>
                >> On Aug 14, 2012, at 7:16 AM, Tobias Pape <Das.Linux@...> wrote:
                >>
                >>> Hi,
                >>>
                >>> Do you think that this code
                >>>
                >>> (message copy receiver: [
                >>> times delay: 300.
                >>> benchmarks measurePerformance.
                >>> ] Selector: 'value') fork resume.
                >>>
                >>> should crash the VM?
                >
                > So, this is a non-lifo as it refers to 'times' and 'benchmarks'?
                > would
                >
                > [ | :myGlobals |
                > myGlobals delay: 300.
                > myGlobals measurePerformance.
                > ] value: globals
                >
                > be non-lifo?
                >

                No, this should be OK.

                > Best
                > -Tobias
                >
                > PS: what about re-introducing full block closures?
                >


              Your message has been successfully submitted and would be delivered to recipients shortly.